keyhac で SandS

keyhac v1.08 はワンショットモディファイアを定義できる。これを使って SandS を実現するには、次のようにスペースキーを一旦 Shift キーに置き換え、Shift キーがワンショットで押されたら Space が入力されるようにする。

# config.py
from keyhac import *

def configure(keymap):
    keymap_global = keymap.defineWindowKeymap()
    keymap.replaceKey("Space", "RShift")
    keymap_global["O-RShift"] = "Space"

簡単だ。もちろんこの場合、本来の RShift キーでも Space が入力される。不都合なら RShift を LShift にしちゃおう。
ちなみに、同じことを窓使いの憂鬱でやるとこんな感じ。

mod Shift += !!Space
def subst *Space = *Space