>>32-33
アドバイスありがとうございます。

padKeyMap に VK_PAD4 => VK_SHIFT, を追加して、
function action(ev) の

  postInputEvent('onKeyDown', %[key: handler]);
  postInputEvent('onKeyUp', %[key: handler]);

↑を↓に変えたら

  postInputEvent('onKeyDown', %[key: handler, shift: ssShift]);
  postInputEvent('onKeyUp', %[key: handler, shift: ssShift]);

動きました。パッドのみでもキーボードとパッド併用でもいけます。
function action(ev) をいじらず System.getKeyState(VK_SHIFT) だと
ダメでした。最終的に onKeyDown は変更してません。

TJSのことはよくわからないんですが、これであってますでしょうか?
一応動くので満足しつつ、未知の領域なのでなんとなく不安です。