Jorgeの日記

備忘録と記録です。

AHK設定さらし

一旦qwertyローマ字に戻ったので、それと併用しているAutoHotKeyの設定を晒しておく。

使用中のキーボードはAKS068、そのキーマップはこんな感じ。

設計思想としては

  • LSpaceは単打でSpace、併用でショートカット用の装飾キーに
  • RSpaceはSandS

動かすにはIME制御が必要。

#Include IME.ahk
#UseHook
#SingleInstance force

;QMK側の設定
;Spaceキーの左のキー::F15
;LSpace::F14
;RSpace::RShift
;RShift::F13

;LSpaceが単打で入力されたらSpace、それ以外はショートカット用装飾キーとして機能
F14::Space

; RSpaceが単体で押されたらSpace、それ以外はShiftで機能
~RShift up::
if (A_PriorKey = "RShift") {
    Send, {Space}
}
Return

; IMEのON/OFF
F13::vkF3
F14 & g::vkF3
 
; 操作系
F14 & t::Tab
F14 & f::Left
F14 & j::Right
F14 & q::Send, {Esc 2}
F14 & z::^z
F14 & y::^y
F15::vk1C

;LSpace & RSpace
F14 & RShift::+Space

; よく使う記号
F14 & p::SendJP("―")
F14 & +::SendJP("+")
F14 & [::SendJP("×")
F14 & ]::SendJP("/")
F14 & `;::SendJP("……")
F14 & '::SendJP("――")
F14 & -::SendJP("-")
F14 & w::SendJP("↑")
F14 & a::SendJP("←")
F14 & s::SendJP("↓")
F14 & d::SendJP("→")
F14 & e::SendJP("⇒")

; カッコ系
F14 & l::SendJPCenter("「」")
F14 & .::SendJPCenter("『』")
F14 & i::SendJPCenter("《》")
F14 & o::SendJPCenter("【】")
F14 & u::SendJPCenter("〔〕")
F14 & m::SendJPCenter("“”")
F14 & h::SendJPCenter("〈〉")
F14 & k::SendJPCenter("()")

; markdown関係
F14 & /::SendJP("- ")
F14 & 1::SendJP("{#} ")
F14 & 2::SendJP("{#}{#} ")
F14 & 3::SendJP("{#}{#}{#} ")
F14 & 4::SendJP("{#}{#}{#}{#} ")
F14 & 5::SendJP("{#}{#}{#}{#}{#} ")
F14 & 6::SendJP("{#}{#}{#}{#}{#}{#} ")

; 入力用の関数

SendJP(str)
{
    ime_now := IME_Get( )
    IME_Set(0)
    Send, %str%
    Sleep 100
    IME_Set(ime_now)
}

SendJPCenter(str)
{
    ime_now := IME_Get( )
    IME_Set(0)
    Send, %str%
    Send, {Left}
    Sleep 100
    IME_Set(ime_now)
}