如何使用蓝牙键盘从睡眠中唤醒


8

我有一个Mac书本专业版和一个Henge基座。扩展坞不过是一个允许您轻松插入一些设备的支架,因此您可以“扩展坞”您的MBP。我也有一个Apple无线键盘。键盘是蓝牙的。

键盘可以“正常”正常运行,但是问题是当我关闭MBP的盖子时笔记本电脑进入睡眠状态(无法避免),我将笔记本电脑放在扩展坞中(盖子关闭)并且无法从中唤醒睡眠(我想是因为没有蓝牙)。如果我使用游戏板将设备从睡眠状态唤醒,则会收到锁定屏幕密码提示,但是由于未连接蓝牙键盘,因此我实际上无法输入任何内容。

那么,如何使用蓝牙键盘(苹果无线键盘)将Mac Book Pro从睡眠状态唤醒,或者失败了,在机器恢复时强制其重新连接,以便我可以输入密码?

这是我的硬件详细信息。

Mac Book Pro 6.2(我知道这通常无法正常工作,但它是一个封闭的硬件平台)

总线001设备008:ID 050d:0017 Belkin组件B8T017 Bluetooth + EDR 2.1
总线001设备007:ID 05ac:8218 Apple,Inc.蓝牙主机控制器

Linux版本

Linux macbook 3.5.0-22-generic #34-Ubuntu SMP

Ubuntu 12.10

我做了什么:

将我的Apple Wireless键盘与Ubuntu配对。

我的期望:

当我将苹果无线键盘上的一个键捣碎时,系统将从睡眠中唤醒。

怎么了:

当我将苹果无线键盘上的一个键捣碎时;没有.....

我期望从可接受的答案中得到什么:

做到这一点的一种方法,当我将苹果无线键盘的密钥混搭时,计算机将从睡眠中唤醒,因此我可以继续进行计算工作。

注意:

我通常不愿看到并说出来,但是....它可以在Mac OS X和Windows中使用,因此我知道硬件可以做到这一点。

Answers:


7

我发现了什么

我将花时间解释我发现的一些事情。这应该可以帮助人们了解为什么这是一个如此复杂的过程,以及他们可以做些什么来帮助改善它,至少对他们来说是如此。

首先,MBP上的蓝牙无线电是“ USB”设备。这在笔记本电脑甚至某些台式机上非常普遍。因此,Linux将其视为USB设备,您可以对其进行相应的配置。

其次,蓝牙无线电具有两种模式HID模式,这是仅用于键盘和鼠标的非常基本的“配置文件”。此模式使您可以在没有应用程序管理蓝牙设备之前使用键盘。例如,当您在GRUB菜单中使用蓝牙键盘时,即为HID模式。您的笔记本电脑和键盘仍然需要配对,但是它们可以在非常低的水平下运行而不会产生问题或干预(再次配对后)。但是,HID模式非常有限,某些功能将无法使用。例如,键盘的电池电量将无法使用。同样在HID模式下,我很难使用功能键和媒体键(在此键盘上,它们是相同的键,可以通过软件进行切换)。

接下来,您需要使键盘将“某物”发送到便携式计算机。您还需要笔记本电脑接收“东西”。然后,您必须将它们绑在一起才能真正唤醒笔记本电脑。

最后,Linux,Ubuntu,Bluez或其他人似乎认为所有蓝牙控制器都应在HCI模式下运行。考虑到即使此键盘在HID模式下也非常受限制,并且除了简单的鼠标和键盘(例如手机或耳机)之外的任何其他部件都需要HCI模式,所以这可能是一个非常合理的默认值。但是,HCI模式需要完整的软件堆栈才能运行,并且在笔记本电脑处于挂起/睡眠/关闭电源状态时无法运行。因此,默认情况下,当笔记本电脑进入睡眠状态时,它会断开键盘连接并退出监听。

使它工作的实际步骤

步骤0:解决方法

当我这样做时,我无能为力解决这个问题感到非常沮丧。当笔记本电脑处于睡眠状态时,您什么也做不了,至少使用Mac Book Pro,您无法在不睡觉的情况下合上盖子。因此,您可能会遇到以下情况:要么视频无法正常工作(因为它将在未对接时连接到您的外接显示器,否则将无法插入),或者您可以看到所有内容但没有键盘(因为它无法正常工作/已配对/无论如何),以及内部无法访问)。为了解决这个问题,您应该碰到它。在LDM的登录屏幕上使用可视键盘。如果唤醒密码提示,则应该能够单击切换用户,然后使用可视键盘登录。只要您以同一用户身份登录,您的会话就不会丢失。就是说,我不会

