問題タブ [device-driver]

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.

0 投票する
6 に答える
28486 参照

iphone - Iphone デバイス トークン - NSData または NSString

オブジェクトの形で iPhone デバイス トークンを受け取っていNSDataます。通知スクリプト関数をテストしたとき、そのオブジェクトをログからコピーしただけで、通知はうまくいきました。ただし、今自動的に実行しようとすると、デバイス トークンを変数の形式で ASCII エンコードされた文字列として送信しています。

私が取得している文字列にはいくつかのファンキーな文字があり、これに似ています"å-0¾fZÿ÷ʺÎUQüRáqEªfÔk«"

サーバー側のスクリプトがそのトークンに通知を送信すると、何も受信しません。

何かをデコードする必要がありますか?

よろしく

0 投票する
1 に答える
3810 参照

java - ラップトップのプログラミング タッチパッド

タッチパッドでの指の動かし方に応じてカーソルの動きを制御できるプログラムを書きたいです。ユーザーがタッチパッドに触れた場所をプログラムに取得させ、独自のプログラムを使用してマウスの動きを制御したい。Javaでこれをやりたい。Javaでこれを行うことはできますか? Windows OS で実行したいと考えています。ラップトップのタッチパッド デバイス ドライバーは、ユーザーがタッチパッドに触れた時間と場所に関する情報を取得できる API を提供していますか?

0 投票する
2 に答える
32833 参照

c++ - 仮想 Web カメラ ドライバー

ユーザーモードから画像を渡し、ウェブカメラ出力として表示する仮想ウェブカメラドライバーを開発したいと考えています。

DirectX フィルターや CSourceStream などは使用したくありません。Web カメラの画像をキャプチャするために DirectX を使用しない一部のプログラムでは機能しないためです。

そのため、カーネル モードのデバイス ドライバーを作成する必要があります。

何か案は?DDK サンプルから testcap を試しましたが、ユーザー モードからの画像を処理せず、入力も得られず、ウェブカメラで 7 色を表示するだけです...

どんな助けでも大歓迎です。ありがとう


皆さん、ありがとうございました!

ここからコードを試しました: http://tmhare.mvps.org/downloads.htm (Capture Source Filter を見つけます)

Yahoo、MSN でコンパイルしたときは問題なく動作しましたが、AIM、Internet Explorer Flash Webcam、Firefox Flash Webcam、Skype ではクラッシュしました。これを 8 回呼び出した後、QueryInterface でクラッシュしました。たくさんのトリック..

HRESULT CVCamStream::QueryInterface(REFIID riid, void **ppv) への 8 回目の呼び出しでクラッシュすることがわかりました。

最後に達したときの 8 回目の呼び出し if、つまり: return CSourceStream::QueryInterface(riid, ppv);

Filters.cpp の 17 行目にあります。

なぜ私がクラッシュしていると思いますか??

ドライバーではなくDirectShowである正しい解決策を見つけるように私を導いてくれてありがとう

0 投票する
1 に答える
952 参照

windows - スマート カード ドライバー (SCardLib を使用する KMDF) の問題

KMDFSCardlibを使用して Smartcard Driver を開発しています。WDK Smarcard Sample を参照として使用しました。CardPowerとを除くすべてのコールバックを正しく実装したと思いますCardTracking。(私のリーダーとカードは、現在、RESET コマンドと新しいカードの挿入をサポートしていません)

呼び出すテストアプリケーションを実行しようとするとSCardListReaders()SCARD_E_NO_READERS_AVAILABLE. サンプルのような変更を加えた INF を使用し、SmartCardReaderGuidを使用してデバイス インターフェイスを作成し、デバイスの種類を に設定しましたFILE_DEVICE_SMARTCARD

他に何ができるかわかりません。これをデバッグするにはどうすればよいですか? 何か案は?

PS SCarLlib のヘッダー ファイルが WDK の inc ではなく、サンプル ディレクトリにあるのはなぜですか?

