Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

/etc/default/keyboardでのキーボードオプションの追加について

556 views
Skip to first unread message

Makoto Okabe

unread,
Mar 21, 2011, 12:55:38 AM3/21/11
to
はじめまして、岡部と申します。
物好きなので、今現在Xを入れずにコンソールのみで使っています。

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 ] };
> };
>

Makoto Okabe

unread,
Mar 22, 2011, 3:44:02 AM3/22/11
to
岡部と申します。

>/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を全角/半角に置き換えることができれば完璧なのですが・・・
ご存知の方がいらっしゃいましたらお願いいたします。

0 new messages