Alt/Win(つまりOption/Command)キーが通常のPCキーボードとは逆になっているMacキーボードを持っていますが、それらを交換したいと思います。私はこれまでxmodmapで運がなかった。標準構成は次のとおりです。
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), 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)
現在、左/右のAltキーはキーコード64および108であり、左/右のWindowsキーは133および134です。
助けてくれてありがとう!
これは私のXmodmaprcです:
! Exchange left Alt and left Win
remove mod1 = Alt_L
remove mod4 = Super_L
add mod1 = Super_L
add mod4 = Alt_L
! Exchange tilde and lesser/greater
keycode 94 = Grave asciitilde dead_Grave dead_tilde Grave asciitilde
keycode 49 = less greater less greater bar brokenbar bar brokenbar
! Steve, your keyboard sucks
Xmodmap .Xmodmaprcを呼び出すには、.xsessionまたは.xinitrcを変更する必要があります
私はUbuntu13.04で、クリストフの答えを組み合わせることでこれを達成しました(これは私を助けましたが、修飾子では機能せず、デッドキーであるためにGraveとtildeは必要ありません) setxkbmapに関する別の答え 、 settings-keyboard-layout-optionsのさまざまなオプションで遊んで( ソースコード を見ても)、コマンドsetxkbmap -query
を使用して現在の構成を調べます(これも実行する必要があります。特定のキーボードモデルとレイアウトコードは異なる場合があります)。
Appleキーボードに切り替えるときに呼び出すスクリプトが1つあります(AltキーとSuper修飾キーを交換するための重要なオプションはaltwin:swap_lalt_lwin
です):
# clear all options
setxkbmap -model "pc105" -layout "hr,us" -option ""
# set the Apple keyboard
setxkbmap -rules "evdev" -model "pc105" -layout "hr,us" -option "terminate:ctrl_alt_bksp,lv3:rwin_switch,grp:shifts_toggle,caps:ctrl_modifier,altwin:swap_lalt_lwin"
# swap the Grave-tilde with less-greater key
# - variant without dead keys
xmodmap -e "keycode 94 = Grave asciitilde"
xmodmap -e "keycode 49 = less greater less greater bar brokenbar bar brokenbar"
そして、通常のキーボードに戻ったときに呼び出すもう1つのもの:
# clear settings
setxkbmap -model "pc105" -layout "hr,us" -option ""
# pc keyobard
setxkbmap -rules "evdev" -model "pc105" -layout "hr,us" -option "terminate:ctrl_alt_bksp,lv3:rwin_switch,grp:shifts_toggle,caps:ctrl_modifier"
設定を追加したことに注意してください
terminate:ctrl_alt_bksp,lv3:rwin_switch,grp:shifts_toggle,caps:ctrl_modifier
ctrl + alt + backspace Gnomeセッションの終了、右のWinキーを使用したレベル3キーへのアクセス、両方のShiftキーを押してレイアウトをシフトし、Caps Lockを追加のCtrlに(それぞれ)有効にするには。それらの一部またはすべてを除外することをお勧めします。
AutoKey を使用して呼び出しをキーボードショートカットにバインドするか、Apple)を使用する場合は.profile
または.bashrc
から呼び出すことができます。いつもキーボード。
Xkbとgnomeを使用するUbuntu16.04では、altキーとスーパーキーのショートカット動作をすべて保持したい場合は、上記の回答と比較して、いくつかの追加手順が必要であることがわかりました Christopher Devineの回答 回答。これは私が見つけた最も簡単な解決策でした。
キーコード番号を取得するには、コマンドラインで$ xev
そして番号を取得したいキーを入力します。詳細については、この投稿を参照してください: xevおよびxmodmapの使用法
そうすることで私は次のようになります:Super_L
キーコード133Alt_L
キーコード64があります
したがって、Windowsの別名コマンド(Macの場合)別名スーパーキーを左のAltキーと交換するには、次のようにします。
remove mod1 = Alt_L
remove mod4 = Super_L
keycode 133 = Alt_L
keycode 64 = Super_L
add mod1 = Alt_L
add mod4 = Super_L
最後の2行は、mod1とmod4を、削除されたときと同じようにAlt_LとSuper_Lのkeysymに追加し直します。これを行わないと、スーパーキー(検索)に関連付けられているショートカットが失われ、Alt + Tabの組み合わせが壊れてウィンドウが切り替わります。
これらのコマンドを.xmodmapのようなファイルに追加してから$ xmodmap .xmodmap
はそれらを実行します。
または、次のようにコマンドラインでこれらを順番に実行することもできます。$ xmodmap -e <expression here>
デフォルトのキーマッピングに戻したい場合は、次のように上記のコードの番号を逆にすることができます。
remove mod1 = Alt_L
remove mod4 = Super_L
keycode 64 = Alt_L
keycode 133 = Super_L
add mod1 = Alt_L
add mod4 = Super_L
またはUbuntuで実行するだけです:$ setxkbmap
hid_Apple
カーネルモジュールオプションを設定して、Appleキーボードのみを変更し、通常のPCキーボードは変更しないようにすることもできます。xkbmapまたはXmodmaprを使用する必要はありません。コンテンツを含むファイル/etc/modules.d/hid_Apple.conf
を作成するだけです。
options hid_Apple iso_layout=0 fnmode=2 swap_opt_cmd=1
fnmode=2
は、Fn
を押すことなく、ファンクションキーをF1...F12
にマップします。メディアキーが必要な場合は省略してください。詳細については、 Arch Wiki を参照してください。
echo options hid_Apple iso_layout=0 fnmode=2 swap_opt_cmd=1 | Sudo tee -a /etc/modprobe.d/hid_Apple.conf
Sudo update-initramfs -u -k all
ウェイランドでは機能しないため、将来的にxmodmapを使用しないことをお勧めしますが、setxkbmapまたはxkbcompは別として、今後使用するのに最適な方法であり、私のプロジェクトKintoはそれを使用します。
Kintoは必要なキーを交換しますが、使用しているアプリもリッスンするため、ターミナルアプリの正しいキーマップを維持して、Macでのエクスペリエンスと一致させることができます。
関連するリンクは次のとおりですが、Kintoが行うことの核心も含めます。カスタムキーマップと交互キーマップ機能を除いたものなので、Kintoが実際に何をするかがわかります。
https://github.com/rbreaves/kinto
https://medium.com/@benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c
https://Gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
要旨内容
# permanent Apple keyboard keyswap
echo "options hid_Apple swap_opt_cmd=1" | Sudo tee -a /etc/modprobe.d/hid_Apple.conf
update-initramfs -u -k all
# Temporary & instant Apple keyboard keyswap
echo '1' | Sudo tee -a /sys/module/hid_Apple/parameters/swap_opt_cmd
# Windows and Mac keyboards - GUI (Physical Alt is Ctrl, Physical Super is Alt, Physical Ctrl is Super)
setxkbmap -option;setxkbmap -option altwin:ctrl_alt_win
# Windows and Mac keyboards - Terminal Apps (Physical Alt is Super, Physical Super is Alt, Physical Ctrl is Ctrl)
setxkbmap -option;setxkbmap -option altwin:swap_alt_win
#
# If you want a systemd service and bash script to help toggle between
# GUI and Terminal applications then look at project Kinto.
# https://github.com/rbreaves/kinto
#
# Note: The above may not work for Chromebooks running Linux, please look
# at project Kinto for that.
#
# If anyone would like to contribute to the project then please do!
#