次は改ページ用に 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;
}
}
}
}
ただメニューバーが寂しいことに。