質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

AutoHotkey

AutoHotkeyは、Windowsでの連続した操作をショートカットキー(ホットキー)として自動化設定できるソフトウェアです。さまざまなコマンドが用意され、GUIのプログラム作成もできます。

Q&A

0回答

1658閲覧

AutoHotKey、左右のCtrlキーでIMEの切り替えをするプログラム、Ctrl+(文字)のときに発動しないようにしたい

_magurochan

総合スコア13

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

AutoHotkey

AutoHotkeyは、Windowsでの連続した操作をショートカットキー(ホットキー)として自動化設定できるソフトウェアです。さまざまなコマンドが用意され、GUIのプログラム作成もできます。

0グッド

0クリップ

投稿2021/01/29 10:48

編集2021/01/29 17:36

#あらすじ

 いままで、Macで英語キーボードを使用していた。
その時はKarabinerで、左コマンドキーが英数(IMEオフ)、右コマンドキーがかな(IMEオン)になるように設定していた。

 現在Windows 10のコンピューターで、英語キーボードを使用している。
レジストリを変更して、Mac環境に近い操作ができるようにカスタマイズした。

CommandOptionControl
Windows USキーボード 左手側AltWindowsCtrl -> Windows
Windows USキーボード 右手側AltAppkeyCtrlはそのまま

(右手側の最下段は、ALt - Fn - App - Ctrl と並んでいるタイプのキーボードです。)

 IMEのオンオフをKarabinerで設定していたようにするために、AutoHotkeyを使うことにした。

本文

 Alt-IME-AHKを参考にして、以下のようにプログラムを書いた。

GitHub

上記ページのソースコードからIME.ahkというライブラリの簡易版をコピーしたものをIncludeしている。

AutoHotkey

1#InstallKeybdHook 2#UseHook 3#NoEnv 4#KeyHistory 5#Include IME.ahk 6SendMode Input 7 8~LCtrl up:: 9 IME_SET(0) 10 return 11 12~RCtrl up:: 13 IME_SET(1) 14 return 15

問題なく動作はする。

しかし、右CtrlでIMEをオン -> 左Ctrl+Aというような操作をするときに、左CtrlのKey up時に、IMEがオフになってしまう。
不便である。

#やりたいこと

右CtrlでIMEをオン -> 左Ctrl+A

という操作をするときに、

  • 左Ctrl押し、その次にキーボードの文字列(a-z,0-9,セミコロンとかの記号など)が入力されると、IMEをオフはしない
  • 左Ctrl押し、離すだけの場合、IMEをオンにする

(左右逆も然り)

という振り分ける処理をさせたい。

試したこと

AHK

1;GetKeyState(A) - Aを押したときに、True (a-z0-9)みたいな指定をしたい。 2;A_PriorKeyっていう組み込み変数はこういうときにつかえる? 3 4~LCtrl up:: ;LCtrl up時に発動 5 if(GetKeyState(A) == 0){ ;Aを押していないときにFalse 6 IME_SET(0) 7 return 8 }

みたいなことを試したりしましたが、Trueにならず。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問