スペイン語のeñe文字をキーの組み合わせにマッピングする方法は?この目的に適したアプリケーションは何ですか(xmodmap
、、xbindkeys
...)?
Caps Lock+を押すとn入力する必要があります。ñ
Caps Lock+を押すとN入力する必要があります。Ñ
キーボードレイアウトを切り替えずにこれを実行したいと思います。英語のキーボードレイアウトだけを使いたいです。
答え1
正確に望むわけではありませんが、Caps Lock
次のものを使用できますAltGr
。
AltGr+n 生産ñ
AltGr+N 生産Ñ
この機能を得るには、xmodmap
ビルドを知る必要がありますN
。
xmodmap -pke | grep "n N n N"
そこから、次の結果が得られますkeycode 57 = n N n N n N
。これは、キーコードがキーを57
表すことを意味します。n
次に、このキーコードを再マップして生成し、ñ
次の操作を行いますÑ
。
xmodmap -e "keycode 57 = n N n N ntilde Ntilde"
=
(このコマンドを使用すると、 でキーを入力すると次の 5 番目の位置が生成され、 と一緒に押すとAltGr
6 番目の位置が生成されます。)AltGr
Shift
これがうまくいけばログイン後に自動的に実行することができます。。
答え2
この回答では、xmodmapを使用して設定する方法について説明します。次の構成フラグメントを配置し~/.Xmodmap
、実行してxmodmap <~/.Xmodmap
適用します。展開と設定によっては、~/.Xmodmap
ログイン時に自動的にロードされたり、明示的に呼び出されたり、xmodmap
適用するにはデスクトップ環境を構成する必要があります。~/.xinitrc
~/.xsession
~/.Xmodmap
Xにはキー記号(つまり抽象キー名)がありますMode_switch
。米国外のラテンスクリプト言語のほとんどのキーマップでは、このキーシンボルは正しいAltGrキーAltを置き換えるラベル付きキーにバインドされています。Mode_switch
たとえば、別のキーにマッピングすることを選択できますCaps Lock。 PCキーボードのキーコード(ハードウェアから転送)Caps Lockは66なので、バインディングをに変更してMode_switch
Caps Lock修飾子を削除します。
keycode 66 = Mode_switch
clear Lock
また、修飾子をに関連付ける必要がありますMode_switch
。Mod1
を通過する5つのカスタム修飾子がありますMod5
。どちらでも大丈夫ですが、一つは必須です。実行して、xmodmap -pm
どの修飾子が使用されているかを確認し、未使用の修飾子の5つのうちの1つを選択し、次の行を追加します.Xmodmap
。
add Mod3 = Mode_switch
xmodmap キー仕様では、キーが送信した文字はシンボルの後ろの 3 番目の列にMode_switch
あり、+ は 4 番目の列にあります。 (最初の2つの列は修飾子のないキーと同じキーに適用されます。)ディレクティブを使用して、キーコードに関係なく現在送信されているキーを再バインドできます。=
Mode_switch
Shift
Shift
keysym
n
keysym n = n N ntilde Ntilde
右側の名前は実際にはキーシンボル名です。/usr/include/X11/keysymdef.h
たとえば、この行は、Unicode文字U + 00D1に対応する#define XK_Ntilde 0x00d1
というキー記号があることを示します。Ntilde
一部の文字にはキー記号名がありません。代わりにUnicode番号を使用できます。
! U+2030 is PER MILLE SIGN, U+2031 is PER TEN THOUSAND SIGN
keysym 5 = 5 percent U2030 U2031
〜2009〜2011ビンテージシステムで修飾子を移動すると、次の問題が発生する可能性があります。X_SetModifierMapping
抜け穴。必ずしもそうではありませんが、一般的にclear Lock
エラーはを使用して解決できます。
答え3
Caps Lockが「Caps Lock」キーで機能しなくなったことに気が付かない場合は、「altgrに似た」状態に再マップできますxmodmap -e 'keysym Caps_Lock = ISO_Level3_Shift'
。