/keyboard · input

キーボード配列

大西配列を土台にした macOS / Windows のキーボード設定を、実際のキー位置に沿って表示します。macOS の hidutil によるベース差し替えと、Kanata のレイヤーを分けて扱い、Space 長押しや Shift 長押しで変わる操作も確認できます。

大西配列 + QWERTYmacOS: hidutil + KanataWindows: Kanata

公開リポジトリから取得した時点の内容を表示しています。ページはリクエスト時に外部へアクセスしません。

2026/10/20 同期 / 4 sources

01 — mechanism

二段階で決まる

macOS は OS 側のキー差し替えと Kanata のレイヤーが直列に重なります。Windows は Kanata の入力順そのものを表示します。

macOSUS ANSI

  1. 物理キー(US ANSI)
  2. hidutil — 25 個のキー出力を大西配列の土台へ差し替え
  3. Kanata — 12 レイヤーを tap / hold で切り替え
  4. Space 長押し → HUB / Shift 長押し → 記号
  • hidutil が物理キーボードを大西配列へ変換する。Kanata はその変換後のイベントを読み、同じ大西配列をベースに Space 長押し HUB を重ねる。
  • Karabinier DriverKit の仮想キーボードには同じ変換を入れない。入れると Kanata の出力が二重変換される。
  • 物理 US ANSI のキー位置で表示する。キーキャップの文字は物理キー、下段の文字はその位置が出力するアクション。

WindowsJIS

  1. ChgKey 後の入力(74 キー)
  2. Kanata — defsrc の入力順をそのまま表示
  3. 大西 / QWERTY を caps で切り替え
  4. Kanata — 3 レイヤー(F1 長押し → extra)
  • ChgKey などで大西配列化済みの入力が Kanata に届く。Kanata 側の onishi レイヤーはその入力をそのまま通す。
  • defsrc の `caps` 位置が大西配列 / QWERTY の切り替え。`f1` 位置を押している間は `extra` レイヤー。
  • defsrc は ChgKey 後の入力キー列であり、物理キー位置ではない。図のキーキャップは Kanata が受け取るキー名を示す。
02 — layers

配列とレイヤー

プラットフォームを選び、次にレイヤーを選びます。キーを選ぶと、tap / hold の分岐と元の構文を表示します。

macOS の 大西配列 レイヤー。起動時のベースレイヤー。

横にスクロールできます。キーをタップすると詳細を表示します。

key detail

キーを選択すると、その位置のアクション、tap / hold の分岐、alias と元の構文を表示します。

03 — hidutil

macOS のベース差し替え

hidutil は物理キーの出力を先に変えます。Kanata はその後の入力をレイヤーで解釈します。

hidutil の UserKeyMapping。物理キー(Src)→ 大西配列の出力(Dst)。

hidutil UserKeyMapping(25 件、元の JSON の順)
物理キー置き換え後src usagedst usage
-/0x70000002d0x700000038
WL0x70000001a0x70000000f
EU0x7000000080x700000018
R,0x7000000150x700000036
T.0x7000000170x700000037
YF0x70000001c0x700000009
UW0x7000000180x70000001a
IR0x70000000c0x700000015
OY0x7000000120x70000001c
AE0x7000000040x700000008
SI0x7000000160x70000000c
DA0x7000000070x700000004
FO0x7000000090x700000012
G-0x70000000a0x70000002d
HK0x70000000b0x70000000e
JT0x70000000d0x700000017
KN0x70000000e0x700000011
LS0x70000000f0x700000016
;H0x7000000330x70000000b
B;0x7000000050x700000033
NG0x7000000110x70000000a
MD0x7000000100x700000007
,M0x7000000360x700000010
.J0x7000000370x70000000d
/B0x7000000380x700000005
04 — provenance

出典と同期

表示しているのは公開リポジトリの特定 commit から取得したバイト列です。採用元と最新 head を分けて記録します。

採用 status: rebuildup/key-map-kanata/mac/kanata-us.kbd は 0c02df504029 を採用しています(pc-setup-install が宣言)。 macOS の Kanata 設定は key-map-kanata の最新 head ではなく、pc-setup installer が pin する config_ref を採用する。installer が更新されるまで自動追随しない。

最終同期 2026/10/20 / stale 判定 45 日
用途repositoryrefpath取得日
macOS
pc-setup adopted
rebuildup/key-map-kanata0c02df504029mac/kanata-us.kbd2026/10/20
Windows
repository latest
rebuildup/key-map-kanatab1ed567b824fwin/kay-map-win.kbd2026/10/20
macOS
repository latest
rebuildup/pc-setup2b0da431f92dplatforms/macos/keyboard/onishi.json2026/10/20
採用 ref
repository latest
rebuildup/pc-setup2b0da431f92dplatforms/macos/kanata/install-kanata.sh2026/10/20

同期はローカルのスケジューラまたは release 手順で実行します。ページの表示時に GitHub へ問い合わせることはありません。壊れた source、未対応の構文、キー数の不一致は、そのプラットフォームだけを安全な状態に落とします。