[[diary/Kojima]]
・Caps Lock と Ctrl キーの入れ替え
Plamo-7.0b2 な環境のテストで、キーボードにJP106なキーボードをつかっているんだけど、
インストール時に指定する "CTRLとCaps Lockの入れ替え" を指定すると、
再起動後におかしくなる印象。
この指定をすれば /etc/sysconfig/console に "KEYMAP_CORRECTIONS=cl2c-d" を設定するようにしたのだけど、どうもこの設定だと Caps Lock が Ctrl キーになるものの、Caps Lockのような状態設定は有効なままで、Caps Lock を押すと Ctrl キーがロックされたような状態になって、しかもその状態を解除することができないみたい。
多分、cl2c-d.map を使う場合は、Caps Lockキーのロックを無効にしないといけないのだけど、そのための設定が抜けているような感じ。かと言って、どうすればCaps Lockのロックを無効にできるのか、日本語キーボードは修行不足でよく分からない(苦笑
- loadkeys のパラメータをそのまま指定するだけでいいです。つまり、KEYMAP="jp106 ctrl" とだけ書いておけば KEYMAP_CORRECTIONS の指定は不要です。 -- &new{2018-06-07 (木) 00:34:47};
- うーん、、普段使いが US キーボードなんで、このあたりの事情はすっかり忘れているなぁ。。 とりあえずこんな感じでいいのかしらん?
if [ -r /tmp/keyset ]; then
if [ ! -d $T_PX/etc/sysconfig ]; then
mkdir -p $T_PX/etc/sysconfig
fi
chk1=`grep ctrl /tmp/keyset`
chk2=`grep k2esc /tmp/keyset`
if grep 106 /tmp/keyset 1> /dev/null 2>/dev/null ; then
if [ "$chk1.x" != ".x" ]; then
echo 'KEYMAP="jp106 ctrl"' > $T_PX/etc/sysconfig/console
else
echo 'KEYMAP="jp106"' > $T_PX/etc/sysconfig/console
fi
else
if [ "$chk1.x" != ".x" ]; then
if [ "$chk2.x" != ".x" ]; then
echo 'KEYMAP="ctrl k2esc-d"' > $T_PX/etc/sysconfig/console
else
echo 'KEYMAP="ctrl"' > $T_PX/etc/sysconfig/console
fi
fi
fi
fi
漢字キーを ESC あたりに再マップする処理も必要かと思ったけど、コンソール環境なら必要ないかな? -- [[kojima]] &new{2018-06-07 (木) 09:06:32};
- ctrl や k2esc-d をロードする際には defkeymap もロードしないとダメなのかな? -- [[kojima]] &new{2018-06-07 (木) 09:46:02};
- 以前 jp106 をロードしたあと ctrl 単体でロードしてみたときキーマップがおかしくなった記憶があるのでたぶんそうなんではないでしょうか。 -- &new{2018-06-07 (木) 15:04:50};
- 別件ですが、inrstaller の esetup で dialog の罫線が表示されないですけど、C.UTF-8 ロケールを追加して esetup の LANG を書き換えると直ります。 -- &new{2018-06-07 (木) 15:20:06};
#comment