{"id":20145906,"url":"https://github.com/usagi/virtual-keyboard-prototype-1","last_synced_at":"2025-09-11T17:36:55.306Z","repository":{"id":11982958,"uuid":"14557877","full_name":"usagi/virtual-keyboard-prototype-1","owner":"usagi","description":"仮想キーボード試作1型","archived":false,"fork":false,"pushed_at":"2014-01-29T21:45:23.000Z","size":4088,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-03T00:14:19.201Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/usagi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-20T13:52:42.000Z","updated_at":"2022-04-28T07:34:55.000Z","dependencies_parsed_at":"2022-09-23T03:20:30.096Z","dependency_job_id":null,"html_url":"https://github.com/usagi/virtual-keyboard-prototype-1","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/usagi/virtual-keyboard-prototype-1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fvirtual-keyboard-prototype-1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fvirtual-keyboard-prototype-1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fvirtual-keyboard-prototype-1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fvirtual-keyboard-prototype-1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/usagi","download_url":"https://codeload.github.com/usagi/virtual-keyboard-prototype-1/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fvirtual-keyboard-prototype-1/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274680156,"owners_count":25330175,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T22:18:40.252Z","updated_at":"2025-09-11T17:36:55.183Z","avatar_url":"https://github.com/usagi.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# virtual-keyboard-prototype-1\n\n仮想キーボード試作1型\n\n# memo\n\n## build方法\n\n### 依存ライブラリー(git submodule)の入手\n\nリポジトリー入手時の初回は `submodule init`を行って下さい。\n\n    git submodule init\n\n依存ライブラリーの更新\n\n    git submodule update\n\n### 本サンプルのビルド\n\n    mkdir build\n    cd build\n    cmake -G Ninja ..\n    ninja\n\nなどして下さい。\n\nなお、clang++の場合には3.3以上、\ng++の場合には4.7以上のバージョンを必要とします。\n\n### 依存性\n\n- cmake\n    - http://www.cmake.org/\n- Ninja, GNU make など cmake の対応するビルドツール\n    - http://martine.github.io/ninja/\n    - http://www.gnu.org/software/make/\n- g++-4.7, clang++-3.3 などの C++11 に対応したコンパイラー\n    - http://gcc.gnu.org/\n    - http://clang.llvm.org/\n\n## raspbianにおける必要パッケージ等の導入方法\n\n    apt-get install \\\n      cmake \\\n      g++-4.7 \\\n      libboost-all-dev \\\n      libopencv-dev \\\n      sqlite3 \\\n      libsqlite3-dev \\\n\nほかにraspbianにパッケージが無いため手作業でインストールが必要なものとして、\n\n- Ninja\n\n以上があります。\n\nまた、 raspbian では clang++-3.3 を執筆現在まだリポジトリーから入手できないので\ng++-4.7を用意し、cmake時に-DCMAKE_CXX_COMPILER=g++-4.7、\nまたはalternativesを設定してあれば単に-DCMAKE_CXX_COMPILER=g++を指示する必要があります。\n\n## サンプルアプリの共通事項\n\n- 実行時オプション\n    - -h : ヘルプを表示\n    - -v : バージョン情報を表示\n    - オプション無しで実行 : -h で確認できるデフォルトの値で実行\n\n## virtual-keyboard.sqlite3 データベースについて\n\n- virtual-keyboard.xlsx\n    - データ編集用マスター\n    - このファイルからの自動ビルドは行われない\n    - 変更を加えた場合は.csvを出力する\n- virtual-keyboard.csv\n    - ビルドシステムによりvirtual-keyboard.sqlite3を生成するソースとなる\n- virtual-keyboard-data.csv\n    - ビルド途中でsqlite3にロードさせる為に元の.csvから必要なデータ部分だけを残して削ぎ落とした中間ファイル\n    - build/CMakeFiles/virtual-keyboard-tester.dir/virtual-keyboard-data.csvとして生成される\n- virtual-keyboard.sqlite3\n    - アプリケーションで使用する為のsqlite3データベース\n    - ビルドシステムによりvirtual-keyboard.csvから自動的に生成される\n    - testテーブルにキーボードデータが収められる\n    - 将来的には複数のキーボードデータを収めて使う\n\n### tips: Key Usage ID\n\n- USB HID Usage Tables\n    - http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf\n- USBキーボードのキーコード\n    - http://www2d.biglobe.ne.jp/~msyk/keyboard/layout/usbkeycode.html\n\n## virtual-keyboard-tester\n\n仮想キーボードに対して指位置の入力（X座標、Y座標、S座標:ストローク深さ座標）を与える事で\n仮想キーボードデータベースにあるtestキーボードテーブルから、\nキーのヒット状態（＋人間が理解可能な文字列によるヒットしたキーの名称）を表示するサンプル。\n\n## virtual-keyboard-viewer\n\n仮想キーボードデータベースからキー情報を読み込み可視化するサンプル。\n\n## keyboard-writer\n\nシステム（OS）に対して仮想キーボードデバイスを生成し、任意のキー入力をソフトウェアエミュレーションにより\nシステムへ送出するサンプル。\n\nLinux（UNIX、ネイティブPOSIX系）と、その他のシステム（Windows、OSXも？）では\n異なる方法でシステムにキー入力を与える必要がある。\n現在はとりあえずLinux（Linux Mint 15 KDEで動作確認）のみに対応。\n\n## sender/reciever\n\nUDP/IPによりデータを送信するサンプル、受信するサンプル。\n\n## camera-preview\n\nシステムに接続された任意台数のカメラを制御するサンプル。撮影機能付き。\n\n## pixel-to-realspace\n\nX軸回転を許容するtop-camと軸回転を許容しないfront-camの2台の映像における\nターゲットピクセルから実空間における3次元座標を推定するサンプル。\n\n## finger-position\n\n画像から手指と思しきピクセル座標を検出するサンプル。\n\n構成ファイルが多いのでサブディレクトリーにまとめています。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusagi%2Fvirtual-keyboard-prototype-1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fusagi%2Fvirtual-keyboard-prototype-1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusagi%2Fvirtual-keyboard-prototype-1/lists"}