web-dev-qa-db-ja.com

バックスペースとバックスラッシュを入れ替えるにはどうすればよいですか?

このようにしたい:

BackSpace->バックスラッシュ

Shift + BackSpace->バー

バックスラッシュ-> BackSpace

Xbindkeysとxdotoolを使用しようとしましたが、動作させることができませんでした。これは、私の.xbindkeysrcファイルにあったものです:

"xdotool key bar"
  shift + BackSpace
"xdotool key backslash"
  BackSpace
"xdotool key BackSpace"
  backslash

ただし、これでできることは、キーが機能しなくなることだけです。

3
James Wang

xdotoolでは不可能です。backslashと言うと、システムが苦労します。BackSpaceと再ルーティングすると、BackSpaceと再ルーティングします。 backslashにすると、このループは実行され続けます

[backslash--> BackSpace--> backslash--> BackSpace--> backslash--> so on-->]

[BackSpace--> backslash--> BackSpace--> backslash--> BackSpace--> so on-->]

この種のリンクを削除すると、他のすべてのキーが機能します。

たとえば、次の両方が機能します。

"xdotool key space"
  Shift + BackSpace + Release
"xdotool key backslash"
  BackSpace + Release

または

"xdotool key space"
  Shift + BackSpace + Release
"xdotool key BackSpace"
  backslash + Release

最良の方法は、この回答でキーをマッピングすることです。 https://askubuntu.com/a/24930/739431

私はキーボードで試してみて、バックスラッシュとBackSpaceキーを簡単に交換しました。

例:

以下は、xevコマンドを実行して必要なキーを押すことで必要なキーの値です。

state 0x10. keycode 51 (keysym 0X5c, backslash), same_screen YES,

stat 0X10, keycode 22 (keysym 0xff08, BackSpace), same_screen YES,

$ xmodmap -e "keycode 51 = BackSpace"
$ xmodmap -e "keycode 22 = backslash"
1
PRATAP