skk 単体で作るのは結構厳しくて、たとえばキーマップとか modifier key とか、キーの press / release / repeat の扱いとか、そういうところで融通を利かせようとするとどうしても低レベルとのインターフェースをちゃんと作ることになってしまうので、だったら具体的な IME フロントエンドを想定した方がいい
たとえば入力として「H e n k a n <SPC>」みたいな文字シーケンスを取るような設計だと、 SandS の実装みたいな †便利† な拡張ができないとか、そういう
https://github.com/ueno/libskk/pull/64
実際このバグは modifier key まわりの扱いの問題だったせいで、仮想的な文字シーケンスを使うテストではうまく表現できない
まあ拡張とか一切捨てて skk server を作るというのであればそれはそれでアリだと思うけど、機能性は当然劣る