JXA Arrow key part2

Visual Studio Code のメニューをよく見たら矢印キーがあるヤン!
つまり矢印キー等の割り当ては可能ってことだ、もっと探そう。

xcode – How to set function keys as key equivalents programmatically – Stack Overflow

こんなページを見つけた。

Function-Key Unicodes – AppKit | Apple Developer Documentation

ふむふむ。
これでメニューに矢印キーを割り当てできるかも。

// Error
let a = $.NSLeftArrowFunctionKey;
let left = $.NSString.stringWithCharactersLength(a, 1);

駄目だ。

いやまて、ようするに UFT-16LE 文字列にすればいいんだろ?
JavaScript 文字列はそのまんま UTF-16LE じゃないか。
そう思って。

let item = $.NSMenuItem.new;
item.keyEquivalent = "←";

できた、マジか!

いやコレだと英語圏の人達が困る。
NSLeftArrowFunctionKey をなんとか変換できないものか。
って、無理に Objective-c の関数に拘る必要は無かった。

let item = $.NSMenuItem.new;
item.keyEquivalent = String.fromCharCode($.NSLeftArrowFunctionKey);

よし、これでメニューバーが寂しいことにならずにすむ。
keyEquivalentModifierMask に 0 を入れれば ⌘ は消せるのね。

しかし先頭や最後のページに移動はどうしよう?
mac には HOME, END キーが無いんだよなぁ。
TextEdit.app に合わせて command+← だと辻褄が合わなくなるし。