web-dev-qa-db-ja.com

左右のスーパーボタンの違い

左を押すと Super キーgnomeシェルが表示され、右を押すと Super キーはありません。さらに右を押す Super + T すぐに端末を開きますが、左スーパーを使用するときは、 T を2回押すと、 T 一度だけそれを押すだけに似ています T 持たずに Super 左。この最後のポイントは、私が定義した他のショートカット(たとえば Super+L、 Super+E)、しかしではない Super+Up/Down/Left/Right

私が欲しいのは、どちらかを押すことです Super gnomeシェルを取得し、いずれかを使用するためのキー Super キーと組み合わせて T ターミナルをすぐに開きます(他のショートカットと同様)。 Ubuntu 12.04 LTSとgnome 3 Shellを使用します。

10
Erik

xmodmapソリューション

xmodmap 、キーマップを変更するツールを使用してこれを行うことができると思います。私のキーボードには権利がないので Super keyこの解決策を確認できないため、うまくいかない場合はコメントを残してください。
すべてのステップは端末で行われます

現在の修飾子マップを印刷します
実行

xmodmap

これにより、現在のモディファイアマップが出力されます。

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock      
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)

重要な行はmod4行です。この行は、どのキーコードがSuper_LおよびSuper_Rキーシンボルにマップされているかを示しています。

キーマップをバックアップします
何かを変更する前に、現在のキーマップをバックアップすることをお勧めします。

xmodmap -pke > ~/.xmodmap.orig

何か問題が発生した場合は、単に入力する

xmodmap ~/.xmodmap.orig

元のキーマップを復元します。 (いくつかの重大な間違いを犯し、正しく入力できなくなった場合、再起動も機能します)

の現在のキーマップを確認 Super キー
 Super キーには連続したキーコード(この場合は0x85と0x86)があります。現在のマッピングを確認するには、次を実行します。

xmodmap -pke | grep -wA1 $((0x85))

もちろん、モディファイアマップのキーコードによって0x85を変更する必要がありました。これはあなたに与えるはずです

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R

$((0x85))は16進数を10進数に変換します)

左の動作をコピーする Super 右へ Super
前のステップからわかるように Super キーにはキーコード134がありますが、左の動作が必要です Super キーコード133を持つキー。これを行うには、次を使用してキーを再マッピングします。

xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"

動作するかどうかを確認する
今すぐに

xmodmap -pke | grep -wA1 $((0x85))

見るべき

keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_L NoSymbol Super_L

つまり、両方のキーの動作が同じになります。また、修飾子マップはmod4の行で変更されているはずです。これを実行して確認できます

xmodmap | grep 'mod4'

与えるべき

mod4        Super_L (0x85),  Super_L (0x86),  Super_L (0xce),  Hyper_L (0xcf)

そしてもちろん、あなたが言及したショートカットも動作するはずです!

マッピングを永続化する
それが機能する場合は、起動時にこれらの設定が自動的に適用されることを確認できます。走る

echo 'keycode 134 = Super_L NoSymbol Super_L' >> ~/.xmodmaprc

カスタムキーマッピングをファイル~/.xmodmaprcに保存します。走る

echo 'xmodmap ~/.xmodmaprc' >> ~/.xsessionrc

ウィンドウマネージャがロードされるときにカスタムキーマップが実行されることを確認します。

3
Gerhard Burger