日本語キーボードドライバで英語配列を使う【keyhac 編】


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"

  1. 英語配列化との共存がうまく行かない。 
  2. 例えば、CTRL + HBackspace に割り当てているのにもかかわらず、Firefox で CTRL + H を押すと履歴が開いてしまう(ことがある)。 

コメントを残す