キーマップでキー設定したい(その2)

前に書いてたJavascriptというかグリモンのキーマップみたいなの、やっぱりprototypeっていうのが使いたかったので、そういう感じに書き換えてみた。前はprototypeってのにすると、addEventListenerのがremove出来なくなる問題があってやめてたんだけど、色々考えて変えてみた。出来たら意外とスッキリしてて、途中の試行錯誤が感じられないけど。途中のthis.handleをprototypeにしてやってしまっていたり、Keymap.handleとかでやってみてもエラーが出てるのに気づかなくて、なんかどういう違いがあるのかあまり理解できないけど、とりあえず、適当に動作から推測してやってみた。

http://himadatanode.qp.land.to/pukiwiki/index.php?GresemonKeymap

キーの名前の修飾キーはCtrlをC_とかにしてる。本当はC-とかのが一般的でいいかとも思ったけどJavascriptでやるとlispと違って"-"が扱い微妙なので、他の所も考えると"_"でやっておいた方が安全かなぁとかで、-は使わないで置いた。後はkeydownじゃなくてkeypressとかをどうするかとか。useKeymapをxyzzy風にしてるのに消す時はremoveEventListenerというのもなんか統一感なくて微妙な気もする。