⌨️

アリス配列キーボードEPOMAKER Alice 66

2025/02/04に公開

現状オレ的最高のキーボード、EPOMAKER Alice 66について紹介するぜ!

Photo

どうも。毎週のようにキーボードを購入している異常者です。

しかしこのキーボード(というよりアリス配列)との出会いが大きな転機になりそうな予感がするのである種エポックメイキングなキーボードとの出会いとなった。(EPOMAKERだけに)

いや、君EPOMAKER Split65はどうしたの。

https://zenn.dev/kickbase/articles/5af7aa27854994

こちらの記事でむっちゃいいぜ!とはしゃいでいた僕ですが、若干気になるところがあったんですね。それが以下のみっつ。

  • 親指キーが若干長くサイドのキーへのアクセスが難しい
  • ボディは分割部分のプラスチックが薄く、触れるとパキパキ音がなるのが気になる
  • 左手親指でアクセスするSpaceキーが2つ並んでいるのが気持ち悪い(これは設定の問題)

気にならないといえば気にならないレベルの些細なことだと思うけれど、気になり始めるとどうにも気持ち悪いのが人の性。というわけで分割キーボードからアリス配列にチャレンジをしてみたところこれがビンゴで。

当然ながら分割キーボードの方が肩は開くのだけれど、アリス配列でも十分に肩の負担は軽減できると思われ、かつ本モデルはBキーが2つあるのも面白いところ(いまのところ美味い活用法をみつけられていないのでLayer0のBackSpaceに取り急ぎ当ててみている)。もちろん上記問題を解決するため親指キーの小さいものを選んだわけで、かなり理想的な環境と言える。

一体型のボディのためハウジングのショボさは目立ちにくく、スイッチもコトコト系で非常に好み。
最終的にはKeychron Q Maxなどに移行していく可能性はあるけれど、本機EPOMAKER Alice 66も十二分にメインをはれるポテンシャルを感じた。

KeychronかCIDOOか、同じアルミ筐体でも配列は若干違うので非常に悩ましいところ。マイナーなジャンルは実機に触る機会がないためつらいわね。

キーマップはEPOMAKER Split65とほぼ変わらないので詳しくはそちらの記事を参考にしていただきたいが、VIAの設定で少々手こずったのでその紹介をしておこう。

キーマップの設定で注意すべきところ

まずRemapは上手く認識されず、キーボードのグラフィックがグチャッと表示されてしまう。しょうがないのでVIAで設定をすることとした。

しかし、認識はされどもキーボードの表示がされずキーマップの変更が行えない。色々調べてみたところ下記サイトがヒットした。

https://bunktiruu.com/?p=3763

以前DOIO KB16の設定を行った際はこんな手間なことはしなくても良かったと思われるので、WEBアプリケーションの認証周りになにか不具合があるのかもしれない。

ちなみに一度設定してしまえば再度VIAに接続した際は自動的に認識されるようになった。助かる。

キーマップの設定

RemapなどはGUIで設定が完結するため非常にUXがよいが、VIAは設定値を自身で調べる必要があるため少々面倒だ。以下参考になったサイトを列挙しておく。

https://salicylic-acid3.hatenablog.com/entry/via-manual

https://qiita.com/82cb82b8/items/4d023d4e9cef4fe74702

https://docs.qmk.fm/keycodes

実際の設定

ご参考まで。

レイヤー0
レイヤー1
レイヤー2
レイヤー3

