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で使うことで何とかなります。これは特に 問題ありません。
- 変換キー: 全角かな入力 (hiragana mode)
- 無変換キー: 英数半角入力 (latin mode)
ALT-漢字、漢字、ALT-`等でのトグル動作が嫌いで、Macの真似でこんな キーバインディングしています。
Windows10でもトグル動作が嫌いで、OS側から プロパティ → 詳細設定 → キー設定 変更 として以下の設定で同様の操作感にそろえています。
- 変換キー: IME-ON (IMEは全角かな入力モードにしておく)
- 無変換キー: IME-OFF
英語キーボードでのIM側の設定方法 (ibus+Anthy)
ただ、英語キーボードの場合は変換と無変換キーはありません。
- SHIFTと普通の文字との組み合わせは論外。
- CTRLと普通の文字との組み合わせも、VIM使うので全部先約有り。
- ALTと普通の文字との組み合わせも、メニューへのショートカットで全部先約有り。
こういったことも有り、私はAnthyの中のキーバインディングで CTRL-SPACE, SHIFT-SPACEを一時使っていました。
ところが、SHIFT-SPACEやCTRL-SPACEのどちらかをLokalizeなどのアプリ が使っていました。(ALT-SPACEは既にGNOMEが使っている)こうなると、 お手上げです。
結局今は、Anthyの中のキーバインディングは以下にしています。
- SHIFT-SPACE: 全角かな入力 (hiragana mode) 変換キーも
- CTRL-SPACE: 英数半角入力 (latin mode) 無変換キーも
Windows10でも英語キーボードの場合にはOS側から プロパティ → 詳細設定 → キー設定 変更 として以下の設定で同様の操作感にそろえています。
- SHIFT-SPACE: IME-ON (IMEは全角かな入力モードにしておく) 変換キーも
- CTRL-SPACE: IME-OFF 無変換キーも
英語キーボードでの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 |