0 投票する
4 に答える
4656 参照

objective-c - Magic Mouse の機能拡張: kext は必要ですか?

最近マジックマウスを購入しました。それは素晴らしく、可能性に満ちています。残念ながら、それはソフトウェア サポートによって深刻に妨げられています。私はそれを修正したい。私は非常に多くの調査を行ってきましたが、これまでのイベント チェーンに関する調査結果は次のとおりです。

  1. Magic Mouse は、完全なマルチタッチ イベントをシステムに送信します。
  2. マルチタッチ イベントは MultitouchSupport.framework (Carbon) で処理されます。
  3. イベントはフレームワークで解釈され、通常のイベントとしてシステムに送信されます
    • 1 本の指でスクロールすると、実際のスクロール ホイール イベントが送信されます。
    • 2 本の指でスワイプすると、スワイプ イベントが送信されます。
  4. NSTouch イベントはシステムに送信されません。NSTouch API を使用してマウスを操作することはできません。

上記のすべてを発見した後、MultitouchSupport.framework ファイルを逆アセンブルし、いくつかのグーグルで、独自のコールバックをチェーンに挿入して生のタッチ イベント データを受け取る方法を見つけました。デバイスのリストを列挙すると、デバイス (トラックパッドとマウス) ごとにアタッチできます。この発見により、マウスでマルチタッチを使用するためのフレームワークを作成できますが、これは単一のアプリケーションでのみ可能です。ここで私の投稿を参照してください: Raw Multitouch Tracking .

1つのアプリだけでなく、システム全体で新しい機能をマウスに追加したい。

そうしようとして、イベント タップを使用して、最下位レベルのイベント タップで生データを取得して解釈し、その場所に独自のイベントを送信できるかどうかを確認する方法を見つけました。残念ながら、そうではありません。イベント タップは、HID レベルであっても、入力が MultitouchSupport.framework で解釈されるよりも 1 ステップ上にあります。

ここで私のイベント タップ試行を参照してください: Event Tap - Attempt Raw Multitouch
興味深い補足: スワイプなどのマルチタッチ イベントを受信すると、デフォルトのケースがヒットし、イベント番号 29 が出力されます。ヘッダーには、28 が最大として表示されます。

私の質問に移ります。すべての情報を入手し、私が試したことを確認したところで、Magic Mouse の機能を拡張するための最良のアプローチは何でしょうか? 入力が処理されて事前定義されたイベントがディスパッチされる前に、入力を取得するのに十分な低レベルで何かを挿入する必要があることはわかっています。したがって、それを 1 文の質問に要約すると、次のようになります。

  • MultitouchSupport.framework で使用されるデフォルトのコールバックをオーバーライドする方法はありますか?
  • kext を作成し、すべての着信データを自分で処理する必要がありますか?
  • 現在入力を処理している kext の上にあるkext を作成し、その kext がすべてのハードワークを行った後にそれをフィルタリングすることは可能ですか?

私の最初の目標は、クリック時にデバイスに 2 本の指がある場合に、中ボタンのクリック イベントをディスパッチできるようにすることです。明らかに、できることははるかに多くありますが、今のところ、これは撮影するのに良いことのようです.

前もって感謝します!

-サスティラ

0 投票する
2 に答える
2287 参照

windows-7 - タッチパッド用のソフトウェアを作成するには?

ミルスクロールの実行から、右クリックのタップゾーン、より複雑なものまで、タッチパッドを改善するためのアイデアがいくつかあります。しかし、どこから始めればよいかわかりません。私は、Asus ラップトップである Windows 7 Home Premium で作業していますが、ネイティブで利用できるこれらのオプションはありません。とにかく、誰にでも使えるものを書きたい。

どこから始めますか?

(C++ で書くといいですか? それは可能ですか? ここでの要件は何ですか? どの言語が推奨されますか?)

0 投票する
2 に答える
8088 参照

