MiniAxe用かむ

戻る ホーム 上へ 進む


自作キーボード、MiniAxeをかむキーボードにするファームウエアを作りました。キーボードインプットハッカソン2023の成果で簡単に実装出来ました。

MiniAxeは、36キーありますが、その内の左右5キーずつだけ使います。

複数のキーを同時に押す事で、10キーながら1023種類の文字を指定する事が出来ます。

 キーマップの指定の仕方は、何も押さないが0、人差し指のみを押すが1、中指を押すが2、薬指を押すが3、小指を押すが4、親指を押すが5、人差し指と中指を押すが6、中指と薬指を押すが7、薬指と小指を押すが8、小指と親指を押すが9、親指と人差し指を押すが10、人差し指と薬指を押すが11、中指と小指を押すが12、薬指と親指を押すが13、小指と人差し指を押すが14、親指と中指を押すが15、人差し指だけ押さないが16、中指だけ押さないが17、薬指だけ押さないが18、小指だけ押さないが19、親指だけ押さないが20、人差し指と中指を押さないが21、中指と薬指を押さないが22、薬指と小指を押さないが23、小指と親指を押さないが24、親指と人差し指を押さないが25、人差し指と薬指を押さないが26、中指と小指を押さないが27、薬指と親指を押さないが28、小指と人差し指を押さないが29、親指と中指を押さないが30、全てのキーを押すが31となり、まず左手で、何ブロック目かが決まり、次に右手で何番目かが決まります。

 1つの指定で、3種類のキーを指定する事が出来、例えば「ゅ」等は{KC_L,KC_Y,KC_U}と指定しています。

 更に、使うキーの指定をtmk_coreのkeyboard.cを変更しないといけないのではなく、config.hで指定する事を実現しました。使われているconfig.hの

/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5
の下に以下の書き込みがあります。


#define MATRIX_ROWS2 32
#define MATRIX_COLS2 32

#define KAMU_R0 0
#define KAMU_C0 3

#define KAMU_R1 0
#define KAMU_C1 2

#define KAMU_R2 0
#define KAMU_C2 1

#define KAMU_R3 1
#define KAMU_C3 0

#define KAMU_R4 3
#define KAMU_C4 2

#define KAMU_R5 4
#define KAMU_C5 1

#define KAMU_R6 4
#define KAMU_C6 2

#define KAMU_R7 4
#define KAMU_C7 3

#define KAMU_R8 5
#define KAMU_C8 4

#define KAMU_R9 7
#define KAMU_C9 0
こういった記述をする事で、実現します。

ここで、

#define KAMU_R0 0
#define KAMU_C0 3

は、左手人差し指が0番目(0始まりなので1番目)のROW、3番目(0始まりなので4番目)のCOLを使う事を指定しています。

#define KAMU_R1 0
#define KAMU_C1 2

は、左手中指が0番目(0始まりなので1番目)のROW、2番目(0始まりなので3番目)のCOLを使う事を指定しています。

続けて、左手薬指、左手小指、左手親指、右手人差し指、右手中指と続いていきます。

GitHub

圧縮フォルダ

make miniaxe:kamu
でメイク出来ます。

左手入力

小薬中人親
○○○●○ は行
○○●○○ ま行
○●○○○ や行
●○○○○ ら行
○○○○● わ行

○○●●○ ぱ行
○●●○○ あ行
●●○○○ か行
●○○○● さ行
○○○●● た行

○●○●○ ば行
●○●○○ な行
○●○○● が行
●○○●○ ざ行
○○●○● だ行

右手入力
親人中薬小
○●○○○ あ段
○○●○○ え段
○○○●○ い段
○○○○● お段
●○○○○ う段

○●●○○ ぁ ゃ ゎ
○○●●○ ぇ ー
○○○●● ぃ ょ
●○○○● ぉ ょ
●●○○○ ぅ ゅ っ
●○●○○ う゛
○●○●○   ゃ
●○○●○   ゅ

○●○●○ ○ゃ
○○○●● ○ょ
●○○●○ ○ゅ

