gpt4 book ai didi

javascript - 收听原始蓝牙键盘数据

转载 作者:数据小太阳 更新时间:2023-10-29 04:44:07 26 4
gpt4 key购买 nike

我需要监听蓝牙键盘发送到我的设备的原始命令/按键,如果可能,防止它们“传播”到系统的其余部分。

基本上,我用 Node.js 和 CoffeeScript 编写了一些东西,它从 stdin 接收按键并控制我的飞利浦 Hue 灯泡。它看起来像这样:

keypress = require 'keypress'

# Setup keypress events
keypress process.stdin

process.stdin.on 'keypress', (character, key) ->

switch character
when 'l' then hue.decreaseTemp()
when 'r' then hue.increaseTemp()
when 'u' then hue.increaseBri()
when 'd' then hue.decreaseBri()
when 'b' then hue.turnOff()

# Exit on ctrl-c
if key?.ctrl and key.name is 'c'
process.stdin.pause()

它的功能有效,但不是很有用,因为它从 stdin 接收输入,阻止它在后台运行。

如果窗口没有焦点,我该怎么做才能接收输入?

我更喜欢 Node.js 或 Python 中的某些东西在我的 Mac 上运行,但如果需要,我愿意切换语言或在我的 Raspberry Pi 上运行

最佳答案

keypress 只监听标准输入流,而不是键盘本身。此输入流由操作系统及其硬件驱动程序处理。通常操作系统不希望应用程序直接监听键盘,而是将键盘事件定向到它所关注的程序。

您必须直接处理设备,否则操作系统会将这些输入重定向到其他关注的程序。你应该试试 node-hid为了这。它可以访问连接的人机界面设备,如键盘/鼠标。说明说它适用于 USB 设备,但它应该适用于蓝牙 (HID) 设备。

其次,由于您正在监听硬件,很可能您不会直接收到按键值,而是一堆需要解释的原始输入数据/信号。您正在将键盘用作 Remote ,请准备好将其用作低级设备。

关于javascript - 收听原始蓝牙键盘数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25589562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com