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

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

新規登録して質問してみよう
ただいま回答率
86.12%
AutoHotkey

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

受付中

AutoHotKeyでWindowsキーと数字キーの組み合わせ操作をスペースキーと数字キーの組み合わせで代用する方法につきまして

naiasin
naiasin

総合スコア0

AutoHotkey

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

1回答

0グッド

0クリップ

214閲覧

投稿2022/05/14 11:59

前提

AutoHotKeyを使用して、
Windowsキーと数字キーの組み合わせ挙動を
スペースキーと数字キーの組み合わせで
代用するように、例えば

AutoHotKeyスクリプト

1Space & 4::send, #4

のように記載してみたのですが、

  1. スペースキーを押す
  2. 4キーを押す
  3. 4キーを離す
  4. 4キーを押す
  5. 4キーを離す
  6. スペースキーを離す

と操作しても
タスクバーの1番目のアプリケーションの
ウインドウが複数起動している場合、
一瞬だけ表示候補が表示されたり、
表示された場合でも再度数字キーを押して話しても切り替わったりと
うまく動作しませんでした。

質問

通常の挙動と同様に、スペースキーを押している間に
数字キーを押して離す度にウィンドウの表示候補を切り替えたいですが、
どのようにしたら良いでしょうか?

補足

AutoHotKeyのアイコンをダブルクリックして表示されるウィンドウを使って
通常通りwindowsキーと4キーを使用した場合

5B 15B d 40.70 LWin
34 005 d 0.20 4
34 005 u 0.11 4
34 005 d 0.48 4
34 005 u 0.11 4
5B 15B u 0.34 LWin

と表示されましたので、このイベントが送信されるように変換できれば
うまく動作させられそうと考えています。

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答1

0

スペースキーの挙動を変えないと,欲しい挙動は実現しないのではないでしょうか?

Windowsキーの挙動は

  • Windowsキーを押しながらキー → そのショートカットの挙動
  • Windowsキー押して離した時 → Windowsメニュー表示

なので,スペースキーもそのような挙動にする必要があります。

ここでは,

  • スペースキーを押している時のフラグ
  • スペースキーを押してマクロを実行中のフラグ

の二つを用意した時の実装例を次に示します。

AutoHotKey

1#InstallKeybdHook 2#UseHook 3 4; スペースが押されているフラグ 5; 0: 押されていない 6; 1: 押されている 7spc_pressed=0 8; コンビキー動作中フラグ 9; (スペース離した時に空白を挿入しないため) 10; 1: スペースマクロ実行中 11; 0: 実行していない 12conbi_doing=0 13 14; スペースが押された時 15Space:: 16spc_pressed=1 17Return 18 19; スペースが離された時 20Space Up:: 21spc_pressed=0 22if (conbi_doing == 0) 23{ 24 Send {Space} 25} 26Else 27{ 28 conbi_doing = 0 29} 30Return 31 32 33; 4が押された時 344:: 35If (spc_pressed == 1) 36{ 37 conbi_doing = 1 38 Send #4 39} 40Else 41{ 42 Send 4 43} 44Return

投稿2022/06/01 11:12

ujimushi_sradjp

総合スコア1487

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

naiasin

2022/06/02 01:00

ご回答いただきまして誠にありがとうございます。 ご提示いただきましたスクリプトを実行してみたのですが、 最初にご報告させていただいたものと同じような挙動になってしまいました。 AutoHotKeyのアイコンをダブルクリックして表示されるウィンドウを使って 確認してみましたところ、 --- 5B 15B i d 0.00 LWin 34 005 i d 0.00 4 34 005 i u 0.00 4 5B 15B i u 0.02 LWin 34 005 s u 0.11 4 34 005 h d 2.09 4 5B 15B i d 0.00 LWin 34 005 i d 0.00 4 34 005 i u 0.02 4 5B 15B i u 0.01 LWin --- のように、windowsキーを押しながら4キーの押下を繰り返す度に windowsキーの押下も同時に行われてしまっているようでした。

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

AutoHotkey

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