設定値 操作
LALT(KC_GRV) Alt+`
LGUI(KC_D) Win+D
LSG(KC_S) Shift+Win+S
LSG(KC_RGHT) Shift+Win+→
RCS(KC_ESC) Ctrl+Shift+ESC
RCS(KC_D) Ctrl+Shift+D
RCS(KC_W) Ctrl+Shift+D
RCS(KC_C) Ctrl+Shift+C
RCS(KC_V) Ctrl+Shift+V
RCS(KC_TAB) Ctrl+Shift+TAB
C(KC_TAB) Ctrl+TAB
LGUI(KC_SLASH) Win+/
A(KC_DEL) ALT+DEL
C(KC_DEL) Ctrl+DEL
RCS(KC_O) Ctrl+Shift+O
LT(2,KC_ENT) 単押しでENTER、長押しでレイヤー2に移動

最終的なJSONファイルはこちらよりDL可能です。

コードも貼っておきます。

epomaker_alice66.layout.json
{
  "name": "EPOMAKER Alice66",
  "vendorProductId": 917516298,
  "macros": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
  "layers": [
    [
      "KC_ESC",
      "KC_1",
      "KC_2",
      "KC_3",
      "KC_4",
      "KC_5",
      "KC_6",
      "KC_7",
      "KC_8",
      "KC_9",
      "KC_0",
      "KC_MINS",
      "KC_EQL",
      "KC_BSPC",
      "KC_NO",
      "KC_NO",
      "KC_TAB",
      "KC_Q",
      "KC_W",
      "KC_E",
      "KC_R",
      "KC_T",
      "KC_Y",
      "KC_U",
      "KC_I",
      "KC_O",
      "KC_P",
      "KC_LBRC",
      "KC_RBRC",
      "KC_BSLS",
      "KC_HOME",
      "KC_NO",
      "KC_LCTL",
      "KC_A",
      "KC_S",
      "KC_D",
      "KC_F",
      "KC_G",
      "KC_H",
      "KC_J",
      "KC_K",
      "KC_L",
      "KC_SCLN",
      "KC_QUOT",
      "KC_NO",
      "TO(3)",
      "KC_DEL",
      "KC_NO",
      "KC_LSFT",
      "KC_Z",
      "KC_X",
      "KC_C",
      "KC_V",
      "KC_B",
      "KC_BSPC",
      "KC_N",
      "KC_M",
      "KC_COMM",
      "KC_DOT",
      "KC_SLSH",
      "KC_NO",
      "KC_RSFT",
      "KC_UP",
      "KC_NO",
      "KC_LALT",
      "KC_LGUI",
      "MO(1)",
      "KC_NO",
      "KC_NO",
      "KC_SPC",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "LT(2,KC_ENT)",
      "KC_RCTL",
      "KC_NO",
      "KC_NO",
      "KC_LEFT",
      "KC_DOWN",
      "KC_RGHT"
    ],
    [
      "KC_GRV",
      "KC_F1",
      "KC_F2",
      "KC_F3",
      "KC_F4",
      "KC_F5",
      "KC_F6",
      "KC_F7",
      "KC_F8",
      "KC_F9",
      "KC_F10",
      "KC_F11",
      "KC_F12",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_TAB",
      "KC_NO",
      "KC_NO",
      "KC_MPRV",
      "KC_MNXT",
      "KC_HOME",
      "KC_NO",
      "KC_P7",
      "KC_P8",
      "KC_P9",
      "KC_PMNS",
      "KC_PSLS",
      "KC_NO",
      "KC_NO",
      "KC_PGUP",
      "KC_NO",
      "KC_ESC",
      "LSG(KC_RGHT)",
      "LSG(KC_S)",
      "G(KC_D)",
      "KC_MPLY",
      "KC_END",
      "KC_NO",
      "KC_P4",
      "KC_P5",
      "KC_P6",
      "KC_PPLS",
      "KC_PAST",
      "KC_NO",
      "KC_EQL",
      "KC_PGDN",
      "KC_NO",
      "RCS(KC_ESC)",
      "RCS(KC_D)",
      "RCS(KC_W)",
      "RCS(KC_C)",
      "RCS(KC_V)",
      "KC_NO",
      "KC_NO",
      "KC_P0",
      "KC_P1",
      "KC_P2",
      "KC_P3",
      "KC_PDOT",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "CUSTOM(8)",
      "KC_LALT",
      "KC_TRNS",
      "KC_NO",
      "KC_NO",
      "KC_SPC",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_DEL",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "A(KC_DEL)",
      "C(KC_DEL)",
      "RCS(KC_O)"
    ],
    [
      "S(KC_GRV)",
      "KC_F1",
      "KC_F2",
      "KC_F3",
      "KC_F4",
      "KC_F5",
      "KC_F6",
      "KC_F7",
      "KC_F8",
      "KC_F9",
      "KC_F10",
      "KC_F11",
      "KC_F12",
      "KC_BSPC",
      "KC_NO",
      "KC_NO",
      "KC_GRV",
      "S(KC_1)",
      "S(KC_2)",
      "S(KC_3)",
      "S(KC_4)",
      "S(KC_5)",
      "KC_Y",
      "KC_U",
      "KC_I",
      "KC_MINS",
      "KC_P",
      "KC_LBRC",
      "KC_RBRC",
      "KC_BSLS",
      "KC_HOME",
      "KC_NO",
      "KC_QUOT",
      "KC_BSLS",
      "S(KC_6)",
      "S(KC_7)",
      "S(KC_9)",
      "S(KC_0)",
      "KC_LEFT",
      "KC_DOWN",
      "KC_UP",
      "KC_RGHT",
      "KC_EQL",
      "KC_QUOT",
      "KC_NO",
      "KC_ENT",
      "KC_DEL",
      "KC_NO",
      "S(KC_COMM)",
      "S(KC_DOT)",
      "KC_LBRC",
      "KC_RBRC",
      "S(KC_LBRC)",
      "S(KC_RBRC)",
      "KC_NO",
      "RCS(KC_TAB)",
      "C(KC_TAB)",
      "KC_COMM",
      "KC_DOT",
      "G(KC_SLSH)",
      "KC_NO",
      "KC_RSFT",
      "KC_UP",
      "KC_NO",
      "KC_LCTL",
      "KC_LALT",
      "S(KC_MINS)",
      "KC_NO",
      "KC_NO",
      "A(KC_GRV)",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_SPC",
      "KC_RALT",
      "KC_NO",
      "KC_NO",
      "KC_LEFT",
      "KC_DOWN",
      "KC_RGHT"
    ],
    [
      "KC_GESC",
      "KC_1",
      "KC_2",
      "KC_3",
      "KC_4",
      "KC_5",
      "KC_6",
      "KC_7",
      "KC_8",
      "KC_9",
      "KC_0",
      "KC_MINS",
      "KC_EQL",
      "KC_BSPC",
      "KC_NO",
      "KC_NO",
      "KC_TAB",
      "S(KC_Q)",
      "S(KC_W)",
      "S(KC_E)",
      "S(KC_R)",
      "S(KC_T)",
      "S(KC_Y)",
      "S(KC_U)",
      "S(KC_I)",
      "S(KC_O)",
      "S(KC_P)",
      "KC_LBRC",
      "KC_RBRC",
      "KC_BSLS",
      "KC_HOME",
      "KC_NO",
      "KC_CAPS",
      "S(KC_A)",
      "S(KC_S)",
      "S(KC_D)",
      "S(KC_F)",
      "S(KC_G)",
      "S(KC_H)",
      "S(KC_J)",
      "S(KC_K)",
      "S(KC_L)",
      "KC_SCLN",
      "KC_QUOT",
      "KC_NO",
      "TO(0)",
      "KC_DEL",
      "KC_NO",
      "KC_LSFT",
      "S(KC_Z)",
      "S(KC_X)",
      "S(KC_C)",
      "S(KC_V)",
      "S(KC_B)",
      "KC_BSPC",
      "S(KC_N)",
      "S(KC_M)",
      "KC_COMM",
      "KC_DOT",
      "KC_SLSH",
      "KC_NO",
      "KC_RSFT",
      "KC_UP",
      "KC_NO",
      "KC_LCTL",
      "KC_LALT",
      "S(KC_MINS)",
      "KC_NO",
      "KC_NO",
      "KC_SPC",
      "KC_NO",
      "KC_NO",
      "KC_NO",
      "KC_ENT",
      "KC_RALT",
      "KC_NO",
      "KC_NO",
      "KC_LEFT",
      "KC_DOWN",
      "KC_RGHT"
    ]
  ],
  "encoders": []
}

Discussion