VSCodeでCtrl+`を使いたい
問題点
USキーボード使用時にWindows版VSCodeでCtrl+`(バッククオート)を押しても"Ctrl+unknown"と解釈されてショートカットが使えない
windowsのIME切り替えのショートカットと衝突してるらしい?
解決法
AutoHotKeyのControlSendメソッドを使ってVSCodeに直接Ctrl+`を渡す
sendやホットキーでは機能しなかったがControlSendを使えば機能した
使用するAHKスクリプトは以下
; for ahk v1.1
#IfWinActive ahk_exe Code.exe
^SC029::ControlSend,, {Blind}{LCtrl Down}``{LCtrl Up}, ahk_exe Code.exe
#IfWinActive
; for ahk v2
#HotIf WinActive("ahk_exe Code.exe")
^SC029::ControlSend "{Blind}{LCtrl Down}``{LCtrl Up}",, "ahk_exe Code.exe"
#HotIf
動作の概要
VSCodeにフォーカスしているときにCtrl+`を押すとVSCodeに直接Ctrl+`を送信します
注意点
VSCode以外で使うときはwindow spy を使ってahk_exeの値を調べて書き換える
キーボードレイアウトが違うとSC029(バッククオートのスキャンコード)の値が異なる可能性があるのでKey Historyを使って調べる
導入方法(AHK使ったことがない人向け)
ここからは、AHKを使ったことがない人向けの雑な導入方法を記します(蛇足です)
公式サイトからAutoHotKey V2.0をダウンロードしてインストール
v1.1とv2.0は共存できます。v2.0のほうが新しく始めるには馴染みやすいと思います
以下のコードをコピペしてmyscript.ahkとして保存
#Requires AutoHotKey v2.0
#HotIf WinActive("ahk_exe Code.exe")
^SC029::ControlSend "{LCtrl Down}``{LCtrl Up}",, "ahk_exe Code.exe"
#HotIf
作ったファイルをダブルクリック
タスクトレイにアイコンが出るので起動していることが確認できます