Swyftのユーザーインターフェイス その1¶
Swyftとはなんぞや?¶
Swiftではない。
Swyftは、ジェフ・ラスキンによって開発されたテキスト編集用のユーザーインターフェイスです。 Leapキーと呼ばれる2つのキーを使用した、逐次検索を主体とした操作体系が特徴です。

こんな画像のようなキーボードで操作します。(ウィキペディアのCanonCatより) もちろん私は使ったことはない。以下の文献を元に使用感を想像するだけ。
以下の文献をふんわりと心の目で見て妄想する。
ジェフ・ラスキン本人がSwyftについて解説している。第5章「統一化」で、Swyft特有のキーボード操作について解説している。
AppleII用のソフトウェアSwyftWareの使用レポート。日本語でSwyftの雰囲気がわかる貴重な文献です。 私にとっては、「ヒューメイン・インタフェース」より解りやすかった。
SwyftのUIを採用している、CanonCatの雰囲気がわかる。キー操作と画面の関係はこの動画を見ると腑に落ちる感じ。
そして、冬休みの工作の時間が始まる。
LEAPキーがないから作る¶
まずは、Leapキーがあるキーボードをデッチ上がる必要がある。
で、コレ。冬休みの工作としては良くできた。

HHKと 英数/かなキーボード を2個位置しただけ。 英数/かなキーボードは、基盤だけ自作の傾斜台に釘で打ち付けた。
スペースキーの前にキーを置くのは想像以上に打ちやすい。ただし、キーボードの配置そのものよりもキーの高さが打ちやすさに関係していると思われる。
スペースキーを押したときの高さよりも、Leapキーの高さが低い必要がある。 そうしないと、スペースキーを押したときにLeapキーを誤って押してしまうことがあった。
LEAPキーの検索を日本語対応させる¶
逐次検索を主体としたUIなのに、日本語ではかな漢字変換が間に入るために、操作性が低下してしまう。 この問題の解決はすでに先人が解決していて、
逐次検索を行うには、 migemo を使用する。で解決。
以前、OSX内蔵の辞書を使ったmigemoもどきを作ったが、非公開APIを使った実装になってしまったので、素直に C/migemo を使うことにした。
が、なんか上手く行かない。
LEAPキーを押したときだけ、検索をするようにする¶
Leapキーを使った操作系なのだが、これもまだ上手く行かない。

右上のパレットは、Leapキーと関連するキーの状態を表している。
[NSEvent addLocalMonitorForEventsMatchingMask: handler:]
を使って、キーの変更を捉えている。
今日は、ここまで。
Comments
comments powered by Disqus