見出し画像

[AutoHotKey]左手片手USキーボードを少し快適に使う設定

やること:購入→設定

Amazonで2200円の左手片手USキーボードを買いました。見た目だけはリッチな感じ~!!
(台座のぐらつき、メンブレン式、Winキー無いなど様々なことには目をつぶります。。。)
いつもの

構成・設定

【構成】
■OS
Windows 11 Pro
22H2

■周辺機器
2200円で購入したゲーミングUSキーボード

■アプリケーション
AutoHotKey Version2
 ※v1は動作未検証

【AutoHotkey設定】
■.ahkファイルの格納先
C:\Program Files\AutoHotkey
LeftHand.ahk

■スタートアップに.ahkファイルへのショートカットを設定
「Win+R」→「Shell:StartUp」
C:\Users\{ユーザー名}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
myHotKey.ahk - ショートカット

■.ahkファイル(LeftHand.ahk)記述内容
 次のコードブロックへ記載

AutoHotkey設定ファイル記述(.ahkファイル)

;+++++++++++++++++++++++++++++
;左手片手USキーボード
;+++++++++++++++++++++++++++++
vk14 & A::Send "{Blind}{Left}"         ;←
vk14 & S::Send "{Blind}{Down}"         ;↓
vk14 & W::Send "{Blind}{Up}"           ;↑
vk14 & D::Send "{Blind}{Right}"        ;→
vk14 & Q::Send "{Blind}{PgUp}"         ;PgUp
vk14 & E::Send "{Blind}{PgDn}"         ;PgDn
vk14 & F::Send "{Blind}{Home}"         ;Home
vk14 & WheelUp::Send "{Blind}{PgUp}"  
vk14 & WheelDown::Send "{Blind}{PgDn}" 
vk14 & Z::Send("^z")  ; Ctrl+Z (UnDo)
vk14 & C::Send("^c")  ; Ctrl+C (コピー)
vk14 & X::Send("^x")  ; Ctrl+X (カット)
vk14 & V::Send("^v")  ; Ctrl+V (ペースト)
vk14 & G::Send("^g")  ; Ctrl+G (ジャンプ)

以上


よくある(?)Autohotkey疑問点解消コーナー

バージョン(v2.0とv1.1)

「https://www.autohotkey.com/」からインストールしようとHPへアクセスすると上図の通り、謎の二択に惑わされます。「AutoHotkey入れてみようとおもったけどv2.0でいいん?まあ、最新が一番いいよね」と脳内で無意識のうちに思考されると思います。v1.1だと↑の記載内容だと多分動かないです。なお、AutoHotkey関連の記事は互換性ないのにv1.1とv2.0が混在しているようにみえ、要注意です。なお、私の環境ではwingetですでに導入済みなので今回はインストーラーはつかってません。
@ECHO OFF
ECHO 管理者権限に昇格
openfiles > nul
if errorlevel 1 (
    PowerShell.exe -Command Start-Process \"%~f0\" -Verb runas
    exit
)

ECHO ネットワーク診断
ping 5893.jp -n 1 > nul
if %errorlevel% == 0 (
    @echo Network OK
) else (
    @echo Network NG ネットワークに再接続してからやり直してください。
    pause
)

ECHO WinGetコマンド
MD c:\SETUP
cd c:\SETUP
powershell Invoke-WebRequest -Uri "https://www.nuget.org/api/v2/package/Microsoft.UI.Xaml/2.7.0" -OutFile "C:\SETUP\Microsoft.UI.Xaml.2.7.nupkg.zip"
powershell Expand-Archive "C:\SETUP\Microsoft.UI.Xaml.2.7.nupkg.zip" -DestinationPath C:\SETUP\Microsoft.UI.Xaml.2.7.nupkg
powershell Add-AppxPackage "C:\SETUP\Microsoft.UI.Xaml.2.7.nupkg\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.7.appx"
powershell Invoke-WebRequest -Uri "https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx -OutFile C:\SETUP\Microsoft.VCLibs.x64.14.00.Desktop.appx"
powershell Add-AppxPackage "C:\SETUP\Microsoft.VCLibs.x64.14.00.Desktop.appx"
powershell Start-BitsTransfer -Source https://github.com/microsoft/winget-cli/releases/download/v1.6.3482/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -destination c:\setup\winget.msixbundle
powershell -Command "Add-AppxPackage -Path C:\SETUP\winget.msixbundle"