小薬中人親 親人中薬小
○○○○○ ●●○○○ タブ
                 ○●●○○ バックスペース
                 ○●○●○ 変換(スペース)
                 ○○●●○ 確定
                  ○○○●● エスケープ

○●●●○ ●○○○○ ↑
                  ○●○○○ ←
                  ○○●○○ 変換(スペース)
                 ○○○●○ →
                  ○○○○● ↓
                  ●●○○○ シフト+↑
                 ○●●○○ シフト+←
                 ○○●●○ シフト+→
                  ○○○●● シフト+↓
                  ●○○○● 変換、無変換切り替え
                 ○●●●○ かな入力モード

●●○●○ ○●○○○ a
                  ○○●○○ e
                  ○○○●○ i
                  ○○○○● o
                  ●○○○○ u

                  ○●●○○ f
                  ○○●●○ x
                  ○○○●● q
                  ●○○○● l
                  ●●○○○ c

                  ○●○●○ v
                  ○○●○● '
                  ●○○●○ ,
                  ○●○○● j
                  ●○●○○ .

●●●○○ ○●○○○ h
                  ○○●○○ m
                  ○○○●○ y
                  ○○○○● r
                  ●○○○○ w

                  ○●●○○ p
                  ○○●●○ 
                  ○○○●● k
                  ●○○○● s
                  ●●○○○ t

                  ○●○●○ b
                  ○○●○● n
                  ●○○●○ g
                  ○●○○● z
                  ●○●○○ d

○●○●● ○●○○○ A
                  ○○●○○ E
                  ○○○●○ I
                  ○○○○● O
                  ●○○○○ U

                  ○●●○○ F
                  ○○●●○ X
                  ○○○●● Q
                  ●○○○● L
                  ●●○○○ C

                  ○●○●○ V
                  ○○●○● '
                  ●○○●○ ,
                  ○●○○● J
                  ●○●○○ .

○○●●● ○●○○○ H
                  ○○●○○ M
                  ○○○●○ Y
                  ○○○○● R
                  ●○○○○ W

                  ○●●○○ P
                  ○○●●○ 
                  ○○○●● K
                  ●○○○● S
                  ●●○○○ T

                  ○●○●○ B
                  ○○●○● N
                  ●○○●○ G
                  ○●○○● Z
                  ●○●○○ D

●●○○● ○●○○○ 1
                  ○○●○○ 2
                  ○○○●○ 3
                  ○○○○● 4
                  ●○○○○ 5

                  ○●●○○ 6
                  ○○●●○ 7
                  ○○○●● 8
                  ●○○○● 9
                  ●●○○○ 0

                  ○●○●○ *
                  ○○●○● /
                  ●○○●○ +
                  ○●○○● -
                  ●○●○○ 00

●○●○● ○●○○○ F1
                  ○○●○○ F2
                  ○○○●○ F3
                  ○○○○● F4
                  ●○○○○ F5

                  ○●●○○ F6
                  ○○●●○ F7
                  ○○○●● F8
                  ●○○○● F9
                  ●●○○○ F10

                  ○●○●○ F11
                  ○○●○● F12

●○○●● ○●○○○ !
                  ○○●○○ "
                  ○○○●○ #
                  ○○○○● $
                  ●○○○○ %

                  ○●●○○ &
                  ○○●●○ '
                  ○○○●● )
                  ●○○○● ~
                  ●●○○○ (

○●●○● ○●○○○ @
                  ○○●○○ ^
                  ○○○●○ _
                  ○○○○● |
                  ●○○○○ :

                  ○●●○○ [
                  ○○●●○ ]
                  ○○○●● }
                  ●○○○● ;
                  ●●○○○ {

●○●●○ ○●○○○ \
                  ○○●○○ `
                  ○○○●○ ?
                  ○○○○● >
                  ●○○○○ <

                  ○●●○○ カット
                  ○○●●○ コピー
                  ○○○●● ペースト
                  ●○○○● アンドゥ
                  ●●○○○ リドゥ

戻る ホーム 上へ 進む

メールはこちらまで