Fedora 22を実行しているUSB Appleキーボードの一部の特定のキーを変更しようとしています。
3日間の答えを見つけてさまざまな解決策を試した後、最終的には次のようになりました。xmodmapしかし、それでもすべてを正しく機能させることはできません。
私の具体的な質問は次のとおりです。
- 交換Alt 左クリック鍵右へ
- 交換Ctrl 左鍵左コマンド鍵
これが私が今まで試した最後の作業です。
私のものをコピーしました。xmodmap文書:
xmodmap -pke ~/.xmodmap
それから私が変えようとしていた鍵のキーコードを見つけました。シフこれにより、Alt LeftとAlt Rightが提供されます。
KeyPress event, serial 36, synthetic NO, window 0x3400001,
root 0xd7, subw 0x0, time 7033878, (38,-14), root:(38,23),
state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 36, synthetic NO, window 0x3400001,
root 0xd7, subw 0x0, time 7035742, (38,-14), root:(38,23),
state 0x10, keycode 108 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
XKeysymToKeycode returns keycode: 92
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
だからAlt 左クリック鍵は使用することです。キーコード64、しかも右へ名前が次のような鍵ISO_レベル3_シフト、使用中キーコード108。
Webの他のソースに関して、次の内容で新しいxmodmapファイルを作成しました。
keycode 64 = Alt_L
keycode 108 = ISO_Level3_Shift
remove Mod1 = Alt_L
remove Mod4 = ISO_Level3_Shift
add Mod1 = ISO_Level3_Shift
add Mod4 = Alt_L
次に、この新しい構成を実行してみます。
xmodmap -v .mymodmap
そして、このエラーが発生しました:
! .mymodmap:
! 1: keycode 64 = Alt_L
keycode 0x40 = Alt_L
! 2: keycode 108 = ISO_Level3_Shift
keycode 0x6c = ISO_Level3_Shift
! 3: remove Mod1 = Alt_L
! Keysym Alt_L (0xffe9) corresponds to keycode(s) 0x40 0xcc
remove mod1 = 0x40 0xcc
! 4: remove Mod4 = ISO_Level3_Shift
! Keysym ISO_Level3_Shift (0xfe03) corresponds to keycode(s) 0x5c 0x6c 0x9a
remove mod4 = 0x5c 0x6c 0x9a
! 5: add Mod1 = ISO_Level3_Shift
add mod1 = ISO_Level3_Shift
! 6: add Mod4 = Alt_L
add mod4 = Alt_L
!
! executing work queue
!
keycode 0x40 = Alt_L
keycode 0x6c = ISO_Level3_Shift
remove mod1 = 0x40 0xcc
remove mod4 = 0x5c 0x6c 0x9a
add mod1 = ISO_Level3_Shift
add mod4 = Alt_L
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 118 (X_SetModifierMapping)
Value in failed request: 0x17
Serial number of failed request: 15
Current serial number in output stream: 15
解決策を探していますが、これは混乱しています。
新しいAppleキーボードの特定のキーを変更する方法について手がかりや情報源を持っている人はいますか?
編集する:
これまでにいくつかの設定を試みた後、次のような最も近いアプローチを選択しました。
clear mod1
clear mod5
keycode 64 = ISO_Level3_Shift Mode_switch ISO_Level3_Shift Mode_switch
keycode 92 = Alt_L Meta_L Alt_L Meta_L
keycode 108 = Alt_L Meta_L Alt_L Meta_L
add mod1 = ISO_Level3_Shift Mode_switch
add mod5 = Alt_L Meta_L
キーコード92そして108私が見たのと同じ鍵だと思います。シフ出力。
これは私のものです。xmodmap出力今後私の変更:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
これは私のものです。xmodmap出力後ろに私の変更:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 ISO_Level3_Shift (0x40), Mode_switch (0xcb)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 Alt_L (0x5c), Alt_L (0x6c), Alt_L (0xcc), Meta_L (0xcd)
これらの変更を適用した後の私の権利デリゲートキーは左のAltキーのように動作するように見えますが(たとえば、一部のアプリケーションのメニュー切り替え)、左のAltキーは何もしません。
おそらく私の意図を具体的に説明すると、次のようになります。
プログラミング目的でオフィスのAppleキーボードを自宅のキーボードのように機能させるには、2つのAltキーを切り替える必要があります(私はMacbookを使用しています)。
私は左Altキーを使用してチルダ〜とパイプ|などの特殊記号を作成するのに非常に慣れています(左のAltキーは左の親指で実行されます)。
私も切り替える必要があります左クリックコマンドそして左Ctrl家にあるMacBookでもこれらが開いているからです。
もちろん、職場でこれらのトグルキーに慣れることはできますが、正しいキーを考えずにフロー中に間違ったキーの組み合わせを打つため、毎日迷惑になります。
だから誰でも私を助けることができますか?
答え1
これまでの移行のための部分的な解決策があります。制御キーそしてガイドライン左側に。
これは愚かなほど簡単ですが、私の目的には適しています。
私は使うGNOME調整ツールこのキーの動作を変更します。私の言語には次のオプションがあります。入力するこのオプションの下には、「Ctrlキーの位置」の上から5番目の点があり、これを「左スーパーキーと左Ctrlキーの交換」に変更しました。
他の翻訳にも同様の内容が必要です。
これまで使えます左クリックコマンドいくつかの標準のショートカットキー用のキー(コピー用のcmd + cなど)しかし、自宅のMacBookのキーボードとは異なるキーボードを使用することはできません。cmd+タブ。だから私は使うべきですCtrl+タブまたはAlt+タブ。でも大丈夫です。慣れればいいです。
しかし残念ながら、まだ2つの変更を行うオプションが見つかりませんでした。デリゲートキー。