using_autohotkey_to_map_keys_on_the_amtelco_kb163_unified_keyboard
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | using_autohotkey_to_map_keys_on_the_amtelco_kb163_unified_keyboard [2011/05/31 18:13] (current) – created tkbletsc | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Using AutoHotKey to map keys on the Amtelco KB163 Unified Keyboard ====== | ||
+ | |||
+ | The Amtelco KB163 Unified Keyboard is a giant keyboard with a ton of extended function keys we want to hook, and it looks something like this: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Yes, it looks old, but they' | ||
+ | |||
+ | ===== Hooking the USB version ===== | ||
+ | |||
+ | I wanted to enable all those extra keys with AutoHotKey. | ||
+ | |||
+ | F13 & 9::MsgBox You pressed the "web browser" | ||
+ | |||
+ | Unfortunately, | ||
+ | |||
+ | ===== Hooking the AT version ===== | ||
+ | |||
+ | Because of the problems with the USB version, I turned to the AT version, which can be turned into PS/2 with an adapter (which can then be turned into USB with another adapter). | ||
+ | - SC062 up | ||
+ | - y down | ||
+ | When you release " | ||
+ | - SC062 up | ||
+ | - y up | ||
+ | So SC062 never actually goes down -- this is totally unlike any normal device, so AutoHotKey can't | ||
+ | hook it in one line by default. | ||
+ | of whether the SC062 up corresponds to key down or key up, then we hook the bare key | ||
+ | conditionally. | ||
+ | |||
+ | < | ||
+ | ; AutoHotKey handler for the AT version of the Amtelco KB163 Unified Keyboard | ||
+ | ; (A giant keyboard with a ton of extended function keys we want to hook) | ||
+ | ; | ||
+ | ; This keyboard sends a special scan-code 062 **UP** signal before each extended | ||
+ | ; key signal (both down and up). So when you depress " | ||
+ | ; 1. SC062 up | ||
+ | ; 2. y down | ||
+ | ; When you release " | ||
+ | ; 1. SC062 up | ||
+ | ; 2. y up | ||
+ | ; So SC062 never goes down -- this is totally unlike any normal device, so AHK can't | ||
+ | ; hook it in one line by default. | ||
+ | ; of whether the SC062 up corresponds to key down or key up, then we hook the bare key | ||
+ | ; conditionally. | ||
+ | |||
+ | ; Reset the SC062 tracker every second in case of a strange stuck key or whatever | ||
+ | SetTimer, ResetBrain, 1000 | ||
+ | ResetBrain: | ||
+ | x:=0 | ||
+ | return | ||
+ | |||
+ | ; Hook the SC062 itself, setting x=1 for keydown and x=0 for keyup | ||
+ | *SC062 up::x:=!x | ||
+ | |||
+ | ; The following hooks are only triggered for the extended keys using their " | ||
+ | ; To get more, just press the button without it being hooked, and you'll type the hook character | ||
+ | #if x | ||
+ | j::Edit | ||
+ | ':: | ||
+ | #if | ||
+ | </ | ||
+ | |||
+ | ===== Conclusion ===== | ||
+ | |||
+ | With this, it is possible to hook any extended function key on either model! | ||
+ | |||
+ | (Unfortunately, |
using_autohotkey_to_map_keys_on_the_amtelco_kb163_unified_keyboard.txt · Last modified: 2011/05/31 18:13 by tkbletsc