在 Windows 中無需成為管理員即可使用自訂鍵盤佈局

在 Windows 中無需成為管理員即可使用自訂鍵盤佈局

我習慣於輸入“程式設計師德沃夏克”鍵盤佈局。為了能夠安裝它,你需要管理權限,這使得我無法在學校使用它。我的學校運行 XP 企業網絡,因此我認為應該有一種方法可以將佈局安裝到我的漫遊設定檔中,這不需要管理權限,並且允許我使用此佈局,但事實並非如此。

我試圖要求 IT 部門為我安裝它,但他們拒絕了,因為他們認為這是不必要的軟體。

我可以將原始程式碼編譯到 dll 中,但我不知道是否可以告訴 Windows 將其用作佈局,如果可以的話如何實現。有人知道嗎?

答案1

似乎有人遇到同樣的問題,使用 Windows 解決了這個問題編譯的 Autohotkey 腳本。它是一個便攜式應用程序,您可以通過拇指驅動器隨身攜帶,並且您應該能夠在登錄時將其插入並啟動它,即使訪問權限受到限制。

但是,程式設計師 dvorak 沒有佈局,因此您必須建立自己的佈局。我認為這涉及文字編輯包含的 Colemac 佈局。為什麼它不使用標準佈局格式超出了我的範圍。

但如果您確實為該程式製作了自己的程式設計師德沃夏克佈局,請在此處上傳。跟隨的人會很高興避免這個煩人的旅程。


更新

我已經解決了我們的問題!經過幾個小時的努力,為優秀的稀疏文件而奮鬥便攜式鍵盤佈局,我設法拼湊了一個程式設計師 dvorak 設定檔。圖像不正確,但最重要的是打字工作完美,一切都在您期望的位置。

安裝說明

相當簡單。

  1. 下載 PKL 並將其放在閃存驅動器上。

  2. 下載這個layout.ini檔案-注意,我要把它貼到貼文的底部,因為我猜你不能在這個網站上傳檔案?

  3. 替換“便攜式鍵盤佈局\layouts\colemak\layout.ini”

  4. 每當您想使用 Programmer Dvorak 時,啟動「Portable Keyboard Layout\pkl.exe」。

對於有興趣的人,我使用了微軟鍵盤佈局創建器 1.4和一個klc2ini Perl 腳本(將 MSKLC 的輸出轉換為 PKL 可用的格式)。


佈局.ini 文件--只需將其貼到 colemak layout.ini 檔案中,替換其中的所有內容。

注意:我不確定死鍵部分是什麼;該腳本產生了一堆錯誤。但它確實有效,所以我不會戳它。

編輯:我已託管該文件這裡,因為我在複製下面的文字時遇到了麻煩。可能是一些 StackOverflow 格式化問題。

;
; Keyboard Layout definition for
; Portable Keyboard Layout
; http://pkl.sourceforge.net
;

[informations]
layoutname           = United States-Dvorak-Programmer
layoutcode           = DvrkProg
localeid             = 00000409

copyright            = Public Domain
company              = Free
homepage             = http://pkl.sourceforge.net/
version              = 1.0

generated_from       = DvrkProg.klc
modified_after_generate = no


[global]
; extend_key = CapsLock
shiftstates = 0:1:2
img_width = 296
img_height = 102


[fingers]
row1 = 1123445567888
row2 = 1123445567888
row3 = 1123445567888
row4 = 11234455678

