🥝

Windowsのキー配置をカスタマイズして効率化(AutoHotkey, Ctrl2Cap)

2023/07/31に公開

普段、仕事でもプライベートでも Windows 10 を使っています。
折角なので、Windows 10 での操作時間を短縮したいと思い、
キー配置の設定を変更する方法について調べてみました。

すると、以下のような素晴らしい記事が見つかりました。

https://snowsystem.net/other/windows/windows-capslock-ctrl-f13-key

この記事を元に、私もキー配置の設定を変更してみました。
すると、ホームポジションから大きく手を動かさなければならない回数が大きく減りました。

ただし、CapsLockキーをCtrlキーに置き換えるのに、
上記記事ではChangeKeyを使用していたのですが、
私の場合はMicrosoft製のCtrl2Capを使用しました。

置き換えにはレジストリを書き換える必要があると記載があったので、
Microsoft製であれば比較的安心かと思い、Ctrl2Capを使用することにしました。

Ctrl2Capについては、以下の記事でダウンロードから使用方法まで丁寧に説明されていました。
とても丁寧でわかりやすかったので、5分ほどで完了しました。

https://codeforfun.jp/how-to-use-caps-lock-as-ctrl

PowerToysを使用する方法もあるのですが、
私のPCでは、以下の記事の最後の方に記載されているとおり、
CapsLockキーがVK240になっており、
キー配置変更後にずっとCtrlキーが押された状態になってしまいました。
そのため、PowerToysの使用は断念しました。

https://n1729.com/microsoft-powertoys-keyboard-remap

最後にご参考までに、私のAutoHotkeyの設定ファイル(AutoHotkeyScript.ahkファイル)を掲載します。既述の記事のものから、「wasdキー移動」「Esc/BS/Del/Enter」など、左手のみでの操作用の設定を強化しています。

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
; 無変換キーをベースとしたショートカットキー割当
; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

; 無変換の単発押しは無変換
vk1D::vk1D

; ----------------------------------
; vimのcursolkey
; ----------------------------------
vk1D & h::Left
vk1D & j::Down
vk1D & k::Up
vk1D & l::Right

; ----------------------------------
; wasdキー移動
; ----------------------------------
vk1D & a::Left
vk1D & s::Down
vk1D & w::Up
vk1D & d::Right

; ----------------------------------
; word jump
; ----------------------------------
vk1D & u::
  if GetKeyState("Shift") {
    Send ^+{Left}
    return
  }
  Send ^{Left}
  return

vk1D & i::
  if GetKeyState("Shift") {
    Send ^+{Right}
    return
  }
  Send ^{Right}
  return

; ----------------------------------
; コロン(vkBA)とセミコロン(vkBB)をEnter
; ----------------------------------
vk1D & vkBA::Enter
vk1D & vkBB::Enter

; ----------------------------------
; Esc/BS/Del/Enter
; ----------------------------------
vk1D & e::Esc
vk1D & n::BS
vk1D & m::Del
vk1D & z::Enter

; ----------------------------------
; カーソル位置から行末まで削除
; ----------------------------------
vk1D & o::
  send {ShiftDown}{End}{ShiftUp}
  send ^c
  send {Del}
  return


; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
; 変換キーをベースとしたショートカットキー割当
; ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

; 変換の単発押しは変換
vk1C::vk1C

; ----------------------------------
; fu+cursolkey
; ----------------------------------
vk1C & h::Home
vk1C & j::PgDn
vk1C & k::PgUp
vk1C & l::End

; ----------------------------------
; Alt+カーソル
; ----------------------------------
vk1C & u::!Left
vk1C & i::!Right

Discussion