linux - Linux カーネル: copy_from_user - ポインターを持つ構造体

ある種のキャラクター デバイスを実装しましたが、copy_from_user 関数のヘルプが必要です。

私は構造を持っています:

ユーザー空間で初期化し、「書き込み」関数を使用して my_struct へのポインターを char デバイスに渡します。カーネルのスペース キャラクター デバイスの 'write' 関数では、*char からこの種の構造体にキャストします。kmalloc を使用して構造体にいくらかのメモリを割り当て、それに対して実行copy_from_user します。

単純な「int a」には問題ありませんが、b が指す値ではなく、b 値のポインター (アドレス) のみをコピーするため、現在カーネル空間にいて、ユーザー空間メモリを指すポインターを使用しています。 . これは正しくありません。ユーザー空間ポインターに直接アクセスするべきではありません copy_from_user。構造体のすべてのポインターにアクセスしてから、関数を使用して「読み取り」関数のすべてのポインターをコピーする 必要がありcopy_to_userますか?

0 投票する
1 に答える
1859 参照

linux - Linux で PCI トランザクションを記録 (リバース エンジニアリング) する方法

デバイス ドライバのすべての読み取り/書き込み PCI トランザクションを記録したいと考えています。Linuxコマンドまたはソフトウェアでそれを行う方法はありますか?

0 投票する
2 に答える
9018 参照

usb - USB電源出力を変更するソフトウェアまたはコードはありますか

私はこれこれを見ましたが、誰も彼らのアイデアに特に確信を持っているようには聞こえませんでした.とにかく私は別のことを求めています. USB電源ケーブル(赤と黒)を携帯電話に接続して、バッテリーを使用する必要がないようにしたい(とにかくバッテリーが切れており、これは単なる実験です). 問題は、私が 3.7V しか必要としないのに、USB 規格が最低でも 4.35V が供給されることを保証することです。プログラムで電力出力を調整できるかできないかを確実に知っている人はいますか? 私が持っている他の質問は次のとおりです。スリープモードはどのような電力を提供しますか? そして、これで遊ぶには、C++ で何かをコーディングする必要がありますか?

0 投票する
2 に答える
2071 参照

c++ - Apple Kext のリバース エンジニアリング - クラスの再構築

ご挨拶!

現在、Magic Mouse の機能を拡張しようとしています。これを行うために、マルチタッチ ドライバー AppleMultitouchDriver.kext からのイベントをインターセプトして解釈し、新しいイベントをディスパッチするか、実際のイベントを転送する kext を作成したいと考えています。このアプローチは、DoubleCommandで使用されるアプローチに似ています。

マウス イベント (クリック、モーションなど) をインターセプトする小さなテスト kext を既に作成しました。これも必要になるためです。

私が今抱えている問題は、AppleMultitouchDevice および/または AppleMultitouchHIDEventDriver オブジェクトからのイベントをインターセプトできないことです。それらのクラス定義がないためです。マウス インターセプタで行うように、また DoubleCommand で行うように、ポインタをコールバック関数に再割り当てできるようにする必要があります。私の知る限り、これは AppleMultitouchDevice クラスを再構築する必要があることを意味します。AppleMultitouchDevice オブジェクトのインスタンスへの参照は既に取得できているので、それをキャストして使用できるようにする必要があります。

背景がわかったところで、私の直接の質問は次のとおりです。

  • kext をリバース エンジニアリングしたり、問題のクラスを再構築したりするには、どのような方法を使用する必要がありますか?
  • この取り組みを支援するプログラムにはどのようなものがありますか?
  • あなたが知っているこの特定のトピックに焦点を当てたチュートリアルや電子書籍はありますか?
  • クラス全体を実際に再構築せずに、コールバック ポインタを再割り当てすることはできますか?
  • 私はこれにとても慣れていないので、私が見逃したかもしれない他のもの。

アドバイスや支援をよろしくお願いします!!