Windmill is a keymap for 40% keyboards.
このキー配列は、40%キーボード向けに作成したものです。
- 風車状のカーソル配置
- かな入力対応 (ほぼJISかな配列)
- SandS (Space and Shift)
詳しくは、以下をどうぞ。
| メーカー | キーボード | キーマップ |
|---|---|---|
| Boardsource | Technik | technik |
| YMD | YMD40 | ymd40 |
| Chosfox X Masro | Geonix48 | minipeg48 |
| Chosfox X Masro | Geonix Rev.2.5 | geonix41 |
📦ファームウェアのバイナリはリリースページからダウンロードできます。
- ESC(✕)とEnter(○)が対称配置
- BSが最左列
- Fn, Sym, Shiftは、ホールド時に有効
- 英語配列では修飾キーが並ぶ最下段も含めて、フルに4段を使う
- 「ほ」「へ」「む」「ー」のみシフト側へ
- 「こ」「み」同時押しでスペースキー
- GUI, Alt, Fn, Sym, Shiftは、ホールド時に有効
英字入力、かな入力ともに、最下段中央付近のキーをホールドすると、記号(Sym)またはファンクションキー(Fn)の入力になります。配置については英字配列の図で、各キーの添え字を参照。
かな/英数切り替えは、Ctrlキーのタップで行います。タップするたびに、かなと英数が入れ替わります。IMEへ送るキーはOSごとに異なり、対象OSの切り替えで選びます。
かな入力中に Ctrl, GUI, Alt をホールドしている間は、一時的に英字配列になります。Ctrl+C や GUI+V といったショートカットが、かなに切り替えなくてもそのまま打てます。
| L5 | L4 | L3 | L2 | L1 | L0 | R0 | R1 | R2 | |
|---|---|---|---|---|---|---|---|---|---|
| ホールド | Ctrl | GUI | Alt | Fn | Sym | Shift | Shift | Sym | Fn |
| タップ (英数) | かなへ | GUI | Alt | \ | Space | Space | / | ||
| タップ (かな) | 英数へ | つ | さ | そ | ひ | こ | み | も | ね |
キーボードはIMEの状態を読み取れないため、切り替えを自分で数えて追いかけています。電源を入れた直後は英数から始まります。マウスなどでIME側だけを切り替えると、かな/英数の配列とIMEがずれます。Windows ではかな/英数を直接指定して送るので、もう一度 Ctrl をタップすれば揃います。Android では日本語IMEと英語IMEそのものを切り替えます (日本語IMEの英数モードは、入力欄を移るたびにかなへ戻ってしまうため)。
ずれてしまったときは、Fn+Ctrl でキーボード側はそのままに、IME側だけを切り替えられます。Windows では今の配列に合わせたかな/英数を送り直すので、ずれていなければ何も起きません。Android は切り替えのキーしか送れないため、揃っているときに押すと逆にずれます (もう一度押せば戻ります)。
Fn+Tab は Caps Lock です。押すたびにオンとオフが入れ替わります。Android などで意図せず Caps Lock がかかってしまったときは、これで外せます。
左右の Fn を両方ホールドしている間は、キーボードの設定用のレイヤーになります。配置は全機種で共通です (キー名は英字配列でのもの)。
| キー | 独自キーコード | 設定 |
|---|---|---|
| Fn+Fn+A | MY_WIN | 対象OSを Windows に |
| Fn+Fn+S | MY_ANDR | 対象OSを Android に |
| Fn+Fn+Enter | QK_BOOT | ファームウェアを書き込めるモードへ |
| Fn+Fn+Esc / Q / W / E / R | MD_USB / MD_BLE1 / MD_BLE2 / MD_BLE3 / MD_24G | 接続先を USB / Bluetooth 1〜3 / 2.4G に (Geonix Rev2.5 のみ) |
片方の Fn を離すと、残したほうでファンクションキーの入力へ戻ります。
選択されたレイヤーが分かりやすいように、文字種別にライティングされます。
なお、デフォルトの状態はLEDが明るいので、暗い部屋で使う場合に光量を落として使えるダークモードを用意しました。使い方は、次の通り。
- Fn + Enter を押す
ダークモードを解除するには、もう一度上記のキーを押します。
各OSのIMEの差異を吸収するため、モードを切り替えることができます。キーは設定レイヤーにあります。
| 独自キーコード | キー | 対象OS | 配列の認識 | IME | かな/英数切り替えで送るキー |
|---|---|---|---|---|---|
| MY_WIN | Fn+Fn+A | Windows 11 | English (US) | Microsof IME | かな / 英数 を交互に (KC_LNG1 / KC_LNG2) |
| MY_ANDR | Fn+Fn+S | Android | English (US) | Gboard | Ctrl+Space (日本語⇔英語のIMEを切り替え) |
対象OSが Android のときは、GUI と Alt の扱いも変わります。
- GUI と Alt の同時押しは、後から押したほうを送りません。Android はこの組み合わせを Caps Lock の切り替えとして扱うため、かな入力で「つ」「さ」を続けて打つだけで Caps Lock がかかってしまいます
- GUI+. は Alt+. として送ります。Windows の Win+. と同じ操作にするためです
前バージョンから4年ほど経つ中で、かなりQMKだけでできることが増えて来ました。Androidが「かな入力」にデフォルトで対応したりと、OS側の動きも大きいです。なので、今回はQMKをv0.33.11にした上で、なるべく独自実装を避けてVIALなどでも調整可能な範囲に収めることを主眼に置きました。CHANGES.mdにClaudeが詳しく書いているのでそちらをどうぞ。
- 変更: かな切り替えをCtrlキーのダブルタップに
- 廃止: ローマ字エミュレーション
- 廃止: NumPad
内部実装はかなり変わって簡素になっていますが、使い勝手はそれほど変わらないのではないかと思います。
Copyright (c) 2021-2026 Tsutomu Kawamura
このリポジトリのソースコードは GPL-2.0-or-later (GNU General Public License version 2, または任意のそれ以降のバージョン) で配布しています。全文は LICENSE を参照してください。
ビルドしたファームウェアは QMK Firmware (GPL-2.0-or-later) を含みます。また、各キーボードの定義ファイル (keyboard.json など) は以下をもとにしています。
technik: QMKのboardsource/technik_oymd40: QMKのymdk/ymd40/v2(LEDの数を実機に合わせて変更)minipeg48: sporewoh minipeg48 (本家QMKには未収録)geonix41: ベンダー (RDMCTMZT) 配布のソースをもとに移植 (本家QMKには未収録)
geonix41 だけは無線・電源・LED制御にベンダー提供のクローズドソースなライブラリ
(librdrcommon.a) を使っており、これはこのリポジトリには含まれていません。
ビルド時に scripts/geonix41/fetch-vendor-blob.py がベンダー配布物から取得します。
詳しくは firmware/geonix41/readme.md を参照してください。


