squeezeにて、/etc/default/keyboardの設定で全角半角キーとESCを入れ替えようと思い、ctrl:swapcapsの真似をして、下記のように変更しました。
(下記の状態で全角半角はESCになったのですが、ESCはESCのままです。)
よく分からないのが、/etc/init.d/console-setup restart
をしても、再起動をしても、変更が反映されなかったのに、一度、/etc/default/keyboardのXKBOPTIONSを
XKBOPTIONS="ctrl:swapcaps"
として/etc/init.d/console-setup restart
を行い、再度
XKBOPTIONS="ctrl:swapzenkaku"
と変更して/etc/init.d/console-setup restart
を行うと全角半角キーがESCに置き換わった点です。
ちゃんとしたドキュメントを探せずに、手探りで変更しましたので、そもそものアプローチが間違っているのかもしれませんが、参考文書等でもかまいませんので教えていただければと思います。
/etc/default/keyboardの変更箇所
XKBOPTIONS="ctrl:swapzenkaku"
/usr/share/X11/xkb/以下の変更箇所
(xkbold/がインストール直後のもの。実際に変更したのはbase base.xml base.lst、他はリンクになってました。)
diff -r xkbold/rules/base /usr/share/X11/xkb/rules/base
1077a1078
> ctrl:swapzenkaku = +ctrl(swapzenkaku)
diff -r xkbold/rules/base.lst /usr/share/X11/xkb/rules/base.lst
666a667
> ctrl:swapzenkaku Swap Zenkaku_Hankaku and ESC
diff -r xkbold/rules/base.xml /usr/share/X11/xkb/rules/base.xml
4629a4630,4635
> <name>ctrl:swapzenkaku</name>
> <description>Swap Zenkaku_Hankaku and ESC</description>
> </configItem>
> </option>
> <option>
> <configItem>
5170c5176
< </xkbConfigRegistry>
\ No newline at end of file
---
> </xkbConfigRegistry>
diff -r xkbold/rules/xfree86 /usr/share/X11/xkb/rules/xfree86
1077a1078
> ctrl:swapzenkaku = +ctrl(swapzenkaku)
diff -r xkbold/rules/xfree86.lst /usr/share/X11/xkb/rules/xfree86.lst
666a667
> ctrl:swapzenkaku Swap Zenkaku_Hankaku and ESC
diff -r xkbold/rules/xfree86.xml /usr/share/X11/xkb/rules/xfree86.xml
4629a4630,4635
> <name>ctrl:swapzenkaku</name>
> <description>Swap Zenkaku_Hankaku and ESC</description>
> </configItem>
> </option>
> <option>
> <configItem>
5170c5176
< </xkbConfigRegistry>
\ No newline at end of file
---
> </xkbConfigRegistry>
diff -r xkbold/rules/xorg /usr/share/X11/xkb/rules/xorg
1077a1078
> ctrl:swapzenkaku = +ctrl(swapzenkaku)
diff -r xkbold/rules/xorg.lst /usr/share/X11/xkb/rules/xorg.lst
666a667
> ctrl:swapzenkaku Swap Zenkaku_Hankaku and ESC
diff -r xkbold/rules/xorg.xml /usr/share/X11/xkb/rules/xorg.xml
4629a4630,4635
> <name>ctrl:swapzenkaku</name>
> <description>Swap Zenkaku_Hankaku and ESC</description>
> </configItem>
> </option>
> <option>
> <configItem>
5170c5176
< </xkbConfigRegistry>
\ No newline at end of file
---
> </xkbConfigRegistry>
diff -r xkbold/symbols/ctrl /usr/share/X11/xkb/symbols/ctrl
18a19,24
> partial modifier_keys
> xkb_symbols "swapzenkaku" {
> replace key <HZTG> { [ Escape ] };
> replace key <ESC> { [ Zenkaku_Hankaku ] };
> };
>
>/etc/init.d/console-setup restart
>をしても、再起動をしても、変更が反映されなかったのに、一度、/etc/default/keyboardのXKBOPTIONSを
>XKBOPTIONS="ctrl:swapcaps"
>として/etc/init.d/console-setup restart
>を行い、再度
>XKBOPTIONS="ctrl:swapzenkaku"
>と変更して/etc/init.d/console-setup restart
>を行うと全角半角キーがESCに置き換わった点です。
上記については、/etc/default/keyboardが更新されていないと、/etc/init.d/console-setupが呼び出すsetupconが、キーマップのキャッシュを再作成しないようだということが分かり、解決いたしました。(・・・あってますでしょうか?)
また、半角全角をESCに置き換えるのは下記のようにしてできました。(/usr/share/X11/xkb/symbols/ctrl内に書くのは手抜きだったので、新しくzenkakuというファイルをつくりました。)
cat /usr/share/X11/xkb/symbols/zenkaku
partial modifier_keys
xkb_symbols "zenkakuesc" {
replace key <HZTG> { [Escape] };
};
diff -r xkbold/rules/base /usr/share/X11/xkb/rules/base
1122a1123
> zenkaku:zenkakuesc = +zenkaku(zenkakuesc)
Only in /usr/share/X11/xkb/symbols: zenkaku
後はESCを全角/半角に置き換えることができれば完璧なのですが・・・
ご存知の方がいらっしゃいましたらお願いいたします。