QMK (7) – キーマップ改善(続)

Date: 2022/09/09 (initial publish), 2022/09/17 (last update)

Source: jp/note-00055.md

Previous Post Top Next Post

TOC

キーマップ改善の経緯

キーマップ改善の基本方針としてのタップとホールドの有効利用は、QMK (4) – キーマップ改善から変わっていません。

以前から遊んでいたAVR系でQMKを使うcgc56という一体型キーボードと、 今回ARM系でQMKを使うSTM32F411CE (4)で作ったcgs58・cgs50という分割キーボードと、 できれば将来interceptionを使いLaptop PCの内蔵キーボードの全てで、キーマッピングの基本部分を共用できるようにすることにも配慮しました。

特にcgc56を使ってきた経験を生かし、細かな調整を加えました。設計指針の要点をもう一度まとめると以下です。

キーマップ pico

「基本的に使う部分」を、左6x3_2キーと右6x3_2キーに限定し、それらのキーの使用は以下のようなpico系配列に落ち着いて来ました。

 │Tab│ Q │ W │ E │ R │ T │***│***│ Y │ U │ I │ O │ P │Bsp│
 │Esc│lsA│lcS│laD│lgF│raG│***│***│raH│lgJ│laK│lcL│ls;│Ent│
 │Mut│ Z │ X │lgC│ V2│ B │***│***│ N │ M │ , │ . │ / │Psc│
 │***│***│***│***│Muh│Sp1│***│***│Sp1│Hen│***│***│***│***│

これだと、全ての指のポジション移動量を1U以下に押さえられます。

キー配列はANSIベースです。

ちょっと変則的ですが、日本語キーボードの変換・無変換キーをSPACEの横におきます。これでソフトは動きます。

所持するキーボードがキーが多めなので上記配列で使わないキーは適当に割り振ります。(あまり使わない気もしますが)

HOME-ROW-MODで出番の減った両端のシフトキーを、タップで使わないのももったいないので、メディアキーなどに割り振ります。ただHOLDはシフトのままにしておきます。viの「ZZ」等はこの方が良いので。

キーマップの状況とキーボードの状態

マウスキー

デフォールトの設定だと細かな動きができず「使えない」と殆ど思い込んでいたが、動くステップを最低にして調整したら意外と使えることに気づきました。

それに合わせて、キーマップいじりました。

今後への考察

40キーで十二分に使えるキーボードが作れそうな目処が立ったので、ダイオードレスのスプリットキーボードが作れるかピンを数えて見ました。

Blackpill (TOP VIEW)


          PIN                                        PIN
                                  USB-C
                            +---+-----+---+
          K01  ------- B12 |*  |     |  *|5V  -----
          K02   ------- B13 |*  |     |  *|GND -----
          K03   ------- B14 |*  |     |  *|3V3          
          K04   ------- B15 |*  +-----+  *|B10 ----- K23 
          K05   ------- A8  |*  B     N  *|B2 ------ *** BOOT1
        [USB]   ------- A9  |*  O     R  *|B1 ------ K22
        [USB]   ------- A10 |*  O     S  *|B0 ------ K21
        [USB]   ------- A11 |*  T     T  *|A7 ------ K20
        [USB]   ------- A12 |*  0        *|A6 ------ K19
          K06   ------- A15 |*           *|A5 ------ K18  
          K07   ------- B3  |*           *|A4 ------ K17  
          K08   ------- B4  |*           *|A3 ------ K16 (RX2)
          K09   ------- B5  |*           *|A2 ------ K15 (TX2)
  TX==\ /=TX1   ------- B6  |*           *|A1 ------ K14
  RX==/ \=RX1   ------- B7  |*           *|A0 ------ *** USR
          K10   ------- B8  |*  K        *|R  ------ *** NRST (/RST, ~RST)
          K11   ------- B9  |*  E        *|C15 ----- K13
    **==5V==**  ------- 5V  |*  Y        *|C14 ----- K12
    **==GND=**  ------- GND |*           *|C13 ------*** BLUE LED (NEOPIXEL?)
                        3V3 |*  @ @ @ @  *|VB
                            +-------------+
                                ^ ^ ^ ^
                                | | | |
          3V3    ---------------+ | | |
        SWDIO    -----------PA13--+ | |
        SWSCK    -----------PA14----+ |
          GND    ---------------------+

C13をネオピクセル系のLEDドライブにも使えそうなので十分ピンがあります。 OLEDに使いやすいピンを確認しとく必要はありそうです。

Previous Post Top Next Post