web-dev-qa-db-ja.com

シフトロックを有効にするにはどうすればよいですか? (スティッキーシフトキー)

キーの1つをシフトロックキーにマップしたいと思います。私の理解では、シフトロックキーは一種の「スティッキー」シフトキーです。押したままで、もう一度押すまでレイアウトのすべてのキーをシフトします。

それはに似ています Caps Lock キー。ただし、数値行のキーを含むすべてのキーに影響します。

これを処理するためにsetxkbmap -option ...を使用しようとしています。

私はこれらの有望なルールを/usr/local/share/X11/xkb/rules/base.lstで見つけました:

  caps:internal        Caps Lock uses internal capitalization; Shift "pauses" Caps Lock
  caps:internal_nocancel Caps Lock uses internal capitalization; Shift doesn't affect Caps Lock
  caps:shift           Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock
  caps:shift_nocancel  Caps Lock acts as Shift with locking; Shift doesn't affect Caps Lock
  caps:capslock        Caps Lock toggles normal capitalization of alphabetic characters
  caps:shiftlock       Caps Lock toggles ShiftLock (affects all keys)
  shift:breaks_caps    Shift cancels Caps Lock
  shift:both_capslock  Both Shift keys together toggle Caps Lock
  shift:both_capslock_cancel Both Shift keys together activate Caps Lock, one Shift key deactivates
  shift:both_shiftlock Both Shift keys together toggle ShiftLock

そう、

setxkbmap -option shift:both_shiftlock

そして私は押してみます Shift (そしてそれを解放する)、そして他の文字をタイプする。無効。すべての文字は小文字です。押し続けると Shift 他のキーを入力すると、通常どおりに機能します。

caps:shiftshift:both_shiftlockcaps:shiftlockを試しましたが、私が知る限り、どれも効果がありません。どうしましたか?

3
oals

私は向きを変える方法を見つけました Caps Lockスーパーユーザーの回答 のおかげでシフトロックに

xmodmap -e "keycode 66 = Shift_Lock"

次は私の左に曲がります Ctrl シフトロックへのキー:

xmodmap -e "keycode 37 = Shift_Lock"

左にする Shift キーロック、使用

xmodmap -e "keycode 50 = Shift_Lock"

正しい Shift キー、使用

xmodmap -e "keycode 62 = Shift_Lock"

Shift Lockがアクティブな場合、キーボードのCapsLockLEDとScrollLockLEDの両方が点灯しているはずです。

3
oals