Microsoft Keyboard Remapping/Hack
If found this perfect comment on how to remap the keys on a Microsoft keyboard which was posted in a comment by Martin Hennings on this blog:
http://paininthetech.com/hack_the_microsoft_natural_4000_keyboard
The comment is:
I’m using a natural ergonomic 4000 right now and loving it!
Now I got the taste of hacking, so I’d like to give away a few neat tricks.
The types in the commands.xml as in
Type=”1”
have these meanings:
0 disabled
1 wParam follows
5 KeySeq follows
6 Activator follows
and
… what …
<C104 Type=”2″ lParam=”0×05″ />
<C401 Type=”3″ wParam=”0×00002″ />
<C104 Type=”4″ wParam=”0×2″ lParam=”0×01711″ />
<C1003 Type=”7″ Subtype=”0″ />
<C1003 Type=”7″ Subtype=”3″ wParam=”0×01672″ />
<C1003 Type=”7″ Subtype=”4″ wParam=”0×2″ lParam=”0×01672″ />
… ever …
maybe I’ll figure them out, too, some time…
As for the wParam, please note the command to registry hacks in the next post…
These are the keycodes I have figured out so far:
(german keyboard layout “qwertz”)
back C100
forward C101
zoom up C319
zoom down C320
function keys with F-Lock off: (with F-Lock on they serve as regular F-keys)
F1 C302
F2 C203
F3 C204
F4 C307
F5 C308
F6 C309
F7 C900
F8 C901
F9 C902
who knows F10? “spell check”?
F11 C311
F12 C310
not sure:
search C104 or C315
home C106
The ones I haven’t figured out yet: (most of them are probably not even on the natural ergonomic 4000)
?? <C103 Type=”5″ KeySeq=”escape” />
?? <C300 Type=”5″ KeySeq=”enter” />
?? <C1101 Type=”6″ Activator=”HorizontalScroll” />
?? <C1003 Type=”7″ Subtype=”0″ />
?? <C204 Type=”5″ KeySeq=”ctrl y” />
?? <C105 Type=”6″ Activator=”AOLBrowserFavorites” />
and some more…
These are really strange:
<Send1 Type=”1″ wParam=”0×07E95″ />
<Send2 Type=”1″ wParam=”0×07E96″ />
<ForwardMail1 Type=”1″ wParam=”0×07E86″ />
<ForwardMail2 Type=”1″ wParam=”0×07E8D” />
<ForwardMail3 Type=”1″ wParam=”0×07E8E” />
What are they for?
me using XP Pro I changed the commands.xml a bit, like for notepad:
<Application UniqueName="Notepad_WinXP" AppName="Notepad">
<C315 Type=”1″ wParam=”0×10015″ />
<C307 Type=”1″ wParam=”0×10001″ />
<C308 Type=”1″ wParam=”0×10002″ />
<C309 Type=”5″ KeySeq=”alt F4″ />
<C311 Type=”1″ wParam=”0×10003″ />
<C310 Type=”1″ wParam=”0×10006″ />
<C204 Type=”5″ KeySeq=”ctrl z” />
<C401 Type=”0″ />
<C100 Type=”5″ KeySeq=”pageup” />
<C101 Type=”5″ KeySeq=”pagedown” />
<C319 Type=”6″ Activator=”ScrollUp” />
<C320 Type=”6″ Activator=”ScrollDown” />
</Application>
This means back and forward keys toggle PageUp and PageDown, while the zoom button scrolls.
As for what the
<C307 Type="1" wParam="0x17c25" />
do, I’m still not sure. They toggle some internal commands within the programs, but until now I couldn’t change them so they’d so anything useful. Better stick to the keyboard shortcuts, I guess.
some important KeySeq-codes:
alt ctrl shift uparrow downarrow leftarrow rightarrow pageup pagedown backspace space add subtract + - escape break home end |
The pipe sign “|” lets you specify keystroke series like pressing “alt f” and then “s” for “file” - “save” by notating: “alt f | s”. To do a ‘copy all’ per “ctrl a” “ctrl c” you need to write “ctrl a | ctrl c”. Although it seems that itype.exe accepts a max. of three piped commands.
At least this didn’t work out in firefox: “ctrl l | ctrl c | ctrl t | ctrl v | enter” for ‘duplicate tab’.
“alt home” works, at least.
So far for now, have fun hacking!
btw, please excuse my english, as I am from Germany…
Comments(2)
