「Windows で英語キーボードを使いたい!」では Autohotkey を使って、日本語キーボードドライバを使いながら英語配列にする技を書いた。
今度は keyhac というソフトを見つけたので使ってみた。Autohotkey でうまく動かなかった SandS 1 や、XKeymacs であったいくつかの問題2もこれで解決したっぽい。
まずは手始めに、使っている HHK を日本語キーボードドライバのまま、英語配列化する設定ファイルを書いた。他のキーボードで使う場合はキーコード等をいじる必要があるかもしれない。
Python という言語は初めて使ったけどおもしろいねえ。簡潔で、初級者でも内容がすぐわかるという取っつきやすさは Perl と正反対だ。早速本を買ってきたので少し勉強してみよう。
config.py
from keyhac import *
def configure( km ):
km_for_hhk( km )
# 英語配列化(HHK用)
def km_for_hhk( km ):
kmg = km.defineWindowKeymap()
# S-2 => @
kmg[ "S-2" ] = "(192)"
# S-6 => ^
kmg[ "S-6" ] = "(222)"
# S-7 => &
kmg[ "S-7" ] = "S-6"
# S-8 => *
kmg[ "S-8" ] = "S-(186)"
# S-9 => (
kmg[ "S-9" ] = "S-8"
# S-0 => )
kmg[ "S-0" ] = "S-9"
# S-- => _
kmg[ "S-Minus" ] = "S-(226)"
# ^ => =
kmg[ "(222)" ] = "S-Minus"
# S-^ => +
kmg[ "S-(222)" ] = "S-Plus"
# [ => \
# S-[ => |
km.replaceKey( "(221)", "(220)" )
# 半角/全角 => `
kmg[ "(243)" ] = "S-(192)"
kmg[ "(244)" ] = "S-(192)"
# S-半角/全角 => ~
kmg[ "S-(243)" ] = "S-(222)"
kmg[ "S-(244)" ] = "S-(222)"
# @ => [
# S-@ => {
km.replaceKey( "(192)", "(219)" )
# [ => ]
# S-[ => }
km.replaceKey( "(219)", "(221)" )
# S-; => :
kmg[ "S-Plus" ] = "(186)"
# : => '
kmg[ "(186)" ] = "S-7"
# S-: => "
kmg[ "S-(186)" ] = "S-2"
