私のスペースバーボタンはもう機能していませんので、スペースボタンを押すことをシミュレートするためにその動作を別のキーに変更したいので、スペースボタンを正しいalt/windowsキーにマップする方法???
文字の再マッピングや修飾子の変更など、キーボードに大きな変更を加えるには、xmodmapユーティリティを使用する必要があります-man xmodmap
を参照してください。変更を実行するには、いくつかの方法があります。
コマンドラインから
xmodmap -e "your commands"
または、コマンドを.xmodmaprcなどのファイルに書き込んでから、ログイン項目または.bashrcで実行します
xmodmap .xmodmaprc
〜/ .xmodmapファイルを使用すると、ログイン時に自動的に実行されます。
AltおよびSuper(Windowsキー)は修飾子であり、システムに対して特別に動作します。他の何かを再マップする前に、キーを修飾子からマップ解除する必要があります。スペースバーは通常のキーと見なされます。
ターミナルウィンドウを開きます(慣れていない場合は、Ctrl-Alt-T
)。
コマンドxmodmap -pm
を実行して、システム上の修飾キーのリストを取得します。出力の左端の列は、システムで使用可能な修飾子のリストです。他の列には、keysym (keycode)
によってこれらの修飾子にバインドされたキーのペアがリストされます。たとえば、私の出力の1行は
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
キーコードは物理キーに対応し、キーボード間で(仮に)異なる場合があります。 keysymはキーの「名前」です。キーが印刷可能な文字の場合、名前は印刷された文字に対応します。
これで、対応する修飾子からキーをマップ解除するために必要なものが手に入りました。 Alt_Rで作業しているふりをするつもりです。
Xmodmapコマンドを実行します(上部のいずれかの方法で)。
remove mod1 = Alt_R
次に、スペースバーが何であるかを知る必要があります。ターミナルウィンドウでxmodmap -pke
を実行します。これにより、キーボード上のすべてのキーがマップされているものが出力されます。その4つまたは5つの画面いっぱいのどこかがスペースバーへの参照です。キーをマップするために名前が必要です。
ネタバレ警告:スペースバーの名前はspace
Alt_Rという名前のキーはまだありますが、何もしません。その名前を使用して、スペースバーに再マップできます。このxmodmapコマンドを実行します。
keysym Alt_R = space
これらをテストしているときに、Alt_Rの名前をすでに変更している可能性があります。誤って文字「a」にリマップした可能性があります。 「a」を他の何かに再マップしたくないのは、その名前のキーの1つがまだ必要だからです。そのような状況に陥った場合でも、キーコードでAlt_Rを参照できます。私のキーボードでは、これは0x6cであることに注意してください。あなたとは違うかもしれません。このxmodmapコマンドを使用して変更できます。
keycode 0x6c = space
幸運を!