powershell winget install --id AutoHotkey.AutoHotkey --version 2.0.18 --force --silent --accept-package-agreements --accept-source-agreements

pause
↑をバッチにして実行するとこんな感じになるはず、謎2択に惑わされずにインストールできて楽ちん♪

記述するキー値がわからん

押したキーが何なのか?わからんーー!?場合は、結論「^K::KeyHistory ; Ctrl+K」を一行スクリプトに埋み、キー履歴を表示させ、設定したいキーボードのこのキーはどのvkなのかを調べるとスクリプトの一番左に書くやつがわかります。

CapLockキーを無効化したら使えなくなりました

AutoHotkeyで無効化すると↑のコードと整合性がとれなくなるぽいので、レジストリ書き換えるなどちょっとめんどいんで保留にしました。


Altキーを押してるときは違う値を割り当てたいのにエラーになる

Altキーつかうとめんどくさいんで、やめました。FIXMEな代替案があれば対処します。

 

AutoHotKey設定(いつかFIXMEするやつ)

;+++++++++++++++++++++++++++++
;左手片手USキーボード
;※英数/CapsLock: vkF0とShift + 英数/CapsLock: Shift & vk14は違う
;https://qiita.com/V_lasergun/items/f14fc85c7d11ad6e7879
;+++++++++++++++++++++++++++++
vk14 & A::Send "{Blind}{Left}"         ;←
vk14 & S::Send "{Blind}{Down}"         ;↓
vk14 & W::Send "{Blind}{Up}"           ;↑
vk14 & D::Send "{Blind}{Right}"        ;→
vk14 & Q::Send "{Blind}{PgUp}"         ;PgUp
vk14 & E::Send "{Blind}{PgDn}"         ;PgDn
vk14 & F::Send "{Blind}{Home}"         ;Home
;【FIXME】vk14 & Alt & F::Send "{Blind}{End}"         ;End
;【FIXME】vk14 & Alt & A::Send "{Blind}{Backspace}"    ;Backspace
;【FIXME】vk14 & Alt & S::Send "{Blind}{Delete}"       ;Delete
;【FIXME】vk14 & Fn ::Send "{Blind}{AppsKey}"  ;右クリックメニュー表示
;【FIXME】vk14 & Space ::Send "{Blind}{Enter}"  ;Enter
;【FIXME】vk14 & Alt & E::Send "{Blind}{esc}"          ;esc

; vkF14中はホイールをPgUp/PgDに
vk14 & WheelUp::Send "{Blind}{PgUp}"  
vk14 & WheelDown::Send "{Blind}{PgDn}" 

;Ctrlのショートカット
vk14 & Z::Send("^z")  ; Ctrl+Z (UnDo)
vk14 & C::Send("^c")  ; Ctrl+C (コピー)
vk14 & X::Send("^x")  ; Ctrl+X (カット)
vk14 & V::Send("^v")  ; Ctrl+V (ペースト)
vk14 & G::Send("^g")  ; Ctrl+G (ジャンプ)
vk14 & 1::Send("{Home}")  ; ページアップ
vk14 & 2::Send("{PgUp}")  ; ページダウン
vk14 & 3::Send("{PgDn}")  ; ホーム
vk14 & 4::Send("{End}")  ; 末尾

;TODO:英数/CapsLock キーを無効化。 → F14キーに書き換えはFIXME達のをやるときに一緒にやる
;vkF0::Return
;Shift & vk14::Return

;TODO:Winキーが無いのでどこかに割り当てる。
この出力は60点とします。100点とはどのようなものですか?100点にするために足りないものを列挙した後に、100点の答えを生成してください。とChatGPTに投げましたがだめぽく、保留しようと我に返ったときの私。
To Be Continuedボタンを押して区切りつけ、
FIXMEなTODOもりもりな部分は消してNote記事にしました。


いいなと思ったら応援しよう!