web-dev-qa-db-ja.com

Ctrlキーと矢印をHomeキーとEndキーにバインドする方法xmodmapは機能しません

Windowsでは、以前はバインドしていました Ctrl+Left に Home そして Ctrl +権利 End ahk経由。

現在、Ubuntuでこの動作を実現するのに苦労しています。 /etc/inputrcを編集しようとしました:

"\e[1;5C": end-of-line
"\e[1;5D": beginning-of-line

動作しますが、ターミナルウィンドウでのみです。私はxmodmapも試しました:

xmodmap -e "keycode 113=Left NoSymbol Home"

しかし、それは機能しません。
ここで奇妙なことは、私が Shift + Left xmodmapでは動作します:

xmodmap -e "keycode 113=Left Home"

私の推測では、デフォルトの動作は Ctrl + Left(単語をスキップ)どういうわけかxmodmapバインディングよりも優先されます。

デフォルトのバインディングがどこにあるのか、それを削除する方法はどこにありますか?または、必要な動作をそこにバインドできますか?

Ubuntu 12.04を使用しています

15
acid009

AutoKey は、このようなバインディングを行うことができますが、バックグラウンドでサービスを実行する必要があります(ahmodのようですが、xmodmapとは異なります)。

テキストが<home>、貼り付け方法がKeyboard、ホットキーが<ctrl>-<left>である「フレーズ」を設定します。

AutoKey GUI

11
cscarney

UbuntuワークステーションでAppleアルミニウムキーボードを使用しており、次のxmodmapコマンドがそれを行いました。

# remap Ctrl_L to ModeSwitch, then use it to map arrow keys so that
# they act like on the MacBook keyboard with Fn key pressed 
xmodmap -e "keycode 37=Mode_switch"
xmodmap -e "keycode 113 = Left NoSymbol Home"
xmodmap -e "keycode 114 = Right NoSymbol End"
xmodmap -e "keycode 111 = Up NoSymbol Prior"
xmodmap -e "keycode 116 = Down NoSymbol Next"

これは完全に機能します Caps Lock キーはUbuntuのキーボード設定を使用してコントロール機能に再マップされるため、左側のコントロールキーは必要ありません。 MacBookキーボードのFnキーがある場所にあるため、デスクトップキーボードとMacBookキーボードを切り替えても筋肉の記憶に影響はありません。

1
Peter Kvitek