特定のキーへのシンボルマッピング

特定のキーへのシンボルマッピング

次の問題があります。intlさまざまなキーボードレイアウトを使用していますが、gbその結果は次のとおりです。

setxkbmap -layout gb -variant intl

FirefoxでGmailを使用していますが、何らかの理由でキーでトリガーされる受信トレイのタブ間を移動するGmailショートカットは~機能しません。

問題は、シンボルを取得するために最初にキーを押してからもう2つのキーを押す必要があるという点で発生します~Spaceたとえば、スペイン語の文字を書くことができるintlバリアントñ)。

さまざまなレイアウトをus試してみましたが、この場合は + 記号を使ってショートカットを実行できるため、ショートカットが機能します。intl~AltGr~

だから私が望むのはgbレイアウトと同じ動作です。または、通常、~他の組み合わせ(複数のキーを含まない)にマッピングします。

答え1

xmodmapこれを使用してキーマッピングを変更できます~

たとえば、私のシステム(アメリカのストックレイアウト)では、基本的な構成は次のとおりです。

$ xev # then pressing Shift + ~
[..]
KeyRelease event, serial 36, synthetic NO, [..]
root 0xa3, [..]
state 0x11, keycode 49 (keysym 0x7e, asciitilde), same_screen YES,
XLookupString gives 1 bytes: (7e) "~"
XFilterEvent returns: False

keycode 49その後、設定方法を正確に確認できます。

$ xmodmap -pke | grep 'keycode *49'
keycode  49 = grave asciitilde grave asciitilde

これらの式をxmodmapに送り返すことができます。たとえば、次のようになります。

$ xmodmap -e 'keycode  49 = grave asciitilde grave asciitilde'

関連情報