問題タブ [input-devices]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android 3.0 物理キーボード設定を使用
バックグラウンド:
最近、Motorola XOOM タブレットをデスクトップ ドックと Bluetooth キーボード アクセサリと共に購入しました。
ドックとキーボードはうまく機能しますが、デスクから離れるためにタブレットをドックから外しても、キーボードはデバイスとペアリングされたままであり、ソフト キーボードを使用するには手動で設定を変更する必要があります。ドックに戻すときも同じで、手動で元に戻す必要があります。それは大きな問題ではありませんが、それについて考える必要がないのはいいことです.
そこで、電源に接続または切断されたときに Bluetooth のオンとオフを切り替えるだけのアプリを市場からダウンロードしてみましたが、しばらくはうまくいきましたが、バックグラウンド サービスは一定期間後に停止し、手動で再起動するまで役に立たなくなりました。
ポイント: タブレットがドッキング/ドッキング解除されたことを認識し、それに応じて「物理キーボードを使用する」設定を切り替える小さなアプリ/サービスを作成しようとしています。
ドックの状態を認識するために、BroadcastReciever から始めました。
しかし、イベントが発生した後に設定を更新する最善の方法を見つけるのに苦労しています。InputMethodManagerを使用していくつかの例を調べましたが、すべてのメソッドには、バインドする特定のEditTextまたはその他の入力が必要なようです。
さらに、ドキュメントのどこにもその設定を表す対応する定数が見つからないようですが、グラフィカルに、ここにあります: http://i.stack.imgur.com/esFaw.png
誰でもこれで私を助けることができますか?
設定を変更するための解決策があればいいのですが、他のアイデアも受け入れます。
delphi - Delphiで特定のイベントをトリガーしたデバイスを確認する方法は?
どの入力デバイスが特定の GUI イベントをトリガーしたかを簡単に知る方法があるかどうか疑問に思っています。
例:TButton.OnClick
イベントが発生します。ユーザーがキーボードを押してトリガーしたか (ショートカット、Enter
デフォルト ボタンのspace
キー、フォーカスされたボタンのキーなど)、またはマウス クリックでトリガーしたか? 簡単に見分ける方法はありますか?
私が知りたい理由は、ユーザーがマウスを使用してキーボードでも実行できるアクションを開始するときに、キーボードの使用に関するヒントをいくつかのアプリケーションに実装できるようにするためです。製造現場のシステムはかなりほこりっぽい/汚れた環境にあり、マウスはそこにうまく持ちこたえられない傾向があります. また、多くの場合、マウスを使用するスペースがあまりありません。(いいえ、テンキーのないキーボードは解決策ではありません。依存度が高すぎます。)
ただし、私たちのアプリは Windows で実行されるため、ユーザーは自宅で行うのと同じようにマウスを使ってプログラムを使用する傾向があります。これには特に問題はありませんが、入力ワークフローを最適化してキーボード フレンドリーになるように努力しました。マウスをつかまなくてもユーザーが行っていることを実行できる方法があることをユーザーに示す、影響の少ない方法があればいいのですが。
asp.net - ASP.NETWebページを介してシステムに接続されている入力デバイスを見つける
プロジェクトでASP.NETとC#を使用しています。
ユーザーのコンピューターに接続されている入力デバイスのリストを見つける必要があるという要件があります。たとえば、彼がスキャナーとWebカメラを接続している場合、ドロップダウンにスキャナーとWebカメラを入力する必要があり、ユーザーがそれらのいずれかを選択すると、Webカメラまたはスキャナーを実行する必要があります。セキュリティ上の理由から、ASP.NETではこれが不可能であることを私は知っています。
それが可能かどうか知りたかっただけです。どんな提案でも大歓迎です。
python - タッチパッドの指の位置
Logitech ワイヤレス タッチパッドで (x,y) 座標を取得したいと考えています。私は Python でプログラミングしており、タッチパッドを入力デバイスとして使用して顕微鏡ステージを駆動したいと考えています。タッチデータにアクセスする方法がよくわかりません。PySerial を介してデバイスの USB 接続にアクセスしようとしましたが、このモジュールを介してデバイスに接続できません。これはマルチタッチ タッチパッドなので、複数のタッチを検出することにも関心があります。助けてくれてありがとう。
android - Android: ゲームパッドのボタンを列挙する
ゲームパッドを接続できる Android デバイスを持っています (これは完全に標準の XBox 360 コントローラーですが、他の種類もサポートする必要があります)。ゲームパッドは、いくつかのアナログ軸といくつかのボタンを備えた InputDevice として表示されます。
Android にクエリを実行して、ゲームパッドがサポートするボタンを確認できるようにする必要があります。誰もこれを行う方法を知っていますか?
ioctl/dev/input/event...
を使用してボタンを開いて照会するコマンドライン アプリを作成すると、サポートされているボタンの適切なリストがカーネルから取得されるため、システムがこの情報を持っていることはわかっています。EVIOCGBIT
しかし、入力デバイスに直接アクセスする権限がないため、Android アプリケーションからこれを行うことはできません。
InputDevice の KeyCharacterMap オブジェクトを取得してクエリを実行できるはずです。しかし、Android は、ゲームパッドがサポートするものと実際に一致するキーマップを作成するのではなく、デフォルトの QWERTY キーボード キーマップをゲームパッドにアタッチしたようです。これは、ゲームパッドに Q キーがあり、それがないこと、および BUTTON_X キーがないこと、およびキー イベントを受け取っていることを喜んで教えてくれます。だから、それは役に立ちません。
これを行う方法はありますか?
c++ - Linux で C++ を使用して Sony Playstation SixAxis コントローラーにアクセスする
私は Linux (具体的には Ubuntu 12.04) で C++ でコーディングしており、理想的には Bluetooth 経由で PlayStation SixAxis コントローラー (PS3 に付属するタイプ) を入力デバイスとして使用したいと考えています。
私のアプリケーションはヘッドレスで実行されます。ターゲット プラットフォームで実行されているウィンドウ マネージャーはありません。私はデスクトップで開発していますが、ターゲットは Ubuntu Server 12.04 を実行している小さなロボットです。
これに使用できるライブラリやテクニックはありますか?
keyboard - haxe で利用可能な入力デバイスを一覧表示するにはどうすればよいですか?
アプリケーションの起動時に使用可能なすべての入力デバイスを一覧表示したいのですが、API でそれを行う方法が見つかりません。
利用可能なキーボード、マウス、ゲームパッド、タッチスクリーン、加速度計のリストを取得するにはどうすればよいですか...
linux - 1 台のマシンでの複数の個別キーボード入力
背景:
私は 10 月に大規模なイベントを開催しており、私の組織の全員が持っている mifare カードを読み取るシステムを使用して、誰が参加し、建物内のどこにいるのかを安全に監視する予定です。これを行うために、カードの特定のセクターを読み取り、データを 16 進数として返す安価な mifare リーダーを見つけました。これを文字列に変換してから、処理と記録のためにサーバーに送信します。ここまでは順調ですね。ただし、このイベントには 20,000 人近くが参加します。つまり、大量のスキャンと大量の mifare リーダーが必要です。データを読み取って送信するには、これらすべてをコンピューターに接続する必要があります。理想的には、マシンに約 3 ~ 4 台のリーダーを接続し、イベントの各入口/出口に 1 つずつ、約 3 ~ 4 台のリーダーを配置したいと考えています。
助けが必要なこと:
私のカード リーダーは、Windows と Android で汎用キーボードとして機能します (Linux を想定していますが、これを確認しようとしています)。本質的に、コンピューターは複数のキーボードを備えているかのように機能し、それらすべてが同時にデータを入力できますが、 1 つのプログラムに (つまり、画面上に 1 つのキャレットが存在します)。これにより、2 枚のカードが同時にスキャンされ、各カードのキーストロークが「混ざり合って」処理の問題が発生した場合に問題が発生する可能性があります。
私がやりたいのは、複数のキャレットを持つように 1 つの Linux ボックスをセットアップすることです。これにより、4 つのコマンド ラインがすべて同時に実行され、それぞれ 1 つのカード リーダーからデータを取得することができます。
例: John と Saira が同時にスキャンインした場合、その時点で結果の入力は次のようになります。
j s o a h i n ra
私はそれが欲しいのですが:
CLI 1:
ジョン
CLI2:
サイラ
など CLI3、CLI4 など
私はこれが可能でなければならないことを知っています.マルチシートLinuxディストリビューションを設定する可能性を検討しましたが、問題を解決するために大ハンマーを使用することになり、モニター、マウスが必要になるため、新しい問題が発生します.など
理想的には、このシステム全体を可能な限り合理化して、ラップトップで実行するか、プラグインして起動し、自動的に実行できる Linux ボックス (モニター、マウス、またはその他の不格好なビットを必要とせず、ピース!)。
誰かがこれに関する経験やアドバイスを提供できますか? どんな助けでも大歓迎です!
ありがとう、
ドム
c++ - Linux 入力デバイスを入手する
Linux オペレーティング システムで入力デバイスのリストを取得する必要があります。/proc/bus/input/devices の解析に似ていますが、実際には車輪の再発明はしたくありません。デバイスなどを列挙するためのシステム関数がいくつかあるはずだと思います。組み込み Linux であるため、使用できるライブラリが限られています。
linux - Linuxで/ dev/videoを「ティー」にする方法は?
/dev/videox デバイスの出力を「ティー」にして、ライブ ビデオ ストリームを 2 つのプログラムで同時に使用できるようにするにはどうすればよいですか?
/dev/video1:input=1:norm=NTSC からライブ ビデオを一度に 2 つのプログラム (mplayer と mencoder) に送信して、mencoder が記録しているときに遅延のないライブ ビューを取得したいと考えています。
mencoder からエンコードされたばかりの出力を取得して再生する方法は知っていますが、それでは数フレームの遅延が発生します (大きすぎます)。VLCはこれを実行できると言われていますが、大幅な遅延がないわけではありません。
私が今できる最善の方法は、mplayer で画面に再生させ、同時に「avconv -f x11grab」を使用してディスプレイからビデオを取得し、エンコードすることです。それは機能します (レイテンシーは追加されません) が、ディスプレイからビデオを取得するのが遅くなります - 最終的には 30 ではなく約 10 fps になります。
/dev/video1 を 2 つの仮想デバイスに "ティー" する簡単な方法が必要です。これにより、mplayer と mencoder の両方が同時にそれらを読み取ることができます (デバイスが「ビジー」であると不平を言うことなく)。
その方法は何ですか?