1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

背景と目的

普段は Mac をメインPCとして使い、Windows PC をサブで使う場合は、MacからRDPでWindowsを操作しています。
Windows に USキーボード(102キーボード)を設定していますが、唯一不便を感じるのが、IMEのオン/オフです。今は、タスクバー右の「A」「あ」をマウスクリックして切り替えていますが、キー操作で切り替えられないのが不便。

USキーボードを使用しているので、「変換」「無変換」キーが無いのは当然ですが、109キーボードを接続しても、スペースバーの左右にある「変換」「無変換」キーは まったく機能しません(押しても反応しない)。
もちろん、IMEの設定で「変換」「無変換」キーに IMEのオンとオフを割り当てているにもかかわらず、です。

キー スキャンツールで調べてみると、 USキーボード(102キーボード)設定の場合は、「変換」「無変換」キーが JPキーボード(109キーボード)設定のときとは 違う仮想キーコードに変換されているのが確認できます。深追いしておらず理由は分かりません。


そこで、↓ 以前の記事で紹介した ミニキーボード で、IMEのオン/オフを切り替えるようにするのが、今回の記事の主旨です。

IMEの設定で Ctrl+Spaceに「 IMEのオン/オフ 」を割り当てていますが、Macも同じキーコンビネーションで、入力モードの切り替えを行っている関係で、RDPの先のWindowsに Ctrl+Space を入力することができない、という背景も関係しています。

sketch(抜粋)

ボタンに対応した キーコードの送出の部分だけを示します。
全体のコードは、以前の記事を参照してください。

sketch.ino(抜粋)
  if (sw1on) {
    Keyboard.press(KEY_LEFT_CTRL);
    Keyboard.press(' ');
    delay(100);
    Keyboard.releaseAll();
  }
  
  if (sw2on) {
    Keyboard.press(KEY_HOME);
    delay(100);
    Keyboard.releaseAll();
  }
  
  if (sw3on) {
    Keyboard.press(KEY_END);
    delay(100);
    Keyboard.releaseAll();
  }
  
  if (sw4on) {
    Keyboard.write('0');
    delay(50);
    Keyboard.write('0');
    delay(50);
    Keyboard.write('0');
  }
  • SW1 に割り当てた「 Ctrl+Space 」が一番の目的です。
  • SW2、SW3 に「 HOME 」「 END 」キーを割り当てました。これは 60%のUSキーボードを使用しているので、単純に「 HOME 」「 END 」キーが無いためです。
  • SW4 に割り当てるキーは何でもよくて、とりあえず 今回は「 000 」(ゼロを3つ)にしてみました。

当然ながら、今回の BLEスリープブロッカー & ミニキーボードは、Windowsに接続して使います。

これで、RDPの先のWindowsの IMEオン/オフが楽になりました。

キーボードから指を離してミニキーボードのボタンを押すため、少しも楽になっていない、というツッコミがありそうですが・・・。スペースバーの手前に置ける細長いキースイッチを作成するか、フットペダルスイッチがベストかも。



以上

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?