私はKDEでFedora 30を使用しており、使いやすさのために(Zsh)を+autosuggest-execute
にバインドしようとしています。私はそれを動作させようとしています。CtrlEntergnome-terminal
しかし、私は、+と+の3つのケースで常に返されることがわかりましたshowkey -a
。^M
EnterCtrlEnterShiftEnter
私はこれを試しました方法(Ctrl <Return> : "\033M"
in .XCompose
)しかし、XComposeファイルを読み取らず、まったく動作しません。だからibus
そのままインストールすることにしました私のKDEインストールには次のものは含まれていません。そしてdnf groupinstall input-methods
。
今すぐ実行すると、ìbus-setup
次の警告が表示されます。
GTK+ supports to output one char only: "\033M": ! Ctrl <Return> : "\033M"
^M
残念ながら、すべての入力の組み合わせは依然としてingnome-terminal
に帰結しますxterm
。
ibusの有無にかかわらず、これらのキーの組み合わせを区別する方法はありますか?
ベストアンサー1
ibusなどを設置する必要はありません。すべてのX11アプリケーションは正しいキーコードにアクセスできます。そしてxkb/xim 翻訳で、そしておそらく無視する後者の。
問題は、端末エミュレータにあり、Ctrl-Enterなどの端末でキーの組み合わせを表す標準的な方法がないという事実です。また、各端末エミュレータには独自のキーバインディングの設定方法がある場合とありません。
他のxtベースのアプリケーションと同様に、xterm
X11リソースを使用して簡単に設定できます。たとえば、次はCtrl-EnterをF33
ファンクションキーに対応するエスケープ文字に変換します(に従ってinfocmp
)。
xterm -xrm '*VT100*translations: #override Ctrl<Key>Return:string("\033[20;5~")'
\e[20;5~
その後、readline ~/.inputrc
、with bind
in bash
、with bindkey
inなどでzsh
目的のアクションにバインドできます。
X11リソースはルートウィンドウのプロパティとして保存され、ユーティリティを使用してルートウィンドウにロードRESOURCE_MANAGER
できます。通常、これはファイルの内容をロードするためにx11セッション初期化スクリプトで呼び出されます。xrdb
xrdb
~/.Xresources
KDEまたはGnomeアプリケーションには、キーの組み合わせの動作を設定する独自の方法がkonsole
ありますgnome-terminal
。ここに擬似ttyマスターにランダムな文字列を書き込む機能が含まれているかどうかはわかりません。