次は改ページ用に space や arrow キーイベントの取得だ。
ようするに改ページなんかの割り当て。
comipoli オリジナルは元々 Eye of GNOME に合わせる目的があった。
今回は macOS なので何に合わせる、って何も無いんだなこれが。
左右矢印キーで改ページはガンガンオンラインや GANMA 等で使われている。
ただ comipoli オリジナルは space キーが一番便利なのでこればかり使う。
おかげで Eye of GNOME で間違えて space キーを、、、は置いておいて。
結局はオリジナルと同様にすることにした。
もちろんフルスクリーンは ommand+control+f に変えるよ。
cocoa – NSMenuItem KeyEquivalent ” “(space) bug – Stack Overflow
space を割り当てる手段は簡単に見つかったけど。
arrow を割り当てる手段は見つからない。
objective c – Using arrow keys in cocoa? – Stack Overflow
NSView から拾うしかなさそう。
macOS 使いはメニューからホットキーを覚えるはずだけどしかたがない。
GtkShortcutWindow みたいなものを自作するかな。
ObjC.registerSubclass({ name: "ComipoliView", superclass: "NSView", methods: { "acceptsFirstResponder": ()=> { return true; }, "keyDown:": (event)=> { switch(event.keyCode) { case 126: // up case 125: // down case 124: // right case 123: // left case 49: // space case 51: // delete console.log(event.keyCode); break; default: //console.log(event.keyCode); break; } } } }
ただメニューバーが寂しいことに。