Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am used to typing in the "Programmer Dvorak" keyboard layout. To be able to install it, you need administrative rights, making it impossible for me to use it at school. My school runs an XP-enterprise network so I thought that there should be a way to install the layout to my roaming profile, which should not require Administrative rights and would allow me to use this layout, however this has not been the case.

I tried to ask IT to install it for me, but they refused because they deemed it unnecessary software.

I can compile the source code into the dll, but I don't know if it is possible to tell windows to use it as a layout, and if so how. Does anyone know?

share|improve this question
    
Ask the admin to install it for you ? –  Sathya Nov 2 '10 at 22:35
    
@Sathya Right, forgot to add that part, thanks. –  Ramon Zarazua Nov 2 '10 at 22:47
add comment

3 Answers 3

up vote 12 down vote accepted

It seems that someone having the same problem worked around it using a Windows compiled Autohotkey script. It's a portable application you can bring with you on a thumbdrive, and you should be able to just plug it in and start it up whenever you log on, even with restricted access.

However, there isn't a layout for programmer dvorak, so you would have to create your own. I think this involves text editing the included Colemac layout. Why it doesn't use a standard layout format is beyond me.

But if you do make your own Programmer Dvorak layout for that program, please upload it here. People to follow will be happy to avoid this annoying journey.


Update

I've solved our problem! After a couple hours struggling with the sparse documentation for the excellent portable keyboard layout, I managed to cobble together a programmer dvorak configuration file. The image isn't correct, but most importantly typing works perfectly, and everything is where you expect it to be.

Installation Instructions

Fairly simple.

  1. Download PKL and put it on a flash drive.

  2. Download this layout.ini file -- Note, I'm going to paste this at bottom of post, since I guess you can't upload files on this site?

  3. Replace "Portable Keyboard Layout\layouts\colemak\layout.ini"

  4. Start "Portable Keyboard Layout\pkl.exe" whenever you want to use Programmer Dvorak.

For the interested, I used the Microsoft Keyboard Layout Creator 1.4 and a klc2ini perl script (converts output of MSKLC to a format usable by PKL).


layout.ini file -- just paste this into the colemak layout.ini file, replacing everything in it.

Note: I'm not sure what the deadkey section is; the script produced a bunch of errors. But it works, so I'm not poking it.

EDIT: I've hosted the file here, as I've had trouble with copying the below text. Might be some StackOverflow formatting thing.

;
; 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 ;  -> ༤
share|improve this answer
add comment

I agree that installing an alternative keyboard layout doesn't seems a big issue, but if they accept your request they'll have to accept the requests of the rest of users, and there is a good chance that some of then are morons ("hey, he got his keyboard, why I can't install Bittorrent?"),

How do you figure that if they agree to some reasonable requests it will lead to them being forced to agree to any requests? Think a tiny moment here - same rules for everyone does not mean that either you agree to all requests or you deny them all. That's just stupid...

Real life example from school where I was and where administration apparently knew how to think: They blocked all outgoing SSH connections because of abuse - I however had a good reason to request it being opened for "my" computer when using my credentials. They agreed - and no, nobody was demanding to get bittorrent.

The whole point of having administrator and limited accounts is preventing users from modify the system configuration.

Preventing potentially harmful actions done without their knowledge that is. They still can, and especially in school they really should, use their brain and consider requests. I made quite a few requests in my three years in that school - some of them they agreed to, some not - and in general I always held those administrators good at their job.

share|improve this answer
add comment

If you have a limited account and the installation program need access to system folders and/or the LOCAL_MACHINE part of the registry, you can't install it, period. The whole point of having administrator and limited accounts is preventing users from modify the system configuration.

I agree that installing an alternative keyboard layout doesn't seems a big issue, but if they accept your request they'll have to accept the requests of the rest of users, and there is a good chance that some of then are morons ("hey, he got his keyboard, why I can't install Bittorrent?"),

Also, one of the extra programs could break the system, specially if you install a driver (when I first installed Windows 2000 several years ago the mouse driver make it bluescreen and I had to uninstall it from safe mode).

share|improve this answer
    
Well it seems that that will be the end of that then, oh well I'll just have to live with it. Thank you. –  Ramon Zarazua Nov 5 '10 at 0:29
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.