トラックポイント搭載自作キーボード OLSK60 の操作感を、通常ウィンドウの練習アプリとして、また展示会・店頭のキオスク表示として体験してもらうためのテスターです。
- トラックポイントとキー入力を全画面で可視化する(カーソル軌跡・打鍵ヒートマップ・クリック/スクロールの計測)
- タイピング練習(WPM / 正確率)、自由入力(日本語IME対応)、長文を動かす SCROLL LAB を常時併用できる
- Vial連携: 実機からキーマップを読み出して刻印に反映し、HID 出力のない Fn(MO/LT) キーも点灯させる
- ボードプロファイル: 接続キーボードを Vial の UID / USB ID で自動判別。汎用 ANSI 60% / フルサイズ104 も選べ、一般のキーボードのテスターとしても使える
- ネイティブのキオスクホストが Winキー / Alt+Tab / Alt+F4 などをブロックし、来場者が何を押しても画面から離脱しない
- 外部依存なし・オフライン動作(
ui/は素の HTML/CSS/JS)
同梱テーマ(左上から ダーク / モノクロ / ミニマル / ポップ)。スタッフメニューで切り替えます。
- GitHub Actions の build-kiosk ワークフローの Artifact
TechmechInputLab-win-x64-ci-<実行番号>をダウンロードして、新しいフォルダへ展開 (手元でビルドする場合は下記「ビルド」参照) TechmechInputLab.exeを実行すると、通常のタイトルバー付きウィンドウで起動します。販売ユーザーの練習用途や、開発者の高解像度メインPCでの作業に使えます。- WebView2 ランタイムが必要です(Windows 10/11 には標準搭載)
TechmechInputLab.exe --windowedも後方互換のエイリアスとして同じアプリモードで起動します。
- 展示機では
TechmechInputLab.exe --kioskで起動するショートカットを作成しておくことを推奨します。 --kiosk付きで起動すると、フルスクリーン・最前面でテスターが起動します。- 終了はスタッフ用の隠し操作(2通り)
- 画面左上のロゴを2.5秒以内に5回タップ/クリック → 終了メニューが出るので「終了する」
- キーボードから
Ctrl + Alt + Shift + F12
アプリモードではキーブロック、フォーカス奪還、スリープ抑止、アトラクト自動リセットは有効になりません。
ui/index.html をブラウザで開くだけでも動きます(Edge のキオスクモード起動でも可)。
ただし ブラウザだけでは Winキー等の OS ショートカットはブロックできません。展示ではキオスクホスト経由での起動を推奨します。
| 機能 | 概要 |
|---|---|
| KEYBOARD | 実機と同じ配列が光る。押下回数でヒートマップ、Fn は破線表示 |
| TRACKPOINT | カーソル軌跡の全画面 HUD、速度・方向・累計距離 |
| INPUT MONITOR | クリック/スクロールのカウンタ、直近入力のライブフィード |
| SCROLL LAB | 画面のどこからでも長文を動かす。小数 delta を保持した換算 |
| TYPING | 練習モード(WPM / 正確率)と自由入力(IME 対応・既定オフ) |
| デザインテーマ | ダーク・モノクロ・ミニマル・ポップの4テーマを同梱。スタッフメニューで切替 |
→ 詳細は docs/guide/features.md
キーブロックの範囲と限界、スタッフメニュー、アトラクト自動リセット、
TIL 起動中は Vial が繋がらない(先に一方を終了する)といった現地で要る話は
docs/guide/exhibition.md にまとめてあります。
接続した OLSK60 から Vialプロトコル標準機能のみで情報を取得します(ファーム独自パッチ非依存)。 キオスクホストは Raw HID、ブラウザ単体は WebHID、未接続時は既定ボードプロファイルの刻印表示、と 自動でフォールバックします。
→ 取得している情報・unlock・RMK 移行時の再確認は docs/design/vial-integration.md
.NET 8 SDK があれば Windows / macOS / Linux のどこでもビルドできます。
dotnet publish kiosk/TechmechInputLab.csproj -c Release -r win-x64 --self-contained \
-p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -o publishpublish/ に TechmechInputLab.exe と ui/ フォルダ、ライセンス3ファイルが出力されます。
→ リポジトリ構成、CI(build-kiosk / visual-check)、タグでのリリース手順は
docs/development.md
docs/INDEX.md が目次です。よく使うのは次の3本。
docs/guide/exhibition.md— 展示運用docs/development.md— ビルド・CI・リリースdocs/roadmap.md— 残課題と実機確認チェックリスト
- OLSK60 / OLSK60 v2: Techmech keys
- 旧バージョンのテスターは @mass-work さんの CodePen をベースにしていました。現バージョンは全面書き直しです
コードは Apache License 2.0 です。改変・再配布・商用利用ができます。条件は Apache-2.0 の定めどおりで、要点は次の2つです。
- 当方の権利表示を残すこと: 再配布する成果物に
LICENSEとNOTICEの内容 (Copyright 2025-2026 Techmech keys)を含め、変更したファイルには変更した旨を書く。 - 当方の商標は使えないこと(Apache-2.0 第6条): 「Techmech keys」「Techmech keys INPUT LAB」
「OLSK60」「Platyx」などの名称・ロゴ、および
docs/配下の製品画像は許諾に含みません。 フォークを配布するときは名称と画像を差し替えてください。
詳細と除外対象の一覧は NOTICE にあります。
同梱する第三者コンポーネント(WebView2 SDK / SharpCompress / .NET ランタイム)の表示は
THIRD-PARTY-NOTICES.md にまとめてあります。LICENSE /
NOTICE / THIRD-PARTY-NOTICES.md の3ファイルは exe と同じ場所に出力されるので、
配布 zip や publish/ フォルダにもそのまま入ります。

