概要
HalfGripは、Androidネイティブカメラアプリと自作USB-C HIDグリップデバイスの組み合わせ。 半押しAFロックを含むミラーレス的な操作感をスマホで実現する。
デバイス
- マイコン: RP2040 Zero
- 接続: USB-C有線(HIDゲームパッドとして認識)
- 筐体: Nothing Phone 3専用グリップ型(Bambu Lab A1 Miniで出力)
- ボタン構成: メインシャッター2段階、サブボタン×1、ロータリーエンコーダ、追加タクトスイッチ2〜3個
- ファームウェア: CircuitPython +
usb_hid
アプリ
- 言語: Kotlin
- カメラAPI: Camera2 API
- 最小Android: 12以上
- UI: Jetpack Compose
- アーキテクチャ: MVVM(ViewModel + StateFlow)
開発ステップ
- Step 1 — MVPコア: Camera2プレビュー、静止画撮影・JPEG保存、KeyEventでシャッター
- Step 2 — 入力拡張: AFロック制御、MotionEvent対応、MFフォーカス・ズーム制御
- Step 3 — 画質系: RAW(DNG)保存、露出・ISO・SS手動制御、HDR、フォーカスピーキング
- Step 4 — UX仕上げ: キーマッピングプロファイル保存、グリッド・水平儀
UI設計
撮影画面はL字XMB(クロスメディアバー)を採用。横軸に選択中カテゴリの値リスト、縦軸にカテゴリ一覧を配置。全操作がタッチで可能で、グリップ無しでも使える設計。