キーボード入力モード選択

Date: 2019/03/23 (initial publish), 2023/12/28 (last update)

Source: jp/note-00003.md

Previous Post Top Next Post

TOC

キーボード入力モード選択

Gnome等のLinuxの日本語環境でキーボード入力モード選択がトグル(ローテート) 動作(日本語/英語の交互切り替え)だと今どっちか分からなくなって結構不便です。

SUPER-SPACEとSHIFT-SUPER-SPACEがGnomeの側でのキーボード入力ソースの デフォルトの切り替えキーです。

input method内での切り替えは、昔のWindowsと同じ"zenkaku-hankaku"とか、 Unix系では良く使う"Shift-space"が良くバインドされています。

切り替えが、状態が分からなくとも一発でできるのが望ましいので、 その設定方法を以下に記します。

日本語キーボードのIM側の設定方法

日本語キーボードだと、変換と無変換キーを、Anthyの入力モード HiraganaとLatinへの切り替えにAnthyの中のキーバインディングで 設定して常にibus-anthyで使うことで何とかなります。これは特に 問題ありません。

ALT-漢字、漢字、ALT-`等でのトグル動作が嫌いで、Macの真似でこんな キーバインディングしています。

Windows10でもトグル動作が嫌いで、OS側から プロパティ → 詳細設定 → キー設定 変更 として以下の設定で同様の操作感にそろえています。

英語キーボードでのIM側の設定方法 (ibus+Anthy)

ただ、英語キーボードの場合は変換と無変換キーはありません。

こういったことも有り、私はAnthyの中のキーバインディングで CTRL-SPACE, SHIFT-SPACEを一時使っていました。

ところが、SHIFT-SPACEやCTRL-SPACEのどちらかをLokalizeなどのアプリ が使っていました。(ALT-SPACEは既にGNOMEが使っている)こうなると、 お手上げです。

結局今は、Anthyの中のキーバインディングは以下にしています。

Windows10でも英語キーボードの場合にはOS側から プロパティ → 詳細設定 → キー設定 変更 として以下の設定で同様の操作感にそろえています。

英語キーボードでのOS側の設定方法 (Gnome+ibus+Anthy)

アプリとの喧嘩を避けるにはGUI用にリザーブされている、GUIキー(SUPERと かWindowsキーともいう)やMENUキー等をGNOME側からのコントロールでibusの 各入力エンジン選択に使うのが良いわけです。(GUIキーはAnthyなどのアプリ のパネルからは使えません。)

そこで、GNOMEの設定→デバイス→キーボードの登場です。Gnomeは内部では通常 ibusしかサポートしていないので、ここに書いてあることは他のuim,fcitx,scim ではそのまま使えません。ここで、使用するINPUT METHODが2つしか無いとします。 英語とANTHYとしましょう。

設定リストの一番下のプラスをたたき、新規定義を追加します。

キーとして使えそうなのはSUPER-,、SUPER-.、SUPER-/、SUPER-’、SUPER-\、 SUPER-RETURNあたりです。SUPER-jもあいてますね。 SUPER-lで画面ロックなので、このまわりのSUPER-k、SUPER-;、は避けたいですね。 SUPER-a、SUPER-s、SUPER-n、SUPER-m、SUPER-TAB、SUPER-vも先約があるので 使えません。SUPERが左手なので右手のキーとの組み合わせが使いやすいかな。

inputSources[0](GNOMEのキーボード入力ソース選択画面で最初の項目) がANTHYとすると、変換キーはないのでSUPER-j (Japanese) をあてがいましょう。Commandは長いけど1行で入れてください。

Name     InputMethod_0
Command  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()"
Shortcut SUPER-j

もし、これが嫌ならSUPER-,、SUPER-.、SUPER-/などの右下のキーとSUPERの 組み合わせが使いやすい気がします。 (2つ以上のインプットメソッドを使うときにも便利ですね。)

inputSources[1]がENGLISHとすると、これには安心して戻れるように SUPER-RETURNをあてがいましょう。(SUPER-Eも考えたのですが アクセスが私にとって良くないので…)

Name     InputMethod_1
Command  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()"
Shortcut SUPER-RETURN

そしてANTHYは常にHiraganaとしておけばよしです。

ちょっとこれで使ってみましょう。

実は、ANTHY選択をSUPER-jとSUPER-/の両方の設定にして、 英語もSUPER-RETURNとSUPER-,の両方の設定にして、 どのキーが使いやすいかは比較検討中です。

ちなみに、デフォルト設定されているSUPER-SPACEやSUPER-SHIFT-SPACEを使い たくなければ、TYPINGにある設定から選び、出てきた設定変更の画面で バックスペースを用いてともに無効すれば、これらは使いまわしができます。

やはり、システムのデフォルト関係は変えたくないので、 右にあってまず使わないMENUキーの利用や、機能が重なり 使いまわせそうなSUPER-SPACEは使いませんでした。

2023年のGNOME 43 (Bookworm) では上記では不十分でもあり、 より良い方法をとっています。 Debian Workstation (usability) (v2023) や、 Debian Workstation (usability) (v2023-10) を参照下さい。

Previous Post Top Next Post