一般的な発音区別符号を入力するショートカットキーを設定しようとしています。 xdotoolに、端末で、またはicewmコマンドバーから(またはgmrunからでも)、発音区別符号を入力させることができます。
xdotool key Aacute
ただし、次のキーマッピング(icewmキーファイル内)は機能しません。
key "Ctrl+Alt+a" xdotool key Aacute
key "Ctrl+Alt+a" xdotool --delay 1000 key Aacute
代わりに、ショートカットを入力すると(ターミナルエディターまたはテキストエディターの場合)カーソルが1回点滅するだけですが、それ以外は何も起こりません。以下はポップアップを表示するので、キーコード自体は正しいです:
key "Ctrl+Alt+a" zenity --info --text="shortcut works"
誰かがキーバインディングを登録して、発音区別符号が実際にアクティブなアプリケーションに入力されるようにする方法はありますか?
元のソリューションを機能させることができなかったため、代わりにキーボードのマッピングを変更しました。デフォルトのusキーボードマッピングには必要な発音区別符号はありませんが、国際バージョンにはあります。試してみるには:
setxkbmap -layout 'us(intl)'
しかし、国際版は特定のキーに対してデフォルトでcomposeを使用します。たとえば、 '文字はすぐに応答しなくなります。代わりに、私はusキーボードに基づいて独自のキーボードマッピングを作成することを選択しました。
新しいファイルを作成しました:/usr/share/X11/xkb/symbols/erik
partial default alphanumeric_keys
xkb_symbols "basic" {
include "us"
include "eurosign(5)"
key <AC01> { [ a, A, aacute, Aacute ] };
key <AD03> { [ e, E, eacute, Eacute ] };
key <AD08> { [ i, I, iacute, Iacute ] };
key <AD09> { [ o, O, oacute, Oacute ] };
key <AD07> { [ u, U, uacute, Uacute ] };
key <RALT> { type[Group1]="TWO_LEVEL", [ ISO_Level3_Shift, Multi_key ] };
modifier_map Mod5 { <RALT> };
};
xkbに変更を反映させるには:
Sudo dpkg-reconfigure xkb-data
キーボードマッピングを試すには:
setxkbmap -layout erik
これで、alt_gr + [aeiou]は[áéíóú]と入力する必要があります。
起動時にicewm起動ファイルを使用して上記のコマンドを呼び出すことにより、変更を永続的にしました。ディストリビューションのキーボードスイッチャーを使用してレイアウトを選択できると思いますが、これはテストしていません。私の後にキーボードマッピングに名前を付けるという非常に名誉を与えたいのでない限り、ファイルに別の名前を付けてください。デフォルトの国のマッピングはすべてそのように命名されているため、2文字のコードは避けてください。
ノート:
symbolsディレクトリにある他のマッピングファイルで例を確認できます。
ファイル形式を理解するためのいくつかのリソースはここにあります:
https://www.x.org/wiki/XKB/