少し問題があります。以前のシステムから慣れているいくつかのホットキーを再マッピングしたかったのですが、で適切に機能させることができませんxbindkeys
。
xbindkeys
は組み合わせを認識しますが、どういうわけかコマンドはトリガーされません。
コマンドを使用する場合
xdotool key braceleft
{
コンソールに正しいサインが出力されます。ただし、xbindkeysで同じコマンドを使用しても何も起こりません。コマンドを置き換えてfirefox
適切に機能し、Firefoxを開くと、機能すると思いxbindkeys
ます。
以下を達成したい:
+ または+ +の{
どちらかでアクティブウィンドウに
文字を入力したいので、両方を使用できます。私は(AltGr)が適切な方法であることを知っていますが、ドイツ語のキーボードでは、(Alt_R)キーを使用してブレースレフトを入力するのが少し難しいので、代わりに+ + を使用する必要があります(以前のシステムでは慣れていました)。どういうわけか、12.04では正常に機能するようになりましたが、14.04では機能しません。Alt_R7Alt_LeftCtrl7Alt_RAltGrAlt_LControl7
助言がありますか?私はいくつかのコマンドを試しました。それらはすべてコンソールで機能しましたが、xbindkeysで実行しても機能しませんでした。
xdotool type '{'
xdotool key braceleft
xdotool key ISO_Level3_Shift+7
xvkbd -xsendevent -text '{'
xvkbd -xsendevent -text '\[Alt_R]+7'
これは私の設定ですが、機能しません
"xdotool key braceleft"
Control+Alt + 7
ただし、これは機能します:
"firefox"
Control+Alt + 7
ソリューション編集
別のことをいくつか試しましたが、xdotoolがすぐにトリガーされないようです。私はこのように設定を変更しました:
"sleep 1 && xdotool type --delay 15 '{'"
Control+Alt + 7
現在は、アクティブなウィンドウに正しい{記号を送信しています。今残っているのは、スリープと遅延を適切な値に減らすことだけです。1秒が少し長すぎるように見えるからです:)
**追加情報**さて、適切な値を見つけることができました。ただし、これは、スリープ期間が終了するまでキーを離した場合にのみ機能します。動作しない場合は遅すぎる場合。
これは、すべての不便なドイツ語AltGr文字の現在の構成です
"sleep 0.2 && xdotool type --delay 15 '{'"
Control+Alt + 7
"sleep 0.2 && xdotool key --delay 15 at"
Control+Alt + q
"sleep 0.2 && xdotool type --delay 15 '€'"
Control+Alt + e
"sleep 0.2 && xdotool type --delay 15 '['"
Control+Alt + 8
"sleep 0.2 && xdotool type --delay 15 ']'"
Control+Alt + 9
"sleep 0.2 && xdotool type --delay 15 '}'"
Control+Alt + 0
"sleep 0.2 && xdotool type --delay 15 '~'"
Control+Alt + plus
ただし、たとえば@記号を複数入力する場合は、意図したとおりにCtrl + Alt + Qを押す必要がありますが、すべてのキーを放してからもう一度押します。ただし、これはAltGrの代わりにControl + Altオプションを使用しない場合よりもはるかに優れていますが、私も使用していたのでそれほど効果的ではありません。多分私もこれに対する解決策を見つけるでしょう。
xdotool
押したままキーを繰り返す方法を理解したことがありますか?
xdotool getactivewindow key Home