WearMouse,用于Wear OS手表的空中鼠标

哈Ha! 我想提醒您注意Wear OS上的手表的神奇之处。

不久前,在Android 9.0发行前不久 ,引入了一个新的公共API ,该API可让您将Android设备用作蓝牙输入设备(鼠标,键盘,游戏手柄等),现在我创建了一个简单的应用程序来演示一种使用此API的方法。 (剧透:这不仅适用于第九个Android。)

您可能已经从名称中猜出了该应用程序的功能:实际上,它是一种普通的空中鼠标,可以与Windows,OSX,Linux(包括Raspbian),Chrome OS,Android(包括Android TV)上的任何设备兼容,只要有蓝牙接收器; 既不需要root用户特权也不需要“服务器”应用程序。

只需启动应用程序,通过蓝牙配对即可,您可以:

  • 将时钟用作演示文稿的直观指针(以及带有光标键的切换幻灯片);
  • 挥舞手臂,玩水果忍者(例如,通过USB闪存驱动器在Android TV上安装游戏,或从Play商店在Chromebook上安装游戏),请参见下面的演示;
  • 躺在沙发上管理HTPC;
  • 在Cardboard的某些游戏中,将时钟用作VR控制器(但是,对于Daydream,则不行:它有自己的遥控器);
  • 向朋友炫耀您的运动能力; :)
  • 管理通过Samsung Dex连接的电话;

您可以大致想象一下此视频的样子(演示于2015年底的早期原型):



使用方法


该应用程序具有四种模式:空中鼠标,触摸板,箭头键和文本输入。

空中鼠标模式是不言而喻的。 它具有两个用于左键和右键单击的屏幕按钮,一个位于顶部的快门,用于根据手表的哪只手来切换运动跟踪模式(还有一种模式,您可以像手持激光笔一样将手表握在手中)以及一个从底部的快门其他功能:按住鼠标左键(也称为“水果忍者模式”),然后单击鼠标中键。 如果手表的表冠旋转,则可以使用它滚动。 鼠标光标应指向您正在控制的屏幕。

触摸板模式支持所有常用手势:移动指针,单击,双击,按住不放,用两根手指点击以进行右键单击,用两根手指滚动。 要退出此模式,您可以用手掌遮盖屏幕,或者按一下手表上的其他按钮(如果手表有多个按钮)。

光标键模式非常简单:点击屏幕边缘按相应的键,双击中心按Enter键,长按中心以退出,再加上从中心滑动Escape,Backspace,空格和Tab键。

最后,在文本输入模式下,您可以使用屏幕键盘或语音输入。 请注意,在所连接设备上输入的文本取决于键盘布局。 不幸的是,到目前为止,仅支持英文版式(可以添加更多英文版式,但这需要在应用程序和连接的设备上手动切换)。

如果您的手表有多个按钮,则第二个按钮可用于在输入模式之间快速切换,第三个按钮可用于快速调出文本输入模式。

也有一些设置。 您可以稳定光标的移动(这可以使小动作平滑,例如握手),为光标键启用对角线方向(这在Cardboard的那些游戏中非常有用)或减少数据传输的频率(在将应用程序与某些旧的Android TV控制台结合使用时可以提供帮助第七个android,当鼠标光标跟不上手部移动时)。

关于兼容性的一点点


如上所述,该API已在Android 9.0中公开,但是,该应用程序也可以在装有Android 8.0的任何手表上使用。 也就是说,如果在重新启动手表后跳了彩色的点,然后出现了一个大的彩色“ W”,并且出现了“ Wear OS by Google”,而不是“ Android Wear”,那么一切应该正常。 该API本身出现在Android Oreo中,并且略有不同(也被隐藏),但是在Android Pie之前,它仅在手表上启用。 顺便说一句,有一种方法可以在具有8个功能的手机上启用它,但这需要root权限(在9个功能上,所有功能都可以这样)。

可能的问题和解决方案


如果在连接时鼠标光标大约每秒摇动一次,请尝试打开和关闭飞行模式,然后重新连接。 看来蓝牙堆栈中存在浮动电源管理错误...

要调整灵敏度,请转到所连接设备而不是应用程序的设置。

当将应用程序与连接到电视的设备一起使用时,值得将电视切换到“游戏”模式。 这应该禁用后处理,这会在现代电视上造成很大的延迟。

使用空中鼠标模式时,在时钟设置中关闭手势控制也很有意义,否则很可能会意外执行“后退”或“归位”手势。

下载链接


Play商店 (请勿尝试通过手机打开此链接,获取“设备不兼容”消息;请在计算机上打开该链接,或者在手表本身的Play商店中找到该应用程序)。

源代码 (除Oreo支持外,几乎全部)。

Source: https://habr.com/ru/post/zh-CN440802/


All Articles