web-dev-qa-db-ja.com

Caps Lockによるモードレス/ステートレスレイアウト言語の切り替え(18.04 LTS Bionic Beaver)

これは何度も尋ねられたので、簡単に説明します。

2つの入力レイアウト、ウクライナ語と英語があり、次のものが必要です:

  • 使用するCaps Lock高速スイッチング。
  • 遅延はありません 課せられていない、私は速いタイパーです。
  • ない モードエラー
    • (いくつでも) CapsLock 英語を設定し、
    • (いくつでも) ShiftCapsLock ウクライナ語を設定します。
  • 標準ウィジェットで現在のレイアウトを確認してください。

これを構成するために、Gnome設定、gnome-Tweak-tooldconf-editor/gsettingsの3つの(!)GUIをすでに試しました。何も機能しません。 Tweaksがランダムにクラッシュします。

十分な宿題が完了しました

私はこれを自分自身に尋ねた 4年前 14.04 LTSの場合。それ以来、そのUIポップアップが表示され、すべて壊れました。 statefulを簡単に設定できるようになりました CapsLock トグル、しかしそれでも、それはその苛立たしい遅延と一緒に行きます。基本的に、文ごとに4〜5回言語を切り替える必要があるときに使用できません。

このスレッド は、バグの回避策としてcaps:none XKBオプションを提案します。 gsettings CLIとdconf-editorの両方、およびgrp:shift_caps_switchXKBと組み合わせて、それを試しましたオプション。サイコロはありません。見たところ、何かがこれらのコアXKB機能に勝っています。

このスレッド は、バインドできるハックとしてcaps:menu XKBオプションを提供します CapsLock in Gnome Settings→デバイス→キーボード。少しは機能しますが、A)周期的/ステートフルな切り替えを提供します。 B)すべてのスイッチでまともなタイムアウトを待つ必要があります。

このスレッド は、私が必要とするものを正確に尋ねますが、未回答であり、さらに悪いことです。他の2つの質問の重複として閉じられています(???)どれも同じではなく、どれも私に実用的な解決策を与えません。何が悪いの?

別の完全一致 があります—残念ながら、未回答です!


募集:クリーンなソリューション

12
ulidtko

Ubuntu 18.04では、デフォルトで選択するオプションがあります Caps_Lock そして Shift+Caps_Lock 私たちが探している動作を実現するために、gnome-tweaksにあります。しかし、これは機能しておらず、理由がわかりません。

enter image description here

以下の回避策でこの動作を達成することができました。

20秒のビデオについては、このリンクを参照してください。 https://imgur.com/QNdrVqa

まず、ターミナルで以下のコマンドをチェックして、入力言語を変更しているかどうかを確認します。

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"

そして

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"

まあ、彼らは働いています。

enter image description here

これらのコマンドをキーの押下にバインドする必要があります Caps_Lock そして Shift+Caps_Lock

xbindkeysがまだインストールされていない場合は、xbindkeysでこれを実現できます。Sudo apt install xbindkeysでインストールします

  1. $ HOMEフォルダにファイル.xbindkeysrcを作成します
    touch ~/.xbindkeysrc
  2. キーコード/ IDが何であるかを知る
    実行xbindkeys --key白いボックスが表示されたら、 Caps_Lock ボタン、それを行う Shift ボタンもクリックして、以下に示すようにキーコード/ IDをコピーします

enter image description here

  1. このステップはオプションです。CapsLockを無効にします。下のgifを参照してください。 Caps Lockが無効になっていない場合、キーを複数回押すと、言語を変更しようとするときに切り替わります。無効にしました。しかしそれはあなたの興味に基づいています。

enter image description here

  1. ファイルを開く.xbindkeysrc
    gedit ~/.xbindkeysrcそして、上記の手順の結果に基づいて、以下のようにファイルを編集します

上記のステップ2で得た結果に従って、以下のコンテンツの値を変更します。コンテンツ:

"gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()""
m:0x10 + c:66

"gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()""
Shift+Mod2 + Shift_L+m:0x10 + c:66
  1. ファイルを保存して、閉じて再起動します。
5
PRATAP

購読できるバグレポートがあります:

バグレポートには次のように書かれています。

キーボードパネルには入力切り替えのオプションがありますが、Capsを言語切り替えとして使用することはできません。

再現する手順:

  1. gnome-control-centerキーボード
  2. [タイピング]セクションまでスクロールします
  3. 次の入力ソースに切り替えをクリックします
  4. プレスキャップ

期待される結果:Caps Lockキーがスイッチキーとして受け入れられる実際の結果:選択ウィンドウでCapsキーが無視されます。

追伸「前の入力ソースに切り替える」とShift-Capsキーの組み合わせについても同様です。

バグの回避策

バグは現在「ウィッシュリスト」にあります。これらの回避策は提案されます:

回避策1

このバグの回避策を見つけました:

  1. Dconf-editorをインストールします(sudo apt-get install dconf-editor)
  2. / org/gnome/desktop/wm/keybindings /に移動します
  3. キーswitch-input-sourceを選択し、[Use default value]をオフにして、[Custom value]を['Caps_Lock']に設定します
  4. (オプション)switch-input-source-backwardの値を['Caps_Lock']のような値に変更することもできます(ここでも、[デフォルト値を使用]をオフにします)

回避策2

これを行う別の方法:1. GNOME Tweaks(gnome-Tweak-tool)をインストールします2. Tweaksアプリを開きます3.キーボードとマウスパネルに切り替えます4.追加のレイアウトオプションをクリックします5. [別のレイアウトに切り替える]セクションを使用します

バグレポートを購読する

バグレポートに登録して、独自の体験を追加することをお勧めします。バグレポートを購読する人が多いほど、解決策が早くなります(通常)。

5