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


12

これは何度も聞かれているので、簡単に説明します。

私が持っている二つの入力のレイアウト、ウクライナ語と英語を、としたいです:

  • Caps Lock高速スイッチングに使用します。
  • 遅延が課されていないので、私は高速タイプラーです。
  • モードエラーがありません:
    • (任意の数)CapsLockセット英語、
    • (任意の数)ShiftCapsLockウクライナ語を設定します。
  • 標準ウィジェットの現在のレイアウトを参照してください。

私はすでにこれを設定するために、3つの(!)のGUIを試してみた、Gnomeの設定、gnome-tweak-tool、  dconf-editor/ gsettings。何も動作しません。Tweaksランダムにクラッシュします。

十分な宿題

私はこれを4年前に14.04 LTSで自分自身に尋ねました。それ以来、そのUIポップアップが表示され、すべてが壊れました。ステートフル CapsLockトグルを簡単に構成できるようになりましたが、それでもその刺激的な遅延が伴います。基本的に、文ごとに4〜5回言語を切り替える必要があるときは使用できません。

このスレッドcaps:none、バグの回避策としてXKBオプションを提案しています。gsettingsCLIとdconf-editor、およびgrp:shift_caps_switchXKBオプションと組み合わせて、これを試しました。サイコロなし。何かがこれらのXKBのコア機能よりも優れているようです。

このスレッドは、「デバイス」→「キーボード」でcaps:menuバインドできるようにするためのハックとしてXKBオプションを提供します。動作しますが、A)周期的/ステートフルスイッチングを提供します。B)すべてのスイッチで適切なタイムアウトを待つ必要があります。CapsLockGnome Settings

このスレッドは、私が必要なものを正確に尋ねますが、未回答であり、さらに悪いことです:他の2つの質問の重複として閉じられます(???)どうしたの?

あります別の完全一致、悲しいかな、だけでなく、未回答は- !


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


1
賞金として$ではなく評判についてはどうでしょうか。たとえば、+ 50ポイントの評判でしょうか。
karel

@karelそれについては何も問題はありませんが、「新鮮な」質問はstackexchangeでの報奨金の対象にはなりません。質問が行われた2日後、質問に対して賞金を開始できます。降格しないでください。
ウリトコ

私は投票しませんでした。私がしたことはすべてコメントされました。
カレル

OK。それにもかかわらず、私は特にAskUbuntuで評判バウンティを提供し獲得しました。この質問は、時間があるときにも得られます。
ウリトコ

1
@ulidtkoでピークを迎えようとしますgnome-tweaks-tool。私は最近忙しいので、何かを掘り出すことができ、かなりの時間を必要とするかどうかは約束しませんが、に関連する何かを掘り出す場合は回答を投稿しgnome-tweak-toolます。ここにコメントを残したり、他の方法で私に連絡してください
Sergiy Kolodyazhnyy

回答:


5

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

ここに画像の説明を入力してください

以下の回避策により、この動作を達成できました。

20Secビデオについては、このリンクを参照してください。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()"

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

ここに画像の説明を入力してください

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

でこれを達成することができますxbindkeysxbindkeysはまだしてインストールインストールされていない場合sudo apt install xbindkeys

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

ここに画像の説明を入力してください

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

ここに画像の説明を入力してください

  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. ファイルを保存して、閉じて再起動します。

2
うまくいきました!再起動しなくてもログアウトする必要はありませんでした(xbindkeys --poll-rc)。また、grp:shift_caps_switchXKBオプションをオンのままにしました。これにより、キーコードの印刷方法(m:0x0 + c:66 ISO_First_Groupm:0x1 + c:66 Shift + ISO_First_Group)が変更されました。それから問題はありません。キーボードのLEDも光ります!すばらしい仕事、あなたは完全にこの賞金を得るべきです。(gnome-tweaksの著者は、だれであれ、私や他の人から不機嫌そうな顔をしかめます。)
ulidtko

5

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

バグレポートは次のとおりです。

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

再現する手順:

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

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

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

バグの回避策

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

回避策1

このバグの回避策が見つかりました。

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

回避策2

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

バグレポートを購読する

バグレポートを購読し、あなた自身の経験を追加することをお勧めします。バグレポートを購読する人が多くなればなるほど、ソリューションは(通常)速くなります。


回避策1は私の要件に合わず、周期的な切り替えを提供しますが、これは私が望んでいるものではありません。回避策2(Gnome-Tweaks)が試行され、beatられて死にました。クラッシュさせることはできますが、動作させることはできません。(別の)リンクをありがとう。
ウリトコ

私はあなたの質問に賛成票を投じ、より多くの注目を集めることを願っています。バグレポートにすべての試行とエラーを投稿すると役立つ場合があります。
WinEunuuchs2Unix
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.