AltGr+と他の組み合わせを組み合わせたいWのですが、æ
どうすればいいですか?まだAltGr++Shiftが必要ですW。Æ
私は主にsetxkbmap
キーマップを変更するために使用します。
答え1
それは簡単ですxmodmap
。keysym
コマンドを使用して、キーに関連付けられたキーシンボルを変更できます。これは、現在の修飾子の組み合わせを使用してこのキーシンボルを送信するすべてのキーに影響します。一般的な印刷可能文字の場合、4つのキー記号はbare key、keyed Shift、keyed AltGr、およびAltGr+ keyですShift。
keysym A = a A aring Aring
keysym O = o O oslash Ooblique
keysym W = w W ae AE
これらの指示をファイル(たとえば)に入れて~/.Xmodmap
を使用してロードしますxmodmap ~/.Xmodmap
。~/.Xmodmap
一部の環境では、ログインすると呼び出されたファイルが自動的にロードされます(Unixバージョンとデスクトップ環境によって異なります)。
/usr/share/X11/locale/en_US.UTF-8/Compose
キーシンボル名は、または/usr/include/X11/keysymdef.h
(Debianの場所、他のシステムでは異なる場合があります)にあります。シンボルのキーシンボル名がわからない場合は、Unicode番号を使用できます。U
その後に16進数が続きます。
keysym W = w W U00e6 U00c6
答え2
これを達成するために、カスタムXKBマップを使用できます。を使用して現在の地図をダンプして編集し、を使用して読み込むxkbcomp $DISPLAY dump.xkb
ことをお勧めしますxkbcomp newmap.xkb $DISPLAY
。ダンプファイルは非常に大きく、重複した情報がたくさんあります。
編集する最も簡単な方法は、現在の地図でaltgrの目的を見つけることです。通常はISO_LEVEL3修飾子です。現在のキーマップがaltgrを使用していない場合は、altgrを使用するキーマップをロードして動作を確認できます。たとえば、-layout us -variant altgr-intl
これは非常に広範囲であり、すべてではなくてもほとんどのヨーロッパのキーをバインドします。何が起こっているのか簡単な紹介は次のとおりです。
xkbはカーネルからキーコードを取得し、各キーコードのラベルを設定し、そのラベルと修飾キーを使用して出力する必要があるキーシンボルを決定します。各キーには、予想される修飾キーと各組み合わせの出力内容を定義するタイプが割り当てられます。あなたが得るダンプを見てくださいxkbcomp
:タグはに定義されておりxkb_keycodes
、タイプはにありxkb_types
、タグキーのシンボルはにありますxkb_symbols
。これらのうち、他のxkb_symbols
2つを編集して参照して、変更したいものを確認することをお勧めします。また、xkb_symbols
現在行われている方法を表示、理解、適切に編集できます。
xkb_types
セクションにはさまざまなキー定義修飾子レベルが含まれているため、altgrモードとShiftモードを持つ修飾子レベルが必要です。例:
type "FOUR_LEVEL_ALPHABETIC" {
modifiers= Shift+Lock+LevelThree;
map[Shift]= Level2;
map[Lock]= Level2;
map[LevelThree]= Level3;
map[Shift+LevelThree]= Level4;
map[Lock+LevelThree]= Level4;
map[Shift+Lock+LevelThree]= Level3;
level_name[Level1]= "Base";
level_name[Level2]= "Shift";
level_name[Level3]= "Alt Base";
level_name[Level4]= "Shift Alt";
};
これは、表示されたキーにFOUR_LEVEL_ALPHABETIC
4つのモードがあることを意味します。 Normal、Shift / Caps、altgr、altgr-shiftがあなたが探しているものに似ています。
wのキーコードがわからない場合は、それが何であるかを知りたいでしょう。
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
押したキーのキーコードを提供します。grep
出力を読みやすくすることです。
xkb_keycodes
以前に取得したダンプマップ部分と一緒に取得したキーコードを相互参照してください。私にwはキーコード25を与えます。たとえば、正しいキーコードをless
ダンプして検索します。または、Labelはxkbが後のセクションでキーを参照するために使用する名前です。<LABEL> = ##;
<AD02> = 25;
cat dump.xkb| grep ' = 25;'
これでラベルがあるので、xkb_symbols
実際にラベルをキーシンボルにマップする場所に移動します。形式は
key <AD02> {
type= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ w, W, aring, Aring ]
};
type=
セクションで目的のタイプを選択するxkb_types
と、symbols[Group1]=
そのタイプに必要な各モードのキー記号があります。同様に、このタイプの一般、Shift/Caps、Altgr、Shift-altgr。[Group1]
、私が知っている限り、これは設定したロックキーを使用してすぐに変更できる複数のキーマップを使用する方法です。私はグループを直接使用しないので、すべてがグループ1です。
ここで利用可能なさまざまなキーボードシンボルをすべて見つけるには、を確認してください/usr/include/X11/keysymdef.h
。探している2つのシンボルはae
æとAE
Æです。
key <AD02> {
type= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ w, W, ae, AE ]
};
ちょっと迷っているかもしれません。確認するアーチウィキペディアXKBのページは、どのオペレーティングシステムやディストリビューションを使用しても、良い内容です。
答え3
記号(/usr/share/X11/xkb/symbols/XY
)ファイルでKeyboard Variantsの下の行を見つけます{ [ w, W,
。明らかに、これら2つは小文字と大文字のwに対応しています。その後、3番目と4番目の項目は、それぞれAltGr
+wとAltGr++を押すShiftと表示される項目に対応しますw。
3番目と4番目の文字を目的の文字に置き換えるか、それ以外の場合は追加する必要があります。
ウィキペディアによると、対応する(ae、AE)UnicodeポイントはそれぞれU + 00E6とU + 00C6なので、シンボルファイルの新しい編集行は(+シンボル省略)でなければなりません。
{ [ w, W, U00E6, U00C6 ] };
このファイルを更新するシステム更新はそれを上書きするので、編集したファイルのコピーを家のどこかに保存し、更新で上書きするたびに次のコマンドで置き換えることをお勧めします。
sudo cp /YOUR/BACKUP/SYMBOL_FILE /usr/share/X11/xkb/symbols/SYMBOL_FILE