Add new keyboard MirageiX (#25054)

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: jack <0x6a73@protonmail.com>
This commit is contained in:
takashicompany 2025-04-28 03:19:19 +09:00 committed by GitHub
parent ca425971d5
commit a07360e0f1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 182 additions and 0 deletions

View File

@ -0,0 +1,73 @@
{
"manufacturer": "takashicompany",
"keyboard_name": "MirageiX",
"maintainer": "takashicompany",
"development_board": "promicro",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["D4", "C6", "D7", "E6", "B4", "B5"],
"rows": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6"]
},
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0065",
"vid": "0x7463"
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 1.25},
{"matrix": [1, 0], "x": 1, "y": 1.25},
{"matrix": [2, 0], "x": 2, "y": 0.25},
{"matrix": [3, 0], "x": 3, "y": 0},
{"matrix": [4, 0], "x": 4, "y": 0.25},
{"matrix": [5, 0], "x": 5, "y": 0.5},
{"matrix": [0, 3], "x": 8, "y": 0.5},
{"matrix": [1, 3], "x": 9, "y": 0.25},
{"matrix": [2, 3], "x": 10, "y": 0},
{"matrix": [3, 3], "x": 11, "y": 0.25},
{"matrix": [4, 3], "x": 12, "y": 1.25},
{"matrix": [5, 3], "x": 13, "y": 1.25},
{"matrix": [0, 1], "x": 0, "y": 2.25},
{"matrix": [1, 1], "x": 1, "y": 2.25},
{"matrix": [2, 1], "x": 2, "y": 1.25},
{"matrix": [3, 1], "x": 3, "y": 1},
{"matrix": [4, 1], "x": 4, "y": 1.25},
{"matrix": [5, 1], "x": 5, "y": 1.5},
{"matrix": [0, 4], "x": 8, "y": 1.5},
{"matrix": [1, 4], "x": 9, "y": 1.25},
{"matrix": [2, 4], "x": 10, "y": 1},
{"matrix": [3, 4], "x": 11, "y": 1.25},
{"matrix": [4, 4], "x": 12, "y": 2.25},
{"matrix": [5, 4], "x": 13, "y": 2.25},
{"matrix": [0, 2], "x": 0, "y": 3.25},
{"matrix": [1, 2], "x": 1, "y": 3.25},
{"matrix": [2, 2], "x": 2, "y": 2.25},
{"matrix": [3, 2], "x": 3, "y": 2},
{"matrix": [4, 2], "x": 4, "y": 2.25},
{"matrix": [5, 2], "x": 5, "y": 2.5},
{"matrix": [0, 5], "x": 8, "y": 2.5},
{"matrix": [1, 5], "x": 9, "y": 2.25},
{"matrix": [2, 5], "x": 10, "y": 2},
{"matrix": [3, 5], "x": 11, "y": 2.25},
{"matrix": [4, 5], "x": 12, "y": 3.25},
{"matrix": [5, 5], "x": 13, "y": 3.25},
{"matrix": [6, 0], "x": 2.5, "y": 4},
{"matrix": [6, 1], "x": 3.5, "y": 4},
{"matrix": [6, 2], "x": 4.5, "y": 4},
{"matrix": [6, 3], "x": 5.5, "y": 4},
{"matrix": [7, 2], "x": 7.5, "y": 4},
{"matrix": [7, 3], "x": 8.5, "y": 4},
{"matrix": [7, 4], "x": 9.5, "y": 4},
{"matrix": [7, 5], "x": 10.5, "y": 4}
]
}
}
}

View File

@ -0,0 +1,70 @@
// Copyright 2025 takashicompany (@takashicompany)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, LT(7, KC_Q), KC_W, KC_E, LT(6, KC_R), KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_LCTL, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_ENT,
KC_LSFT, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_DEL,
KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_RALT, KC_RGUI
),
[1] = LAYOUT(
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
KC_TRNS, LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, KC_TRNS,
KC_TRNS, LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT(
KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), KC_TRNS,
KC_TRNS, KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), KC_TRNS,
KC_TRNS, KC_TRNS, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT(
KC_TRNS, LT(7, KC_Q), KC_W, KC_E, LT(6, KC_R), KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS,
KC_TRNS, KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, KC_TRNS,
KC_TRNS, LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), KC_BSPC, KC_TRNS,
KC_LCTL, KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(5, KC_SPC), LT(4, KC_LNG1), KC_RALT, KC_RGUI
),
[4] = LAYOUT(
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
KC_TRNS, KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, KC_TRNS,
KC_TRNS, LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[5] = LAYOUT(
KC_TRNS, KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS,
KC_TRNS, KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS,
KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[6] = LAYOUT(
KC_TRNS, KC_ESC, KC_TAB, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS,
KC_TRNS, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS,
KC_TRNS, KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, KC_DEL, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[7] = LAYOUT(
KC_TRNS, KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS,
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
KC_TRNS, KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), MO(9), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[8] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, DF(0), DF(3), KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};

View File

@ -0,0 +1,39 @@
# MirageiX
![takashicompany/mirageix](https://i.imgur.com/93krKWQ.jpeg)
MirageiX is a 44-key integrated keyboard.
The PCB has been trimmed to the limit to create a visual appearance in which only the keycaps seem to float.
By using a transparent acrylic case, you can enjoy a mirage-like keyboard expression.
The key layout is based on the TRON keyboard layout, making typing smoother than it looks.
Keyswitches are fixed with sockets, allowing easy replacement of keyswitches.
MirageiXは44キーの一体型キーボードです。
PCBを極限まで切り詰めたことでキーキャップのみが浮き出るようなビジュアルを実現しました。
透明なアクリルケースを用いることで蜃気楼のようなキーボード表現が楽しめます。
キー配列もTRONというキーボードの配置を参考にしているため、見た目以上にスムーズなタイピングを実現します。
キースイッチはソケットで固定されるため、キースイッチの交換を容易に行えます。
* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany)
* Hardware Supported: MirageiX PCB, Pro Micro
* Hardware Availability: https://github.com/takashicompany/mirageix
Make example for this keyboard (after setting up your build environment):
make takashicompany/mirageix:default
Flashing example for this keyboard:
make takashicompany/mirageix:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available