[layout]
;scan = VK  CapStat 0Norm   1Sh 2Ctrl   Caps    CapsSh
SC002 = 1   0   &   %   --  ; QWERTY 1!
SC003 = 2   0   [   7   --  ; QWERTY 2@
SC004 = 3   0   {   5   --  ; QWERTY 3#
SC005 = 4   0   }   3   --  ; QWERTY 4$
SC006 = 5   0   (   1   --  ; QWERTY 5%
SC007 = 6   0   =   9   --  ; QWERTY 6^
SC008 = 7   0   *   0   --  ; QWERTY 7&
SC009 = 8   0   )   2   --  ; QWERTY 8*
SC00a = 9   0   +   4   --  ; QWERTY 9(
SC00b = 0   0   ]   6   --  ; QWERTY 0)
SC00c = OEM_4   0   !   8   --  ; QWERTY -_
SC00d = OEM_6   0   #   `   --  ; QWERTY =+
SC010 = OEM_7   0   ;   :   --  ; QWERTY qQ
SC011 = OEM_COMMA   0   ,   <   --  ; QWERTY wW
SC012 = OEM_PERIOD  0   .   >   --  ; QWERTY eE
SC013 = P   1   p   P   --  ; QWERTY rR
SC014 = Y   1   y   Y   --  ; QWERTY tT
SC015 = F   1   f   F   --  ; QWERTY yY
SC016 = G   1   g   G   --  ; QWERTY uU
SC017 = C   1   c   C   --  ; QWERTY iI
SC018 = R   1   r   R   --  ; QWERTY oO
SC019 = L   1   l   L   --  ; QWERTY pP
SC01a = OEM_2   0   /   ?   --  ; QWERTY [{
SC01b = OEM_PLUS    0   @   ^   --  ; QWERTY ]}
SC01e = A   1   a   A   --  ; QWERTY aA
SC01f = O   1   o   O   --  ; QWERTY sS
SC020 = E   1   e   E   --  ; QWERTY dD
SC021 = U   1   u   U   --  ; QWERTY fF
SC022 = I   1   i   I   --  ; QWERTY gG
SC023 = D   1   d   D   --  ; QWERTY hH
SC024 = H   1   h   H   --  ; QWERTY jJ
SC025 = T   1   t   T   --  ; QWERTY kK
SC026 = N   1   n   N   --  ; QWERTY lL
SC027 = S   1   s   S   --  ; QWERTY ;:
SC028 = OEM_MINUS   0   -   _   --  ; QWERTY '"
SC029 = OEM_3   0   $   ~   --  ; QWERTY `~
SC02b = OEM_5   0   \   |   --  ; QWERTY \|
SC02c = OEM_1   0   '   "   --  ; QWERTY zZ
SC02d = Q   1   q   Q   --  ; QWERTY xX
SC02e = J   1   j   J   --  ; QWERTY cC
SC02f = K   1   k   K   --  ; QWERTY vV
SC030 = X   1   x   X   --  ; QWERTY bB
SC031 = B   1   b   B   --  ; QWERTY nN
SC032 = M   1   m   M   --  ; QWERTY mM
SC033 = W   1   w   W   --  ; QWERTY ,<
SC034 = V   1   v   V   --  ; QWERTY .>
SC035 = Z   1   z   Z   --  ; QWERTY /?
SC039 = SPACE   0   ={Space}    ={Space}    ={Space}    ; QWERTY Space
SC056 = OEM_102 0   \   |       ; QWERTY OEM_102
SC053 = DECIMAL 0   .   .   --  ; QWERTY Decimal in Numpad







[deadkey1]
0    =    0 ;  
1    =   14 ;  -> 
14   = 2988 ;  -> ஬
15   =    0 ;  ->  
28   =   14 ;  -> 
29   =   12 ;  -> 
42   =    0 ; * ->  
54   =    0 ; 6 ->  
55   =    0 ; 7 ->  
56   =   10 ; 8 -> 

57   =    0 ; 9 ->  
58   =    0 ; : ->  
59   =  241 ; ; -> ñ
60   =  242 ; < -> ò
61   =  243 ; = -> ó
62   =  244 ; > -> ô
63   =  245 ; ? -> õ
64   =  246 ; @ -> ö
65   =  247 ; A -> ÷
66   =  248 ; B -> ø
67   =  249 ; C -> ù
68   = 3856 ; D -> ༐
69   =    0 ; E ->  
70   =    0 ; F ->  
71   =    0 ; G ->  
72   =    0 ; H ->  
73   =    0 ; I ->  
74   =    0 ; J ->  
75   =    0 ; K ->  
76   =    0 ; L ->  
77   =    0 ; M ->  
78   =    0 ; N ->  
79   =    0 ; O ->  
80   =    0 ; P ->  
81   =    0 ; Q ->  
82   =    0 ; R ->  
83   =    0 ; S ->  
84   =    0 ; T ->  
87   = 3857 ; W -> ༑
88   = 3858 ; X -> ༒
124  = 3859 ; | -> ༓
125  = 3860 ; } -> ༔
126  = 3861 ; ~ -> ༕
127  = 3862 ;  -> ༖
128  = 3863 ;  -> ༗
129  = 3864 ;  -> ༘
130  = 3865 ;  -> ༙
131  = 3872 ;  -> ༠
132  = 3873 ;  -> ༡
133  = 3874 ;  -> ༢
134  = 3875 ;  -> ༣
135  = 3876 ;  -> ༤

答案2

如果您的帳戶有限,且安裝程式需要存取系統資料夾和/或登錄的 LOCAL_MACHINE 部分,那麼您將無法安裝它。擁有管理員和受限帳戶的全部目的是防止使用者修改系統配置。

我同意安裝替代鍵盤佈局似乎不是一個大問題,但是如果他們接受您的請求,他們將不得不接受其他用戶的請求,而且其中很可能有些人是白痴(“嘿,他拿到了鍵盤,為什麼我不能安裝 Bittorrent?”),

另外,其中一個額外的程式可能會破壞系統,特別是如果您安裝了驅動程式(幾年前我第一次安裝 Windows 2000 時,滑鼠驅動程式讓它藍屏,我不得不從安全模式卸載它)。

答案3

回答是因為我沒有足夠的聲譽來發表評論。

這是一個 github 儲存庫,其中的設定檔是從 JWill 的答案中抄來的。

https://github.com/renxida/pkl-dvp

一切都已準備就緒,可以開始使用了。只需將整個內容下載為 zip 檔案並執行 pkl.exe。

將不勝感激拉請求。

相關內容