2021年03月30日

【薙刀式】デュアルキーボードの同時打鍵問題

デュアルキーボードだと、同時打鍵の判定が思惑通りにいかない?
https://mobile.twitter.com/y_koutarou/status/1376123866150395905


シフトやコントロールなどのモデファイアは左右関係なく通る、
Fnなどハード依存のものは通らない(片方のキーボード内で完結してればOK)、
という情報までは知っていたが、
エミュレータによる同時打鍵判定は、
双方の単打と、同時打鍵判定を拾ってしまうくさい。

ポート1と2の信号を単独で拾い、
同時打鍵判定だけはポート関係なくやってる、
のかな。

これは知らなかったので、
デュアルキーボードで同時打鍵配列を使う人
(HHKBで親指シフトや新下駄使う人?)は注意喚起。
Macでは塩澤さんがKarabinarでやってて不具合は聞いてないから、
Windowsとそのエミュレータの仕様かもしれない。

しかしDUMANGって、
殆どの左右分割自作キーボードのように左右間通信してないんだな。
そこのコストを振り切ったのか…



新下駄限定であればUSBハブを使って、

デュアルキーボード→USBハブで一本のケーブルに
→かえうち→本体

で、かえうちに新下駄を積めばいけるのでは、
と思ったがどうなんでしょ。

kouyさんのその他の色々カスタマイズを全部設定するのは面倒そうだけど、
新下駄単独ならすでに規定ファイルがあったはず。

今かえうちが手元にないから試せないので未検証…
posted by おおおかとしひこ at 10:31| Comment(8) | カタナ式 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
Macの場合、エミュレータを使わなければ2つのキーボードをまたぐ入力ができません。たとえばCommand+Pが印刷になりません。
ところがKarabiner-Elementsを入れて起動しておくだけで、2つのキーボードの連携ができるようになります。
ちなみにBenkeiも対応しているようです。

Windowsの場合、エミュレータなしでも2つのキーボードの連携ができています。

おそらく、やまぶきRが対応していないだけだと思われます。
またDvorakJで、D押すK押すD離すK離さない、で「れいいいい」となるのは、キーリピートが発生する仕様のためかと考えられます。

Posted by なかやさとる at 2021年03月30日 20:00
>なかやさとるさん

詳しい情報ありがとうございます。
色々によって色々あることが分かります。
こりゃ統一するのは無理だな…

バベルの塔の説話は、
ローカルルールが際限なく増えてゆき、
標準化が不可能になることを示唆しているのか…
Posted by おおおかとしひこ at 2021年03月30日 22:07
で、自分に合わせてエミュレータを作りたくなる、というわけですねぇ。

それはともかく、QMK薙刀式が入ったKeyboard QuantizerのRev2が手元にあったので、キーボードを2つ繋いでみましたが、これでは連携ができないようでした。
Posted by なかやさとる at 2021年03月30日 22:21
>なかやさとるさん

どの要素がそれに関係するのか、相当の知識が必要そうですね。
適当なUSBハブだったら一本の電気信号になって、そこから情報を取ればミックスされてるのでは、
などとアナログ的な発想で書いてみたけど、
そんなファミコンの繋ぎ方みたいにはいかないのかなあ…

今のところ「KarabinarとMacなら可能」が現実的で妥当な解ですかね。
逆にKarabinarすげえ。
Posted by おおおかとしひこ at 2021年03月30日 22:45
すいません。Twitterの方にも投稿したのですが、その後も調べた結果、デュアルキーボードは問題ないようです。
https://twitter.com/y_koutarou/status/1377624148650954759

先にTwitterで書いた問題は、なかやさとるさんも指摘されていた通り、キーリピートが影響していたようです。しかし、1台のキーボードとデュアルキーボードでキーリピートの発生が異なるのは確かですが、通常の新下駄配列の入力でキーリピートが発生するほどキーを押しっぱなしにすることはないので、普通に入力する分にはデュアルキーボードでも問題ありません。

実際、REALFORCEを2台つないだデュアルキーボードでの新下駄配列の入力は問題なくできました。今のところ生じているのは、DK6 miniだと新下駄配列の同時打鍵が単打と判定されることがある、というDUMANGキーボード特有の問題となっています。
Posted by kouy at 2021年04月01日 23:24
>kouyさん

拝見しました。
複数ポートに繋いだときに、デュアルキーボードでよく起こる問題なのかを切り分けるといいかも。
リアルフォースはいいキーボードだから、たまたまそれを避けられている可能性は否定できないですよね。
Nキーロールオーバーかどうかでも変わってくるかも知れない。

DUMANGはヘビーユース用ではなくプロトタイピング用である、
と言ってしまえばそれまでなんだけど、
対処法がないわけではないと思うので、
販売元に問い合わせるのはどうでしょう。
たぶん「そういう使い方は考えてもいなかった」が正解のような気がします。
(左右同時打鍵と単打を使い分けて文字を打ち分けるのは、
QMKのスペックには入っているものの、
それを使いこなしてるケースはほとんど見たことがないので、
バグチェックも含めてまだ十分掘られていない領域の気がします)

Karabinarだと起こらないらしいから、
Macを買えば解決、という解はあると…
(自作キーボードの人たちは1/3くらいはMacなので、
Windowsで起こる問題を把握してないことがかなりある)
Posted by おおおかとしひこ at 2021年04月02日 15:07
「やまぶきR」は、2キーを押している時間の割合で、同時押しか単打か判定するらしいので、キーを押した離したのレポートが細かいほど的確に入力できるはずです。
それも速くなればなるほど。

前に調べたら、HHKBは6〜8ミリ秒ごと。
自作キーボード(コルネ)は15〜16ミリ秒ごとでした。
DUMANGキーボードは、どうなんでしょうね。
Posted by なかやさとる at 2021年04月02日 21:20
>なかやさとるさん

コルネ、結構遅いんですね。
ロジックは異なりますが同時打鍵した瞬間だけ見るパターンでは、
40ミリ秒以下だと人間には辛い、という経験則がありますが、
15だとして3回スキャンだとちょっと大雑把すぎるのでは、と感じますね。

DuMangはキースイッチの中にMCUが一個ずつ入ってて、マグネット経由でマザーと通信する仕様ですが、どの程度のスキャンレートなのか調べられませんでした。
販売ページはあるものの、スペックや設計図が公開されてるわけではないのかしら。自作系といえども、その辺は企業秘密なんですかね。


単打が複数のポートから来た信号を区別している、
同時打鍵は複数ポートから来た信号を区別していない、
と仮定するなら、
「同時打鍵をすると同時打鍵に設定した文字が出るが、
ひとつキーをアップすると単打文字が出る」現象を説明できると考えていましたが、
「常に起こるわけではなく、素早い打鍵の時に起こる」なら、
レートの問題になってくるかもしれないですね。

AutoHotKeyが複数ポートからの信号を区別しないなら、
いっそそれで組んでしまうのが速い気がする…
わりと簡単な文法で記述できるし。
Posted by おおおかとしひこ at 2021年04月02日 22:11
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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