[[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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS