2021年02月08日

【薙刀式】AHK版の威力がすごい

なかやさとるさんによる、AutoHotKey版薙刀式を試してみた。
https://github.com/tor-nky/KeyLayout/tree/master/Naginata/Win

すごい。とくにコンパイルしたら、DvorakJより圧倒的に速くなる。(当たり前か)


QMK版も速いけど、甲乙つけがたい速さ。
自作キーボードが使えない文脈では大活躍しそうな勢い。
コンパイル後は1MB程度なので、USBに入れて持ち運べるぞ。

DvorakJが使えなくてAHKが使える文脈というのはなさそうだが、
速度面で異次元なので、完全上位互換だなこれ。
キーリピートもあったら便利、くらいに考えていたが、わりと気持ちよい。
IMEオフでも編集モードが使えるのが地味によい。。。

しかもDvorakJにあったたまにある同時押しバグ(キーアップが効かず、
キーダウンのままになってしまうやつ)は今の所一度もなかった。
わりと速い打鍵でもまったく問題ない。
DvorakJではそろそろ印字に打鍵が追い付かなくなりつつあったが、
これは速くてまだ印字に追いつかないということはなさそうだ。

すごい。



以下導入できない部分があった。
僕の環境のせいだろうか?

全角記号の部分。

AHKのバージョンのせいかもしれないが、
Run Scriptが通らないところがあった。

KanaTable.ahk内での、ことごとく全角記号部。

固有名詞のほとんどで文字化けてエラーメッセージ。
”で閉じていない旨のエラーなので、
全角記号が文字化けして"が認識されていないと思われる。

文字コードの知識がないので、
このソースが何で書かれていて何なら通るのか、
そしてそもそも今俺が見ているこれは何コードで表示されているのか、調べられない。

エディタはMeryを使っているが、デフォルトのUTF-8(BOM無し)のまま。
他に何があるのか見てみたら、
UTF-8(BOM付き)、UTF-16LEとBEのそれぞれBOM無しと付き、
日本語はJIS、EUC、シフトJISとあり、俺をいじめているとしか思えない。
これを今全部調べて理解する時間はない。。。


同様に編集モードの、
たとえば全角パイプなど全角記号はことごとく通らない。
?![]()は、半角にしたら通った。
通ったとしても、たとえば……は窶ヲ窶ヲに化ける。
(穴冠に楼の旧字体のつくり部の見たこともない漢字と、
半角カナのヲが二回繰り返し。意味はないので文字化けだろう。
ちなみにそれをコピペしてググればわかるかも、
とおもったら、同様に文字化けしているページがひっかかり、
このループはなんだと考えてしまう)

とりあえず通らなかったやつは全部""にして、
とまずは文字部分をテストをすることにしたが。


何をどうしたらいいのか分ってる人たすけて。

(追記)UTF-8(BOM付)の形式で保存すると、
問題なくRun Scriptもコンパイルも通りました。
ユニコードいうても規格がバラバラなのね…


あと、.DS_StoreはMacからWinにコピーするときのMacのシステムファイルらしく、
消しても問題ないそうです。


(追記)以前MacにAHKがあると勘違いして書いたかもしれないが、
今確認したらないそうです。残念。
おなじコードを放り込むだけで使えたらいいなと思ったのだが、しょうがない。
posted by おおおかとしひこ at 18:38| Comment(6) | カタナ式 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
試していただけただけでも光栄です。

ファイルはすべて、UTF-8(BOM付)で保存してください。
一応、DvorakJ版の固有名詞ショートカットのサンプルを乗っけていて確認したのですが……

3個以上のキーを限りなく同時に押すと、最大2文字しか入力されないバグが今日見つかりましたが、キーボード性能が高いQMK自作キーボードやHHKBで遭遇できたら、すごいと思います。
直せるかどうか。

11年前発売のノートパソコンで充分速かったので満足して公開しましたが、変換テーブル総当たりを改良すれば、もっと高速化は可能です。
Posted by なかやさとる at 2021年02月08日 20:12
なんとかなりそうな気がしてきたので、公表しますが、Macの親指シフトLacailleを改造して、Macで薙刀式をできるようにしようとしています。まだ、Lacailleのコードを読んで試している段階です。なんせMacのソフトなんて書いたことないので、完成できるのか、まだ不安ですが。
Posted by eswai at 2021年02月08日 21:07
>eswaiさん

Lacailleは同時連続シフトも実装してたはずなので、その辺を流用するのかしら。
コードを読んで試すとは、出来る人は出来るものですなあ。
昔テーブルを変えてカタナ式実装できないかなと試したら、
BSやカーソルなどを動かせずに放置したままでした。

Karabiner-Elementsだけでなく、Lacailleという選択肢も増えると、
最近のMacのアップデートの波に負けないかも…?
Posted by おおおかとしひこ at 2021年02月08日 21:58
>なかやさとるさん

UTF-8(BOM付)でやってみたところ、問題なく動きました!
記事に追記しておきます。

AHKのバージョンが古いのかなと思い、どこを見れば良いのか分からず、
同梱のヘルプみたいなのを立ち上げたら、1.1.25.01とバージョン表記。
これが本体のバージョンと一致してるとすると、
これくらい古い版でも動いたよ報告ですかね。
Posted by おおおかとしひこ at 2021年02月08日 22:10
Lacailleの、文字入力を横取りして処理してからアプリに渡す、という部分を流用して、変換する部分は作り直すつもりです。QMK薙刀式と同じロジックになるはず。Karabinar-Elementsだと、薙刀式を完全に再現できない気がするんです。
Posted by eswai at 2021年02月08日 22:24
>eswaiさん

なるほど、両者の違いはそこまで把握してなかったです。
ごりゅごさんのKarabiner-Elementsの実装はタイマー方式なのかしら。
だとすると文字部分はいけても、編集モードまではキツイかも。
QMK薙刀式(おおもとは親指シフトも)のロジック自体は他の配列でも使えると思うので、誰か改造して変態配列つくらないかな…(笑
Posted by おおおかとしひこ at 2021年02月08日 23:58
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。