
自分を使っていることを発見ねじれた印⸮ Unicode U+2E2E(またはß Unicode U+061F)は、mcabberとvimの両方に豊富です。古いコピー - 貼り付け防止パターンは、退屈で印刷する必要のある無駄なキーボードキーの1つの名前を変更する必要があると思いました。だから私の質問は3つです(しかし実際には同じ質問です)。
- 行う方法マクベス?
- 行う方法素晴らしい?私が使用するウィンドウマネージャなので、すべてのアプリケーションで動作する必要がありますか?
- xmodmapまたは他の神秘的なX11オーダーを使用してこれをどのように実行しますか?
map! ;; ⸮
vimではファイルに追加するのと同じくらい簡単なので、~/.vimrc
挿入モードでは ";;"を入力するだけです。
答え1
Compose私はComposeキーシステムを使用することを好みます。ちょうど確認した結果 - /- ?(およびCompose- ?- /) がしばらく U+2E2E を出力するように設定されたようです (? / に反映されます)。
私の.XCompose
ファイルは次のとおりです。
#
# add in the original stuff (what's usually there)
include "%L"
#
# Compose key sequences
#
# generate PI char
<Multi_key> <p> <i> : U03C0 # U03C0 PI
<Multi_key> <P> <I> : U03C0 # U03C0 PI
#
<Multi_key> <i> <n> <f> : U221E # U221E infinity
<Multi_key> <I> <N> <F> : U221E # U221E infinity
#
<Multi_key> </> <?> : U2E2E # U2E2E irony punctuation (reversed ?)
<Multi_key> <?> </> : U2E2E # U2E2E irony punctuation (reversed ?)
#
<Multi_key> <3> <*> : U2042 # U2042 asterism
#
#
include "%L"
ここでは、正しい"プリセット"キー入力の組み合わせを入力し、私のカスタム設定を追加するためにその行を使用します...
Capslock私のキーに再マップしました。Composeウィンドウマネージャがこれを行う方法を確認するか、setxkbmap
コマンドについて読んでください。しかし、これは私のものです:
setxkbmap -model pc101 -layout us -option -option compose:caps -option shift:both_capslock
Capslockに設定し、+(Composeも設定します。ShiftShift両方)キーを押してCaps Lockを切り替えることができます。 (そのような人のために珍しい機会)。より多くのオプションがあります-option
。簡潔さのためにいくつかを削除しました。主にX Windowsです。ジャブ(Ctrl- Alt- Backspace)キーストロークとLeft-Win存在Meta
答え2
これはさまざまな方法で達成できます。 X11では、Xmodmapはおそらくこのような簡単な変更のための最も簡単な方法の1つです。
この文字は、UnicodeからU + 2E2Eに逆方向疑問符(⸮)を使用して表示できます。もう1つのおおよその文字はアラビア語の疑問符(Ù)、U + 061Fです。
可能なすべてのUnicode文字に対して、Unicode文字と一致するキー記号は、「U0020」-「U007E」および「U00A0」-「U10FFFF」で指定できます。
試してみました。
xmodmap -e "keysym F8 = U061F"
問題を解決しているようです。上記のコマンドは、F8keyymを介してシンボルをキーにバインドします。もちろん、シンボルを目的のキーにバインドできます。可能なすべてのキーシム(現在マップされていない場合でも)は通常ファイルにあります/usr/include/X11/{keysymdef,XF86keysym}.h
。キーコードでマッピングすることもできます。次のツールを使用してください。シフシステムのキーコードとマップされたキーシンボルを確認できます。
ちょっとまともなものを見てxmodmap チュートリアルインターネットから。
答え3
最良の方法はキーボード構成です。
Jabberクライアントで文字を印刷するためにカスタムショートカットを設定できるかどうかはわかりませんが、そのアプリケーションでのみ機能します。 Awesome の場合はウィンドウマネージャーなので、そのタスクではありません。
一部(少なくともGTK)アプリケーションで対応する文字(またはUnicode文字)を入力するには:
Ctrl+ Shift+Uこれは2E2E(16進コード)になります。
他の場所でも使用できるようにキーボードを設定するには:
xmodmap
1つの方法でしたが、Xkbの設定がより複雑に見える場合でも、Xkbを好むので使用されなくなりました。しかし、あなたは不思議な呪文を要求しました:D
setxkbmap -print
使用しているキーマップを印刷します。これをファイルに送信して、新しいキーマップの基礎として使用できます。 (「方法」のクイックバージョンを表示するには、以下の例に進んでください。)。
xkbcomp
キーマップをコンパイルしてXサーバーに送信するために使用できるユーティリティ。
xkbcomp $DISPLAY keymap.dump
現在の設定をファイルにダンプしますkeymap.dump
。以前と同じですが、include
d個の要素を組み合わせた値を持っているので長くなります。キーに割り当てられた名前を検索すると便利です。キーに異なるシンボルを割り当てるには、名前が必要です。自分で編集して使用することもできますが、必要なものを含めて上書きすることもできます。これらのファイルは各セクションに対応するディレクトリにinclude
あります。/usr/share/X11/xkb/
キーマップファイルにはいくつかのセクションがあります。
xkb_keycodes
: キーボード X キーコードを他のセクションで使用されるキー名にマップするセクションです。このセクションでは、Xキーコードを取得し、関連するxev
名前を見つけることができます。xkb_types
:タイプとキーボード修飾子(Shift、Control、Alt、これらの組み合わせなど)に対応するレベルを説明するセクション。xkb_compatibility
:「Xkbを認識していないアプリケーション」について私が読んだことによると、ここで何が起こっているのかわかりません。xkb_symbols
:キー名をキーシンボルにマップする部分と、対応するUnicode文字を追加するために定義の1つをオーバーライドする部分。使用するキーの現在の定義を表示できます。xkb_geometry
:物理的なキーボードの形..何の用途なのかわかりません。
ダンプされたキーマップのキー定義を見ると、関連するタイプがあることがわかります。キーの種類によって、使用可能な修飾子とそのレベルが決まります。キーとレベルの組み合わせはキーシンボルに対応します。このタイプは、xkb_types
このセクションで定義されているタイプです。キーをオーバーライドするときに他のタイプを指定しないと、インクルードxkb_symbols
マップで定義されたタイプになります。
たとえば、Just Key、Key+、Key+、Key++Iに対応する 4 つのレベルがあります。ShiftAltGrShiftAltGr
このグループの場合、キーボード構成で複数のレイアウトを使用しない場合は、おそらく1つのレイアウトしかないため、これを指定する必要はありません。 (複数のグループを使用して、グループに関連付けられているキー定義を切り替えることができます)。
以下は、変更されたキーマップファイルの例です。
xkb_keymap {
xkb_keycodes { include "evdev+aliases(azerty)"};
xkb_types { include "complete"};
xkb_compatibility {include "complete"};
xkb_symbols {
include "pc+fr+inet(evdev)"
key <AD08> {[ i, I, U2E2E, idotless]};
key <AD09> {[ o, O, oslash, U262F]};
};
xkb_geometry { include "pc(pc104)"};
};
このキーを使用して、マッピングAltGr+Iは⸮を提供し、Shift+ AltGr+はO ☯を提供します。
キーマップ設定:
xkbcomp mykeymap.xkb $DISPLAY
これアーチLinuxウィキ最後に、詳細と他のリンクがあります。