步骤1:预先配对键盘。

在进行测试时,我注意到这是必需的步骤。但是,我不完全理解为什么。苹果做了一些奇怪的事情,所以我就放手。

  1. 重置您的PRAM / NVRAM /任何。这将清除您当前的OS X设置,虽然可能不需要,但最好开始清理。Apple支持网站上有说明。您无需重置PMU。
  2. 启动或重新启动进入OS X并正常配对键盘。我建议关闭所有其他蓝牙设备,并专注于键盘。据我所知,这会将一些信息存储在NVRAM和所有键盘中,以便与关机的笔记本电脑进行通信。
  3. 单击“高级”(在OS X中,一旦配对),然后选中“允许蓝牙设备唤醒计算机”。苹果支持网站再次提供了说明
  4. 重新启动计算机到Linux。在ReFIT / GRUB /启动时,键盘应该可以正常工作。

步骤2:让Linux与键盘配合使用

由于某些原因,键盘会在您登录时失去与之配对的功能。可能是因为Bluetooth控制器已切换到HCI模式。要解决此问题,您需要在Linux中配对。这将中断您在步骤1中所做的配对,但在笔记本计算机关闭电源或启动时不会中断HID模式。也就是说,当您重新启动时,键盘将无法工作,直到您的蓝牙堆栈在HCI模式下再次完全运行。这是因为键盘试图在HCI模式下通话,但是没有人在听。如果关闭计算机并等待连接超时,键盘将在HID模式下再次工作。

  1. 通过运行安装bluez-compat,sudo apt-get install bluez-compat这将使您轻松配对。没有蓝牙管理器,我就崩溃了。
  2. 通常将键盘与Linux配对。Bluetooth从Unity Dash 运行,然后单击加号。将键盘置于配对模式(按住Apple Wireless键盘上的电源按钮),然后按照说明进行操作。它应该很顺利地配对。此时,您的键盘在Linux上应该可以正常工作,甚至在笔记本电脑处于睡眠状态时也可以将信号发送到HID控制器。

步骤3:告诉Linux需要唤醒

现在,我们需要告诉Linux如果蓝牙设备出现问题,请唤醒它。借助此站点上的脚本,可以轻松做到这一点。下面是基本说明,但是如果不清楚,请阅读该站点。几乎所有这些都来自链接站点。

  1. 安装一些依赖 sudo apt-get install notify-send zenity
  2. 下载udev恢复脚本,然后将其复制到/ usr / local / sbin / enable-wakeup。
  3. 下载设备选择脚本并复制到/ usr / local / sbin / select-resume-devices
  4. 使脚本可执行:chmod a+x /usr/local/sbin/select-resume-deviceschmod a+x /usr/local/sbin/enable-wakeup
  5. 以root权限运行设备选择脚本。 sudo /usr/local/sbin/select-resume-devices
  6. 至少选择“ Apple,Inc.蓝牙主机控制器”,“ Belkin组件B8T017 Bluetooth + EDR 2.1”,“ Apple Inc.内部键盘/触控板(ANSI)”以及您要用来恢复计算机的任何其他设备。
  7. 单击确定。
  8. 查看文件/etc/udev/rules.d/90-hid-wakeup-enable.rules并确保它有意义。
  9. 重新启动计算机。

步骤4:测试和捕获

现在,重新启动计算机后,一切都应该正常工作。重新登录后,以某种方式使计算机进入睡眠模式。在键盘上敲击一个键,笔记本电脑应恢复。但是,有两个问题。

  1. 当计算机处于睡眠模式时,它正在寻找HID设备。因此,键盘以HID模式启动。完成从睡眠模式的恢复后,Linux正在寻找HCI设备。键盘(不是笔记本电脑)需要重置连接。大约45秒后自然会发生这种情况。您可以通过取出电池来强行使用它,但这可能会使配对弄乱。如果您不使用键盘从睡眠中恢复,那不是问题。
  2. 重新启动时,键盘仍将尝试以HCI模式进行通信,但笔记本电脑仅在寻找HID设备。超时后,键盘将再次显示它,并再次正常工作。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.