分割キーボードでSandSとEandS

分割キーボードによって日本語入力に無用なクソデカスペースキーから解放され、押しやすく丁度よいサイズのスペースキーを2つ得た。
通常同じキー入力扱いだが、ハードウェアマクロ機能があるので右をEnterに割当。
かな打ちの小指酷使を解消すべく、AutoHotkeyでSandS (Space&Shift)とEandS (Enter&Shift)を実装してみた。

EandSは検索しても出てこない。誰もやってないのだろうか

左Space単独
+他キー
Space (未確定時は変換)
Shift
右Space単独
+他キー
Enter (未確定時は確定)
Shift

AHK

試験段階。使いながら修正中。

;SandS
Space::
	SendInput {LShift Down}
	If SpDown = 1
		Return
	SpDown := 1
	SpKey := 0
	Input, SpKey, L1 V,{LControl}{RControl}{LAlt}{RAlt}{LShift}{RShift}{LWin}{RWin}{AppsKey}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{End}{PgUp}{PgDn}{Del}{Ins}{BS}{Capslock}{Numlock}{PrintScreen}{Pause}{Enter}
	SpKey := 1
Return

Space Up::
	SendInput {LShift Up}
	SpDown := 0
	If SpKey = 0
		Send {Space}
Return

;EandS
Enter::
	SendInput {RShift Down}
	If EnDown = 1
		Return
	EnDown := 1
	EnKey := 0
	Input, EnKey, L1 V,{LControl}{RControl}{LAlt}{RAlt}{LShift}{RShift}{LWin}{RWin}{AppsKey}{F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Home}{End}{PgUp}{PgDn}{Del}{Ins}{BS}{Capslock}{Numlock}{PrintScreen}{Pause}{Enter}
	EnKey := 1
Return

Enter Up::
	SendInput {RShift Up}
	EnDown := 0
	If EnKey = 0
		Send {Enter}
	If GetKeyState("Space","P")
		SpKey := 1
Return

;長押し
>+Space:: SendInput {Space}
>+Enter:: SendInput {Enter}

両キーを使ってのShift + Enterも効く。
空白や改行を連続入力したい時は左Shiftと同時押し。

参考: AutoHotKey で SandS – by edvakf in hatena

課題

  • 右Space + 右Enterでの段落内改行が出来ない