2020年09月10日

【自キ】WinでもMacでも英数/かなでIMEオンオフするために

無変換、変換、英数、かなは、全て異なるキーコード。
Winの無変換変換は、Macでは無視される。
Macの英数かなは、Winでは無視される。

これを利用して、
あるキーX1に、無変換と英数の2キーコードをマクロで出力、
別のキーX2に、変換とかなの2キーコードをマクロで出力、
するように組み、
X1とX2を好きなところ(親指のスペースの両脇が定位置)に置けば良い。

これで、Winに繋いでもMacにつないでも、
IMEのオンオフが同じキーから操作できるよ。


その前に下準備:

Winサイドで、
無変換、変換をIMEオフ、オンに割り当てる。

(IMEを右クリック、プロパティ→詳細設定から辿ってね。
ちなみに無変換、変換以外にも当てられるので、
無変換変換を別に使いたい人は別キーに割り当て、
QMKからそのキーを発行すればよい。
僕は、無変換とひらがなカタカナキーを使っている。
混乱を避けるため、以下表記は無変換と変換で統一)

キーボードをJIS設定にする。
(US設定だと、QMKから吐き出した変換無変換を認識しない)

Macサイドで、
キーボードをJIS設定にする。(同上)


これで、
無変換または英数でIMEオフ、
変換またはかなでIMEオン、
がOSレベルで可能になる。

あとはQMKから二つのキーコードを吐けばよいだけ。
keymap.cの中でマクロを定義すればOK。
(やり方は各自調べてね)


問題がふたつある。
1. US配列が使えないこと。USベースのQMKでは、記号系などが混乱する。
2. 貴重な親指部を2キー消費してしまう。

2はとくにミニマリストにはお勧めしない。
僕は36キーを使っているため、
もったいなくて使わない。



ちなみにカナ配列薙刀式では、
FG同時でIMEオフ、
HJ同時でIMEオンに定義している。

人差し指バインドの2キーだから、
普段同時に押されることのないキーを使った同時押し。
(ホームポジションから手をずらして、
人差し指と中指で打っている)

分かりやすいし使いやすいし誤爆もないし左右分割にも相性いいしで、
X1とX2を作るくらいならこれがオススメ。
今のところもっとも賢い方法だと自負している。


Alt+~(WinUS、MacUS)も、
全角半角キー(WinJIS)も、
Ctrl+Space(Macのデフォ、Winで設定可能)も、
トグルなので、
いまIMEがオンなのかオフなのかわからないときに、
USBの表裏現象と同じことが起こる。
こんなもん、道具として欠陥品だろ。

明示的にIMEをオンオフできる機能を作るべきだ。



(追記)
Win10の何度目かのバージョンアップによって、
また仕様が変更されたようです。コメント欄をご覧ください。
おそらく、デフォルトで、
「無変換、変換をMacライクに英数、かなに当てられる」
バージョンからだと思われます。

しかしそれやったら、
CapsLockで英数、ひらがなカタカナでかな(実はデフォルト)派は、
どうなるんやろね…
もうそろそろキーボードのJIS仕様を更新するときじゃないのかね…
posted by おおおかとしひこ at 12:41| Comment(4) | カタナ式 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
最近試したところ、Macの英数かなは、Winではそれぞれ「ImeOn」「ImeOff」として認識されてIMEがオンオフでき、さらにUS配列の認識でも動作しました。

「Macの英数かなは、Winでは無視される。」「US配列が使えないこと。」というのは、以前はその通りでしたので、この記事はこれからも役に立つのではないかと思いますが、報告することにしました。
Posted by なかやさとる at 2020年09月13日 12:02
なかやさとるさんコメントありがとうございます。

最近のWinのバージョンアップで、
そこまで仕様が変わっていたとは…
僕は前の版で設定したまま使ってたので気付きませんでした。
ということはUS設定にしても再変換が出来るのか。
これは記号部と相性がいいぞ…

情報ありがとうございます。
Posted by おおおかとしひこ at 2020年09月13日 15:38
使っていた新JIS配列のスクリプトが、数日前から自作キーボードで誤動作するようになって気づきました。

よく調べてみると、Win10 ver.1909 は今月9日のアップデートで、ver.2004 は今年7月15日のアップデートで、キーボードドライバが修正されたようです。
特殊なドライバを使っていたり、MS-IME以外のIMEでは駄目かもしれません。

US設定で再変換を使うには、これまで通りDvorakJなどを使うか、Ctrl+Shift+Jなどのキーに割り当てるしかないようです。
Posted by なかやさとる at 2020年09月13日 21:11
>なかやさとるさん

さらなる情報ありがとうございます。
自分のPC内でもこれだけ混乱があるということは、
「お使いの環境で確認してください」としか言いようがなくなるなあ。

ガンガンマイクロソフトに苦情ぶっこんだほうがいいですねこれは。
おそらく把握してないでしょうから。
苦情がなければ「なかった問題」となるのではないでしょうか。
紙とペンでこんなバージョンアップバグないもの。
Posted by おおおかとしひこ at 2020年09月13日 22:20
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。