web-dev-qa-db-ja.com

Caps Lockキーを3番目のShiftキーにするにはどうすればよいですか?

Caps Lockキーを別のShiftキーと同じように機能させるにはどうすればよいですか?

ここには、再割り当て、またはカスタムコマンドを起動することについての質問がたくさんあります。別のShiftキーのように機能させたいだけです。他のキーがそれらの動作を変えないようにしたいだけです。

キーボードレイアウト/ Caps Lockキーの動作では動作しません。CCSMでそれを再マップする方法がわかりません。

今は英国のキーボードを使用していますが、米国のキーボードで入力することを学びました。小さな左のShiftキーはDRIVING ME NUTSです。

17
Tom Brossman

@ 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の分析と試行錯誤テスト

12
Elder Geek

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時代でした)。

10
Gilles

失敗した回答に対する以前の試みを無視して、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は再起動されません。完全に再起動する必要がありました。)

これは実際にテストでき、動作することを確認できます。

buntu 13.04の永続的なxmodmap から適応

7
TheWanderer

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に示されているものです。

3
user308164