Macのキーボードショートカットと一致するように、Gnome DEでシステム全体の統合キーボードを再マップしますか?

Macのキーボードショートカットと一致するように、Gnome DEでシステム全体の統合キーボードを再マップしますか?

私は古典的なMacOSの頃からMacユーザーで、最近Debian / Gnomeに切り替えました。私はこれが新しいUIに適応するためにかなりの調整を必要とすることを知っています。 20年以上の筋肉記憶力にもかかわらず、まだ慣れにくいものの1つはキーボードショートカットです。

MacのキーはLinuxのキーと同じ機能を果たしますCmd。さらに、多くのキーボードショートカットがシステムレベルで実装され、すべてのアプリケーションで動作します。いくつかの例:CtrlSuper

Linux りんご
ループの適用 スーパータップ Cmd - タブ
キーボード言語レイアウトの切り替え スーパーSPC Cmd-Spc
ウィンドウを閉じる Ctrl-w コマンド-w
アプリケーションの終了 ??? コマンド-q
コピー/切り取り/貼り付け Ctrl-c/x/v コマンド-c/x/v
新しい文書/勝利 Ctrl-n コマンド-n
基本設定/設定 ??? コマンド-,
ジャンプワード Ctrl-le/ri ル/リーを選択
行の開始/終了 ??? コマンド-le/ri

???というフレーズが面白いです。 Linux でアプリケーションを終了するには、時々 - Ctrlq時にはAlt- ですF4。アプリケーションの基本設定/設定はどこにでもあります。 Libre Officeは-Altを使用F12します。他のアプリにはショートカットがまったく設定されていません。 1行の先頭または末尾に移動するには、1行のテキストフィールドで/を使用できますが、複数行のテキストエディタではこれを行う方法が見つかりませんでした。ShiftCtrlsHomeEnd

だから、2つの質問があります。

  1. 概念的には、これらのショートカットはLinuxでどのように機能しますか?各アプリケーションはそれを個別に実装しますか?コピー/貼り付けなどの操作は、各アプリケーションで同じ(Ctrl- c/)を実装しますか?v好みのための様々なキーがそう言うようです。ただし、Gnomeには設定にキーボードショートカットセクションがあります。それでは、ショートカットを定義してアプリケーションに「強制する」システムレベルの方法もありますか?

  2. Macの場合と同様に、システム全体で均一な動作を生成し、AppleのCmdキー位置に一致するようにキーを再マップする方法はありますか?

Linux修飾キー アップル修飾キー

Superこれには、Ctrlキーを特定の組み合わせにマッピングする修飾子が含まれている必要がありますAlt。上記の表を参照してください。つまり、物理キープラスAlt記号を押すとアプリケーションが循環しますが、プラスTab記号キーはウィンドウを閉じるなどの操作を実行します。SuperTabAltwCtrlw

繰り返しますが、私はGnomeを使用しており、それがWaylandで動作することを学びました(まだ正確には何かはわかりませんが、複数のソリューションが機能しないようにします)。同様の解決策を見たことがあります入力リマッパーただし、1つのソースキーとターゲットキーのみを再マップできます。AltandSuperまたはAltandを切り替えることはできますが、Ctrlそれらを組み合わせることはできません。 xmodmapについても読みましたが、Waylandでは動作しないようです。東近く有望に見えますが、ウェイランドでも動作しません。また、xsetとxevが言及されているのを見ましたが、この場合に有効であるかどうかはわかりません。

ベストアンサー1

さまざまな場所に実装されている2種類のショートカットについてお問い合わせいただきました。

アプリケーションやウィンドウ間の切り替えなどの操作は、中央コンポーネントによって処理されます。ウィンドウマネージャ– ほぼすべてのオペレーティングシステムで。すべてのウィンドウの位置と積み重ねの順序はウィンドウマネージャが最終的に決定するため、Alt-Tab(ウィンドウ間切り替え)、Alt-F4(ウィンドウ閉じる)などのショートカットも実装され、グローバルに構成が可能です。

(少なくともこれら2つの特定のショートカットは、Windowsおよび以前のIBM CUA標準と共有されています。)

一方、コピー/貼り付けやテキストカーソルの移動など〜しなければならないアプリケーションのみが処理しているデータの種類と現在選択されているデータを知っているため、アプリケーションによって実装されます。しかし、最も一般的には、アプリケーションは既存を使用して構築されます。ユーザーインターフェースツールキット標準ウィジェットのコピー/貼り付けの実装を担当するGTKまたはQtのようなものです。これはmacOSのAppKitまたはUIKitに似ています。

これらのツールキットの中で、Qtは議論するグローバル構成では、さまざまなツールキットレベルのキーバインディングをロードする機能によってグローバルKDE設定と統合されますが(理論的にはコピー/貼り付けキーを変更できます)、他のツールキットは通常これを行いません。たとえば、GTKアプリケーションはグローバルGNOME設定を使用せず、KDE設定にも興味を持ちません。

(伝統的な質問に加えて、次の点に言及する価値があります。クロスプラットフォームさまざまなレベルの成功を収めた複数のオペレーティングシステムに適応しようとしたツールキット(例えば、Electron、「Webブラウザはアプリケーションのように偽装する」ツールキット、例えばLinuxで使用されています)そしてアップルシステム。同様に、LibreOfficeは複数のオペレーティングシステムで実行され、GTK、Qt、またはWindows UIのように偽装できる「VCL」ツールキットを使用します。 FirefoxやChromeなどのWebブラウザも独自のUIツールキットを使用しているため、それを各オペレーティングシステムに適用するためにもっと努力するだけです。 )

「基本設定」または「設定」の概念はアプリケーションごとに異なります。各アプリケーションには、設定を保存する独自の方法と独自のダイアログボックスがあり、これはオペレーティングシステムによって提供されるものではありません。違いは、macOSが標準のHIGガイドライン(Ctrlやデフォルトの設定など)をより強力に推進するため、開発者が同じショートカットセットに同意する可能性が高いことです。 (GNOMEはmacOSにインスパイアされたスタイルを採用し、この部分をゆっくり改善してきました。今はKDEがどのように見えるのかよくわかりません。)

...もちろんmacOSははい一つデスクトップ環境には一連のガイダンスがあり、Linuxには少なくとも2つの主要環境(GNOMEとKDE)があり、時々彼らの哲学は互いに衝突します。 GNOME環境でKate(KDEのメインエディタ)のようなものを実行したり、その逆を実行したりすると、いつも少しぎこちない感じがします。 VSCodeのようなさまざまなElectronベースのアプリケーションは言うまでもありません。

Linuxでアプリケーションを終了するには、Ctrl-qを押すことも、Alt-F4を押すこともあります。

Alt-F4 は次のように実装されます。ウィンドウマネージャショートカット(ほとんどのWMは慣例に従ってこれを使用します)なので、アプリケーションに関係なくグローバルに設定し、すべてのウィンドウで動作できます。ただし、これは「アプリケーションの終了」ショートカットではなく、実際には単一のウィンドウを閉じるだけです。

一方、Ctrl-Qはアプリケーション固有のショートカットです。

1行の先頭または末尾に移動するには、1行のテキストフィールドでHome / Endを使用できますが、複数行のテキストエディタではこれを行う方法が見つかりませんでした。

各ツールキット(特にアプリケーション内のカスタムウィジェット)には異なるショートカットがあるかもしれませんが、Home / Endをサポートしていないツールキットはまだ見たことがありません。これはほぼ普遍的です。初めてジャンプ最初行または最後の行の終わりまでのショートカットはCtrl-Home / Endです(Windowsと同じ)。

おすすめ記事