问题标签 [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

我以NSData对象的形式接收 iPhone 设备令牌。当我测试我的通知脚本功能时,我只从日志中复制了该对象并且通知运行良好。但是,当我现在尝试自动执行此操作时,我将设备令牌作为 ASCII 编码字符串以变量的形式发送

我得到的字符串有一些时髦的字符,看起来类似于这个"å-0¾fZÿ÷ʺÎUQüRáqEªfÔk«"

当服务器端脚本向该令牌发送通知时,我没有收到任何东西。

我需要解码一些东西吗?如何解码?

关注

0 投票
1 回答
3810 浏览

java - 笔记本电脑触摸板编程

我想编写一个程序,它可以根据我在触摸板上移动手指的方式来控制光标的移动。我希望我的程序获得用户触摸触摸板的位置,然后我想使用我自己的程序控制鼠标移动。我想在 Java 中做到这一点。我可以在 Java 中做到这一点吗?我想在 Windows 操作系统上运行它。我的笔记本电脑触摸板设备驱动程序是否提供了一些 API,我可以通过这些 API 获取有关用户何时何地触摸触摸板的信息?

0 投票
2 回答
32833 浏览

c++ - 虚拟网络摄像头驱动程序

我想开发一个虚拟网络摄像头驱动程序,我将从用户模式将图像传递给它,它将显示为网络摄像头输出。

我不想使用 DirectX 过滤器和 CSourceStream 等。因为它们不适用于某些不使用 DirectX 捕获网络摄像头图像的程序。

我必须编写一个内核模式设备驱动程序。

有任何想法吗?我从 DDK 样本中尝试了 testcap,但它不处理来自用户模式的图像,也没有得到任何输入,只是在网络摄像头中显示 7 种颜色......

任何帮助将不胜感激。谢谢


谢谢你们!

我从这里尝试了代码:http: //tmhare.mvps.org/downloads.htm (查找捕获源过滤器)

当我在 Yahoo、MSN 中编译它时它运行良好,但它使 AIM、Internet Explorer Flash 网络摄像头、Firefox Flash 网络摄像头和 Skype 崩溃......经过 8 次调用后,我在 QueryInterface 中崩溃了,我通过跟踪它找到了它很多套路。。

现在我知道,它在第 8 次调用 HRESULT CVCamStream::QueryInterface(REFIID riid, void **ppv) 时崩溃

如果达到最后一个,则进行第 8 次调用,我的意思是: return CSourceStream::QueryInterface(riid, ppv);

它在 Filters.cpp 的第 17 行

为什么你认为我会崩溃?

感谢大家指导我找到正确的解决方案,即 DirectShow,而不是驱动程序

0 投票
1 回答
952 浏览

windows - 智能卡驱动程序(带有 SCardLib 的 KMDF)问题

我正在使用KMDFSCardlib开发智能卡驱动程序,我使用了 WDK Smarcard Sample 作为参考,我认为我正确实现了除CardPowerand之外的所有回调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. 事件在框架中被解释并作为正常事件发送到系统
    • 当您用一根手指滚动时,它会发送实际的滚轮事件。
    • 当您用两根手指滑动时,它会发送一个滑动事件。
  4. 没有 NSTouch 事件被发送到系统。您不能使用 NSTouch API 与鼠标进行交互。

在我发现以上所有内容后,我分解了 MultitouchSupport.framework 文件,并通过谷歌搜索,弄清楚了如何将我自己的回调插入到链中,以便接收原始触摸事件数据。如果您枚举设备列表,您可以附加每个设备(触控板和鼠标)。这一发现将使我们能够创建一个在鼠标上使用多点触控的框架,但仅限于单个应用程序中。在这里查看我的帖子:原始多点触控跟踪

我想在整个系统中为鼠标添加新功能,而不仅仅是单个应用程序。

为了尝试这样做,我想出了如何使用Event Taps来查看最低级别的 event tap 是否允许我获取原始数据、解释它并在其位置发送我自己的事件。不幸的是,这种情况并非如此。即使在 HID 级别,事件点击仍然比在 MultitouchSupport.framework 中解释输入的位置高出一步。

在此处查看我的事件点击尝试:事件点击 - 尝试原始多点触控
一个有趣的附注:当接收到多点触控事件(例如滑动)时,默认情况下被击中并打印出事件编号 29。标题显示 28 作为最大值。

关于我的问题,既然您已经掌握了所有信息并看到了我的尝试:扩展 Magic Mouse 功能的最佳方法是什么?我知道我需要在足够低的级别插入一些东西,以便在处理输入和调度预定义事件之前获取输入。因此,将其归结为单句问题:

  • 有没有办法覆盖 MultitouchSupport.framework 中使用的默认回调?
  • 我是否需要编写一个 kext 并自己处理所有传入的数据?
  • 是否可以编写一个位于现在处理输入的 kext之上的 kext,并在 kext 完成所有艰苦工作后对其进行过滤?

我的第一个目标是,当您单击设备时,如果设备上有两根手指,则能够调度中键单击事​​件。显然还有很多很多事情可以做,但这似乎是一件好事,就目前而言。

提前致谢!

-萨斯蒂拉

0 投票
2 回答
2287 浏览

windows-7 - 如何为我的触摸板编写软件?

我有一些改进我的触摸板的想法,从底部水平滚动的滚动、用于右键单击的点击区域到更复杂的区域。但我不知道从哪里开始?我正在使用 Windows 7 Home Premium,它是一台华硕笔记本电脑,我没有这些选项本机可用。无论如何,我想写一些任何人都可以使用的东西。

我从哪里开始?

(用c++写会很好吗?这可能吗?这里有什么要求?推荐什么语言?)

0 投票
2 回答
8088 浏览

linux - Linux Kernel: copy_from_user - struct with pointers

I've implemented some kind of character device and I need help with copy_ from_user function.

I've a structure:

I initialize it in user space and pass pointer to my_struct to my char device using 'write' function. In Kernel's Space character device 'write' function I cast it from a *char to this kind of structure. I alloc some memory for a struct using kmalloc and do copy_from_user into it.

It's fine for simple 'int a', but it copies only pointer (address) of b value, not value pointed by b, so I'm now in Kernel Space and I'm working with a pointer that points to a user space memory. Is this incorrect and I shouldn't access to user space pointer directly and I have to copy_from_user every single pointer in my struct and then copy back every pointer in "read" function using copy_to_user function?

0 投票
1 回答
1859 浏览

linux - 如何在 Linux 上记录(逆向工程)PCI 交易

我想记录设备驱动程序的所有读/写 PCI 事务。有没有办法通过linux命令或软件来做到这一点?

0 投票
2 回答
9018 浏览

usb - 是否有软件或代码来改变 USB 电源输出

我看了一下这个这个,但没有人听起来特别确定他们的想法,无论如何我有点追求不同的东西。我想将我的 USB 电源线(红色和黑色)连接到我的手机上,这样我就不必使用电池(反正电池没电了,这只是一个实验)。问题是 USB 标准确保提供至少 4.35V,而我只需要 3.7V。有谁确定您可以或不能以编程方式调节功率输出?我还有其他一些疑问:睡眠模式提供什么样的电源?我需要编写什么代码来玩这个,C++?

0 投票
2 回答
2071 浏览

c++ - 对 Apple Kext 进行逆向工程 - 重构类

问候!

我目前正在尝试扩展 Magic Mouse 的功能。为此,我希望编写一个 kext 来拦截来自多点触控驱动程序 AppleMultitouchDriver.kext 的事件,解释它们,然后调度新事件或转发实际事件。这种方法类似于DoubleCommand使用的方法。

我已经创建了一个小的测试 kext 来拦截鼠标事件(点击、动作等),因为这也是需要的。

我现在遇到的问题是我无法拦截来自 AppleMultitouchDevice 和/或 AppleMultitouchHIDEventDriver 对象的事件,因为它们没有类定义。我需要能够将指针重新分配给回调函数,就像我在鼠标拦截器中所做的那样,就像在 DoubleCommand 中所做的那样。据我所知,这意味着我需要重构 AppleMultitouchDevice 类。我已经能够获得对 AppleMultitouchDevice 对象实例的引用,所以我只需要能够转换它并使用它。

既然你有了背景,下面是我的直接问题:

  • 我需要使用哪些方法来对 kext 进行逆向工程或重建有问题的类?
  • 有哪些程序可以帮助我完成这项工作?
  • 是否有任何您知道的专注于这个特定主题的教程或电子书?
  • 我是否可以在不实际重建整个类的情况下重新分配回调指针?
  • 我可能错过的任何其他内容,因为我对此非常陌生。

提前感谢您的任何建议或帮助!!