素晴らしいウィンドウマネージャーで、キーバインディングにキーボードイベントを送信させるにはどうすればよいですか?


11

そのタイトルはおそらくあまり役​​に立たないと思いますが、ここに私の問題があります:

私は素晴らしいウィンドウマネージャーを使用していて、私のキーバインディングを特別なキーのOSXのフレーバーと同様にしようとしています。私はドイツ語を勉強しているので、いくらか定期的に母音の上にウムラウト(二重ドット)を付けて入力する必要があります。OSXでこれを行うには、Alt + Uを入力してから、必要な母音を入力します。

明らかに、それはawesomeでは実現可能ではありませんが、私がやりたいのは、ウムラウトされたキーを押したような印象を与えるキーボードイベントを送信するmodkey +です。

最初にキーボードレイアウトを変更する必要がありますか?コードがレイアウトを変更し、対応するイベントを送信して、それを元に戻すようなものですか?または、レイアウトを変更せずにイベントを送信できますか?

そして、可能であれば、最初にイベントを送信するにはどうすればよいですか?

回答:


5

これは、ウィンドウマネージャーではなくXmodmapを使用して行います。これはキーボードレイアウト/キーマップに直接関係し、ウィンドウマネージャーには関係しません。

xmodmapを変更するには、という名前のファイルを作成し~/.Xmodmap、次のコンテンツを追加します。これにより、altgr + uでüäößを直接入力できるようになります。

keysym a = a A adiaeresis Adiaeresis
keysym o = o O odiaeresis Odiaeresis
keysym u = u U udiaeresis Udiaeresis
keysym s = s S ssharp section

その後、このファイルからコンテンツを適用する必要があります xmodmap ~/.Xmodmap

ウムラウトを入力する別の方法は、米国の国際レイアウトを使用することです。これにより、ウムラウトを "+文字で入力できます。äを入力するには、を入力する必要があります"a。国際レイアウトは、Windowsでも、OSXで知る限り使用できます。

setxkbmap -layout us -variant intl

ただし、ウィンドウマネージャー(具体的にはAwesome WM)には、VirtualBoxがキーバインドをインターセプトできないという機能があります。ここではsetxkbmapが役に立たないと思います。
Hi-Angel

11

あらゆる種類の異なるキーシーケンスに対して構成キーを設定できます

Ubuntuには特定の手順がありますが、GnomeやXfceなどのデスクトップ環境を実行していることを前提としています。

スタンドアロンのウィンドウマネージャーとしてawesomeを使用している場合は、次の.xinitrcようにファイルに構成キーを設定できます(この例では正しいAltキーを使用しています)。

setxkbmap -option compose:ralt

その後、äを構成するために、例えば、あなたがヒットします:CtrlRAlt"a

Wikipediaページで Composeキーの詳細を確認できます


6

Composeキーに加えて、「国際」キーボードレイアウトの1つを選択して、いわゆる「第3レベル」を選択するキーを設定することもできます。Debianでは、「英語(国際AltGrデッドキー)」を使用します。PCキーボードでAltGrは、これは実際にこの目的のためのものであり、Xはデフォルトで第3レベルのシフトに割り当てることを好みます。これを明示的に行うこともできます。

この作業を行うために必要AltGrなのは、キーボードのキーを押したままにすることです(これは基本的に別のシフトキーです)。これは、Macでも同様に機能します。

アクセントはウムラウトよりも直感的にアクセスできます。AltGr+ a問題á。ウムラウトバージョンでは、キーボードの母音キーの近くにあるキーを使用します。

AltGr+ Qä

AltGr+ Rë承知しましたウムラウトではありません。完全を期すためだけにリストしてください)

AltGr+ Jï(同上)

AltGr+ Pö

AltGr+ Yü

Shiftキーを押しながらこれらを押すと、大文字のバージョンが表示されます(例:AltGr+ Shift+ QÄ)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.