MacOS 虚拟输入设备

2024-01-08

如何在代码中创建虚拟 HID 设备?我试图避免编写内核扩展来完成此任务,但这似乎是唯一的方法。我需要能够创建所有类型的虚拟 HID 设备,并让一个应用程序在后台运行以向其提供事件。有没有办法在用户空间中做到这一点,或者我必须冒险进入内核空间?


创建 HID 设备的典型方法是使用 IOKit 中的 IOHID* 类。您可以编写一个传入和传出事件的用户客户端。

不过,我猜想,我不确定什么是“虚拟”HID 设备。如果您想在屏幕上创建键盘,这种事情可能可以在用户空间中完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MacOS 虚拟输入设备 的相关文章

随机推荐

  • 如何提取“br”之前的文本?

    我有一个小问题 我正在使用 python 2 7 8 我正在尝试提取应该在 br gt 我有喜欢 div class entry content p Here is a listing of C interview questions on
  • VB.NET 单选按钮处理程序代码运行两次

    我有一群RadioButtons在 VB NET 中 我想创建一个函数来一起处理所有这些问题 我的代码如下 Private Sub employmentStatusChanged ByVal sender As System Object
  • 我可以强制 `const` 通过引用传递(又名丢失的 `in` 参数)

    德尔福拥有 var pass by reference parameter is both input and output out pass by reference parameter is output only const pass
  • 无法读取未定义的属性“包含”

    我是 JavaScript 新手 我正在尝试剖析嵌入的消息 这是我的代码 它运行良好几分钟 相应地工作 但不知道出了什么问题 bot on message message gt for var i 0 i lt message embeds
  • 尝试使用“nlmsg_free(skb_out)”释放 skb 时内核崩溃

    我正在开发一个内核模块 它通过 netlink 向用户空间发送消息 创建消息 要发送的消息 skb out nlmsg new msg size 0 发送第一条消息后和发送第二条消息之前 我尝试使用以下命令释放 skb outnlmsg f
  • 使用 jquery/javascript 单击切换

    我想单击一个表元素并让它在第一次单击时执行 x 操作 如果再次单击则执行 Y td class p img src person2 png td 这就是我刚才单击一下的 HTML 但我希望更改它 以便可以选择一个项目 然后如果再次单击取消选
  • Django Forms:如果选中布尔字段,则禁用字段

    这是我的表单的定义 class WorkflowForm forms Form new user forms BooleanField required False user ModelChoiceField queryset User o
  • Openlayers-3 强制刷新地图

    我有一个自定义样式 可以显示 隐藏地图上的功能 但是当应用它时 它不会激活 直到地图由于功能更新而刷新 但我需要它立即触发 我尝试了 map render 和 renderSync 但它们什么也没做 mapResize 似乎也没有执行任何操
  • System.Web 可以与具有完整框架的 ASP.Net Core 一起使用吗

    我们正在运行基于不同 Net 版本的多个站点 其中一个站点正在运行 Net 4 6 和 ASP Net MVC 5 xx 要使用 Razor 的新语法 我们希望升级此站点以使用 Net 4 6 和 ASP Net Core 我们在网站上使用
  • Flutter:多个小部件使用相同的 GlobalKey

    当我运行此代码时 我收到错误 Multiple widgets used the same GlobalKey 所以我可以解决这个问题 如何将密钥动态传递给 listview Builder 可以通过吗 这是我的代码的简化版本 Global
  • PHP:运行计划作业(cron 作业)

    我的网络酒店上有一个网站 我想在其上运行一些计划任务 您会推荐哪些方法来实现这一目标 到目前为止 我想到的是在每个页面的顶部包含一个脚本 然后让该脚本检查是否该运行该作业 这只是我正在思考的一个简单例子 if alreadyDone 0 t
  • 用清漆+正则表达式替换页面中的内容

    如果我希望我的清漆缓存服务器在提供或存储页面 vcl fetch 之前从后端替换页面内的内容 即 更改 div 上的类 该怎么做 我想使用简单的正则表达式来执行替换 因为我想象清漆本身就支持它 Varnish 本身不支持修改响应正文 为此
  • 为什么我们的查询会卡在 MySql 中的“Writing to net”状态?

    我们有很多疑问 select from tbl message 卡在 正在写入网络 状态 该表有 98k 行 问题是 我们甚至没有从我们的应用程序中执行任何类似的查询 所以我想问题是 什么可能会生成查询 以及为什么它会陷入状态 写入网络 我
  • 使用 JavaScript 禁用 iPhone 中的“Go”按钮

    我正在为 iPhone 创建一个小表单 并在该表单上进行 JavaScript 验证 当然由服务器验证支持 但这不是重点 作为此验证的结果 我动态启用 禁用提交按钮 除了屏幕键盘上的 Go 按钮不反映我拥有的唯一提交按钮的状态并且始终处于启
  • std::map 在炼金术中损坏了?

    以下代码测试以 std string 作为键的 std map 的使用 include
  • VS 2017命令行错误D8004

    我别无选择 我正在尝试在 Visual Studio 2017 Community 上使用 GoogleTest 但它给了我很多 警告 C4996 std tr1 警告 STL4002 非标准 std tr1 命名空间和仅 TR1 的机器已
  • Ruby 和 Rails Github 操作退出代码 16

    我正在尝试为新的 Rails 项目设置一个带有 Github 操作的持续集成工作流程 这是错误 2022 05 21T17 07 01 1242737Z Your bundle only supports platforms x86 64
  • 使用SIMD右移32位压缩负数

    我正在编写一些 SSE AVX 代码 并且有一个任务将打包的有符号 32 位整数除以 2 的补码 当值为正时 这种移位工作正常 但由于移位符号位 它会产生负值的错误结果 是否有任何 SIMD 操作可以让我进行移位并保留符号位的位置 谢谢 S
  • Android:SlidingDrawer在SurfaceView下消失

    我正在尝试在 FrameLayout 上创建一个包含 LinearLayout 内容的 SlidingDrawer 起初一切似乎都很好 我在屏幕底部找到了 SlidingDrawer 的句柄 但是 如果我开始向上拖动手柄并且内容开始显示 它
  • MacOS 虚拟输入设备

    如何在代码中创建虚拟 HID 设备 我试图避免编写内核扩展来完成此任务 但这似乎是唯一的方法 我需要能够创建所有类型的虚拟 HID 设备 并让一个应用程序在后台运行以向其提供事件 有没有办法在用户空间中做到这一点 或者我必须冒险进入内核空间