web-dev-qa-db-ja.com

capslockキーをフィッシュシェルコマンドにバインドし、トグルキャップ機能を無効にするにはどうすればよいですか?

最近Fish Shellに切り替えましたが、そのオートコンプリートは本当に素晴らしいです。

しかし、私は自分が使いたいと思う tab 明確な場合とは対照的に、complete_autocomplete機能を使用します。フォワードキーとエンドキーの両方がこれを行いますが、通常の入力位置では指が届きません。

私は使用したいと思います Capslock 私はそのキーを使用したことがないので、このためのキーですが、それはそのような素晴らしい位置にあります。

私はsetxkbmap -option caps:noneを試しましたが、それは無効にするようです capslock 完全にキー。私はそれをフォワードキーまたはエンドキーにバインドできると思いますが、これをどのように行うのか分かりません。

また、私は魚のシェルでキーバインディングを見つけることができないようです capslock

cowpig@gerty:~$ bind -K
b2
backspace
btab
dc
down
end
enter
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10
f11
f12
f13
f14
f15
f16
f17
f18
f19
f20
home
ic
left
npage
ppage
right
sdc
send
sf
shome
sic
sleft
snext
sprevious
sr
sright
up
9
mavix

まず、マニュアルを確認してください Ctrl + F オートコンプリートも行います。 fishでhelpと入力すると確認できます。

マッピングを続行する場合は、xevを実行してを押します capslock キーコードを取得します。私は66です:

enter code hereKeyRelease event, serial 37, synthetic NO, window 0x5200001,
root 0x4b7, subw 0x0, time 6149967, (918,609), root:(984,661),
state 0x10, keycode 66 (keysym 0xff57, End), same_screen YES,
XKeysymToKeycode returns keycode: 37
XLookupString gives 0 bytes: 
XFilterEvent returns: False

ここで、権限755と次のテキストを使用してスクリプト(つまり〜/ xmodmap.sh)を作成します。

#/bin/bash
xmodmap -e "keycode 66 = End"
xmodmap -e "clear Lock"

スクリプトを実行すると、変換されます capslock に End キー。

これを永続的にするには、次のコマンドをスタートアップアプリケーションに追加します。

/bin/bash -c "sleep 7 && /home/myusername/xmodmap.sh"

私は魚のシェルで試してみましたが、コマンドを自動完了します。

私が使う Alt Gr いくつかのキーをより近い位置にマッピングするには: ナビゲーションキーを含むキーボードレイアウトをカスタマイズ

2
Katu