在 Windows 中无需管理员身份即可使用自定义键盘布局

在 Windows 中无需管理员身份即可使用自定义键盘布局

我习惯使用“Programmer Dvorak”键盘布局打字。要安装它,您需要管理权限,这使我无法在学校使用它。我的学校运行 XP 企业网络,因此我认为应该有一种方法可以将布局安装到我的漫游配置文件中,这不需要管理权限,并允许我使用此布局,但事实并非如此。

我试图让 IT 部门帮我安装它,但他们拒绝了,因为他们认为这是不必要的软件。

我可以将源代码编译到 dll 中,但我不知道是否可以告诉 Windows 将其用作布局,如果可以,该怎么做。有人知道吗?

答案1

似乎有人遇到了同样的问题,并使用 Windows 解决了该问题编译的 Autohotkey 脚本。它是一款便携式应用程序,您可以通过拇指驱动器随身携带,并且您应该能够在登录时将其插入并启动它,即使访问受到限制。

但是,没有针对程序员 Dvorak 的布局,所以您必须自己创建。我认为这涉及对随附的 Colemac 布局进行文本编辑。我无法理解为什么它不使用标准布局格式。

但如果您确实为该程序制作了自己的 Programmer Dvorak 布局,请将其上传到这里。关注的人会很高兴避免这种烦人的旅程。


更新

我解决了我们的问题!经过几个小时的努力,终于找到了优秀的便携式键盘布局,我设法拼凑了一个程序员 dvorak 配置文件。图像不正确,但最重要的是打字很完美,一切都在你期望的位置。

安装说明

相当简单。

  1. 下载 PKL 并将其放在闪存驱动器上。

  2. 下载此layout.ini 文件——请注意,我将把它粘贴到帖子的底部,因为我猜您无法在此网站上上传文件?

  3. 替换“便携式键盘布局\layouts\colemak\layout.ini”

  4. 无论何时想要使用 Dvorak 程序员,请启动“Portable Keyboard Layout\pkl.exe”。

对于感兴趣的人,我使用了Microsoft 键盘布局创建器 1.4和一个klc2ini perl 脚本(将 MSKLC 的输出转换为 PKL 可用的格式)。


layout.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 repo,其中的配置文件取自 JWill 的答案。

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

一切已设置完毕,随时可用。只需将整个程序下载为 zip 文件并运行 pkl.exe 即可。

非常感激请求。

相关内容