kinesisキーボードがUS配列なのにJIS配列だと思われて認識される
Windows7や8で確認。
Kinesis Advantage MPC USB Contoured Ergonomic Keyboard がJISキーボードとしてJISキーボードとして認識される。
この場合、そのまま使おうとするとキー印字通りにキーが打てないし、キーが足りずそもそも入押すことができないキー(バックスラッシュ、アンダースコア)が存在する。
キー印字はともかく、押せないキーがいると仕事にならない&お試しで貸すとき、レジストリをいじるのがつらいので、AutoHotKeyを使って、とりあえず印字通りにキータイプできるrimapスクリプトを用意しました。
なるべく、キー印字=スクリプトの検知対象となるようにしています。
が、本当はスキャンコードのほうがわかりやすいかもしれない…。
スクリプト
$+2::Send,{@}
$+6::Send,{^}
$+7::Send,{&}
$+8::Send,{*}
$+9::Send,{(}
$+0::Send,{)}
$^::Send,{=}
$~::Send,{+}
$+-::Send,{_}
$]::\
$+]::\
$+;::Send,{vkBAsc028}
$@::[
$[::Send,{]}
$+@::Send,{{}
$+[::Send,{}}
$vkBAsc028::Send,{'}
$+vkBAsc028::2
$+vkBBsc027::Send,{vkBAsc028}
$sc056::`
$+sc056::Send,{~}
memo
$X…最初に押されたXキーを指す
Send,…リマップ時に「+(シフトキー)の入力状態を無効にする」。Sendする場合、厳密にはリマップとは呼ばずホットキーと呼ばれるようだ。
sc056…kinesis左下のバッククォート(`)のスキャンコード。少なくともWindowsOSでJIS認識されているとキー押下に対応するマップがないので、スキャンコード扱いとした。
またA::Bは、半角スペースを行中に入れないこと。
併せて読みたい
qiitaですでにまとめられているkinesis初期設定記事
http://qiita.com/hanabokuro@github/items/0dd0b52b9b97d7c063c5
そのほか
小指Ctrlのホットキーが指の関節的に辛くて、
ハードウェアレベルで構造が違うkinesisで買ってみたけど…。
AutoHotKeyでリマップしちゃうなら、無変換キー→Ctrl修飾キー化でも結果的によかったんじゃないかなって思いました。