Caps Lockキーを別のShiftキーと同じように機能させるにはどうすればよいですか?
ここには、再割り当て、またはカスタムコマンドを起動することについての質問がたくさんあります。別のShiftキーのように機能させたいだけです。他のキーがそれらの動作を変えないようにしたいだけです。
キーボードレイアウト/ Caps Lockキーの動作では動作しません。CCSMでそれを再マップする方法がわかりません。
今は英国のキーボードを使用していますが、米国のキーボードで入力することを学びました。小さな左のShiftキーはDRIVING ME NUTSです。
@ Zacharee1の回答を展開:
cp /usr/share/X11/xkb/symbols/pc ~/pckeybak
でバックアップを作成します
gksu gedit /usr/share/X11/xkb/symbols/pc
またはお気に入りのエディターで編集します。
次の行(22)を見つけます。
key <CAPS> { [ Caps_Lock ] };
に変更します
key <CAPS> { [ Shift_L ] };
そして次の行(36):
modifier_map Lock { Caps_Lock };
に変更します
//modifier_map Lock { Caps_Lock };
(ロックを無効化するためにコメントアウトする必要があります)
テストでは、 Num Lock それでも期待どおりに動作します。さらにテストを行ったところ、16.04では、変更されていないシステムでも、キーボードインジケータライトが少しディスレクシアに見えることがわかりました。ログイン時にスクロールロックインジケータはオンになりますが、スクロールロックはオフになり、Num Lockは消灯しますが、Numロックはオンになります。左をタップ Ctrl キーはこの動作を解決しているようで、KVMスイッチの使用に関連しているかどうかはわかりません(これは可能です)
注:さらにテストした結果、 NumLockインジケータライトは不安定です KVMスイッチがなくてもNumLockとの同期を取り戻すために2回タップする常にオンのままにすると、ライトを無視できます。または、気になる場合は、2回タップして同期を取り戻すことができます。これが発生する理由は、おそらく新しい質問の根拠です...
元の問題に対する別の簡単な解決策は、単純に 安価なUSキーボード を取得し、USキーボードマッピングを使用することです。
出典:@ Zacharee1の回答および/usr/share/X11/xkb/symbols/pc
の分析と試行錯誤テスト
CapsLockキーを変更して“ a”を生成する方法 (たとえば)を適応させることで、そこに到達できます。
からLock
(= Caps Lock)修飾子を削除します Caps Lock キー、およびこのキーがShift_L
keysymを送信することを宣言します。
remove Lock = Caps_Lock
keysym Caps_Lock = Shift_L
または、Lock
修飾子を削除して、Shift
修飾子を追加することもできます。
remove Lock = Caps_Lock
add Shift = Caps_Lock
どちらにしても、これらの行はファイル~/.Xmodmap
に入ります。 xmodmap ~/.Xmodmap
でロードしてテストします。デフォルト環境でログインすると、ファイルは自動的に読み込まれます(または、少なくともGnome時代でした)。
失敗した回答に対する以前の試みを無視して、capslockを完全に左シフトに変えるものを見つけました。トグルする必要はありません。永続的であり、非常にシンプルだと思います。
変更方法を紹介する前に、まずバックアップを作成することをお勧めします。
Sudo cp /usr/share/X11/xkb/symbols/pc ~/pckeybak
を実行します
バックアップができたので、編集に取り掛かりましょう。
お気に入りのテキストエディタを使用して、このファイルをルートとして編集します。
/usr/share/X11/xkb/symbols/pc
次のようなセグメントを見つけます(一番上、22行目です)。
key <TAB> { [ Tab, ISO_Left_Tab ] };
key <RTRN> { [ Return ] };
key <CAPS> { [ Caps_lock ] };
key <NMLK> { [ Num_Lock ] };
編集する
key <CAPS> { [ Caps_lock ] };
することが
key <CAPS> { [ Shift_L, Caps_Lock ] };
代わりに。 (Caps_Lock
の後のShift_L,
は不要な場合があります。)
ディスプレイマネージャー(通常Sudo service lightdm restart
)を再起動すると、capslockは左シフトになります。 (注:私のテストマシンはGNOMEを使用しているため、gdm
を再起動する必要がありました。しかし、フォールバックTTYで奇妙なちらつきが発生し、およびgdm
は再起動されません。完全に再起動する必要がありました。)
これは実際にテストでき、動作することを確認できます。
14.04の場合
ワンライナー:
xmodmap -e 'keycode 66=Shift_L'
BUT、予期しない場合66
が正しいキーコードではないため、最初にコンソールでxev
を実行してを押します CapsLock。次に、次のようなものが表示されます。
KeyPress event, serial 27, synthetic NO, window 0x1200001,
root 0x101, subw 0x0, time 6417361, (340,373), root:(342,393),
state 0x0, keycode XX (keysym 0x0207, Caps_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
正しいキーコードは、XX
に示されているものです。