印刷するキーボードキーの再マッピング⸮(斜めマーク)

印刷するキーボードキーの再マッピング⸮(斜めマーク)

自分を使っていることを発見ねじれた印⸮ 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です。

Xmodmap マニュアル:

可能なすべての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進コード)になります。

他の場所でも使用できるようにキーボードを設定するには:

xmodmap1つの方法でしたが、Xkbの設定がより複雑に見える場合でも、Xkbを好むので使用されなくなりました。しかし、あなたは不思議な呪文を要求しました:D

setxkbmap -print使用しているキーマップを印刷します。これをファイルに送信して、新しいキーマップの基礎として使用できます。 (「方法」のクイックバージョンを表示するには、以下の例に進んでください。)。

xkbcompキーマップをコンパイルしてXサーバーに送信するために使用できるユーティリティ。

xkbcomp $DISPLAY keymap.dump現在の設定をファイルにダンプしますkeymap.dump。以前と同じですが、included個の要素を組み合わせた値を持っているので長くなります。キーに割り当てられた名前を検索すると便利です。キーに異なるシンボルを割り当てるには、名前が必要です。自分で編集して使用することもできますが、必要なものを含めて上書きすることもできます。これらのファイルは各セクションに対応するディレクトリに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ウィキ最後に、詳細と他のリンクがあります。

関連情報