web-dev-qa-db-ja.com

xmodmapを使用してシフトおよびalt修飾子でキーを再マップする方法は?

コード94のキーに対して次の動作をさせたいと思います。

1)デフォルトでは「<」

2)シフトでは '>'

3)altでは '|'

コマンドを使用してデフォルトとシフトの動作を取得することができました(名前はxevから):

xmodmap -e "keycode 94 = less greater"

すべての動作に対して3つのことを試しました。

1)

xmodmap -e "keycode 94 mod1 = less greater bar"

2)

xmodmap -e "keycode 94 shift mod1 = less greater bar"

3)

xmodmap -e "keycode 94 = less greater"
xmodmap -e "add mod1 = less bar"

最初の2つは、デフォルトで「<」と「|」を持つ効果を追加しますシフト付き。私は3番目のものが何をしたのか完全にはわかりません。

コマンドからも1)および2)(シフトは関連し、altは何もしない)と同じ動作をしました:

xmodmap -e "keycode 94 mod1 = less bar"

私の情報は主に この答え (特にボーナスセクション)に基づいています。

修飾子に基づいて異なるデフォルト、シフト、および動作を持つように単一のキーをマップする方法は?

8
user1335014

発見的、発見的!以下を見てください:

xmodmap -e "keycode 38 = a A aacute Aacute ae AE ae"

基本的に

  1. a:通常a
  2. A:シフト+ a
  3. á:altgr + a
  4. Á:シフト+ altgr + a
  5. æ:[修飾子の組み合わせ] + a
  6. Æ:シフト+ [修飾子の組み合わせ] + a
  7. æ:???

必要な表現でキーを再構成するだけです。たとえば、ピリオド+ altgrをinterpunctに再割り当てしました(少し便利ですが)。

xmodmap -e "keycode 60 = period greater 0x00b7 0x00b7 0x00b7 0x00b7"    
5
Berzemus