web-dev-qa-db-ja.com

Waylandでキーボードマッピングをカスタマイズする方法

私はUK/GBキーボードを備えたMacbookでLinuxを使用し、キーマップをカスタマイズしてAppleの奇妙なキーボードレイアウトが引き起こすいくつかの問題を解決しています。私はこれを行うためにxmodmapを使用します。 Waylandを試してみたいのですが、xmodmapが機能しません。ウェイランドで同様の結果を得るにはどうすればよいですか? .Xmodmap使用するファイルには次のものが含まれています。

keycode  12 = 3 numbersign 3 sterling sterling sterling threesuperior sterling
clear Control
clear Mod4
add Control = Control_L Super_R
add Mod4 = Super_L
keysym Caps_Lock = NoSymbol Caps_Lock

1行目:英国のキーボード Shift-3 は£なので、通常、#は近くに独自のキーを持っています Return。しかし、Macでは#は Altgr-3。プログラマーとして、私は#をはるかに超えて使用するので、この行はそれらを入れ替えます。 USレイアウトを選択することでもこれは実現しますが、Linuxでこれを行うと、他の一般的に使用されるキーも交換されます。一方、OS Xでは、他のキーはUS/UKの影響を受けません。

2〜5行目:正しい方向へ Cmd キーは右として機能しますCtrl、このキーボードには物理的な権利がないため Ctrl キー。

6行目:メイク CapsLock あなたがそれを押す場合にのみ機能します Shift。 Mac固有ではなく、これはすべてのOSとキーボードの標準オプションです。

23
realh

残念ながら、/usr/share/X11/xkbのシステムXKBデータベースを変更することが唯一の方法です。あなたの 他の質問 から、その部分が機能しているようです。

制限は主に、Waylandの未成熟とXKBでの設計の監視によるものです。

  • setxkbmapxkbcompなどのツールは、ユーザー定義のデータベースを追加するための-Iオプションを提供します(例:~/.xkbまたは~/.config/xkb、ファイルおよびサブディレクトリ付き)システムデータベースのようにレイアウトされます)。これらのツールはXサーバーと対話するため、Waylandの下でXアプリケーションを実行するためのXwayland互換性レイヤーの設定に役立つ場合があります。しかし、彼らは現在ウェイランドのプロトコルを話していません。

  • Waylandプロトコルはまだ成熟しています。現在、 input-method および text-input プロトコルが最も関連性が高く、どちらも不安定です。定義されたキーマップの変更については何も触れません。これらの詳細はコンポジターに任されます。

  • GNOMEとKDEはどちらも、オンザフライでの変更を含め、システムXKBオプションを処理するキーボード処理設定デーモンを提供します。私の知る限りでは、ユーザーのカスタマイズについて伝える方法はありません。私の知る限り、Westonおよびその他のコンポジターは、起動時にXKBオプションを設定するために構成ファイルまたは環境変数に依存しており、終了して再起動する以外にそれらを変更する方法はありません。

  • XKB自体でも、これは完全にはサポートされていません。カスタムシンボルファイルは、他のシステムシンボルファイルをincludeできます。ただし、現時点ではXKBルールファイルにinclude機能がないため、Waylandコンポジターと通信して個人用のカスタマイズを検索するツールがあったとしても、手動ですべてのルールを含める必要があります。使用したい(つまり、システムXKBからrules/evdev*をコピーして変更する)。 libxkbcommonには、このトピックに関する 未解決の問題関連のバグ があります。

12
quixotic

私はLinuxで Interception Tools を使用してこれに成功し、- カスタムマッピング用に他のプラグインを作成する人々 も知っています。 caps2esc は、私が日常的に使用する最初の概念実証プラグインであり、XとWaylandの両方で動作します。このツールは通常のマッピングソフトウェアより少しレベルが低いですが、非常に柔軟性があり、次のプラグインの私の計画は、一般化されたコードマッピングツールです。

免責事項:私は作者です。

6
pepper_chico

2018年にここに来る人たち(Ubuntu 17.10)にとって、これの最も重要な部分はGNOME Tweak Toolを使用して達成できます。

Gnome Tweak Tool>キーボードとマウス>追加のレイアウトオプション> CtrlはWinキー(および通常のCtrlキー)にマッピングされます。

4
Bardi Harborow

この答えはquickoticの答えと同じ考えを持っていますが、より詳細な例があります:

Gnome Tweaksには、xkbで実行できる20または30のキーボード調整のリストがあります。時には、デフォルトで探しているTweakを見つけることができます。私の場合、printscreenキーをMenuと交換したかったのです。

Xkb経由で利用可能なprintscrキーを変更する唯一のオプションは、Win_Rで置き換えることでした。 Gunnar Hjalmarsson このスレッド は、printscr/win_rが代わりにprintscr/menuを実行するようにxkbの変更を変更することを提案しました。私たちは一緒に解決策を考え出したので、ここでそれを再送信します。

ターミナルで次のように入力します。

Sudo su
nano /usr/share/X11/xkb/symbols/altwin

ファイルの下部には、次のものが含まれています。

// Win is mapped to the PrtSc key (and the usual Win key).
partial modifier_keys
xkb_symbols "prtsc_rwin" {
    replace key <PRSC> { [ Super_R, Super_R ] };
    modifier_map Mod4 { <PRSC>, <RWIN> };
};

このセクションを削除して、次のものに置き換えます。

// Menu is mapped to the PrtSc key (and the usual Win key).
xkb_symbols "prtsc_rwin" {
     replace key <PRSC> { [ Menu, Menu ] };
     modifier_map Mod4 { <PRSC>, <MENU> };
};

Nanoで削除するには、バックスペースキーを使用します(強調表示と削除は機能しません)。貼り付けるには、shift-ctrl-vを使用します。終了して保存するには、ctrl-xを押し、「はい」を選択して上書きし、Enterキーを押します。

リブート。 Gnome/Ubuntuでgnome-Tweak-toolsに移動します。Tweakツールで[キーボードとマウス]セクションに移動し、[追加のレイアウトオプション]ボタンを押してAlt/Winキーの動作を展開します。一番下のオプションの選択:Winはprintscrにマップされます(この動作を変更して、印刷とWinではなく印刷とメニューを交換するようにしたことを思い出してください)。 (KDEのmodded xkbオプションをオンにする方法は確かにありますが、使用していません。そのため、正確な手順を説明することはできません)。

2
thebunnyrules