小扳手使用手册

1 小扳手介绍

小扳手是一款开源软件,它让你可以通过 PC 连接、操作你的安卓手机,某种程度上,小扳手能把手机上安装的 QQ、微信等 App,变得比 Windows 下的 QQ 还方便的聊天软件。

这里有一个小扳手的操作演示视频,看完后你会对小扳手有个更直观的了解:

如果你不能访问 Youtube,我在腾迅视频也上传了一份,但是分辨率被压缩到了 480p,但将就还能看一下(至少比优酷强):

https://v.qq.com/x/page/h0519beib91.html

2 小扳手使用手册

小扳手的第一次使用需要做一些连接、配置操作,参考后面的 小扳手的连接、配置。配好之后,就可以正常使用小扳手的各种功能了。

这是小扳手的界面,下面会结合这个界面大致介绍一下小扳手的功能点:

wrench-main-windows.png

这是手机上收到新的通知(比如 QQ、微信等的聊天消息)时,小扳手在 PC 上弹出的桌面通知:

Wrench-qq-notification.png

文字输入区
在这里输入、编辑想通过手机发送的文字

另外,这里也能显示通过表情符选择输入对话框输入的表情符(emoji)。

如果把图片(本地的、浏览器的图都可以)拖拽到这个区域再放开的话,相当于通过图片选择按钮选定了相应的图片。

发送按钮
按此按钮把中输入的文字发送到手机上,并且:
  • 如果你有打开社交网络分享开关,则把文字、图片分享到所选中的社交网络(可多选)

    社交网络开关按扭包括:

    • 微博
    • 微信朋友圈
    • QQ 空间
  • 否则,如果小扳手认为当前手机窗口是聊天窗口,自动点击手机上的发送按钮
  • 如果小扳手认为当前手机窗口输入文字后不需要自动操作,则小扳手什么也不做,如有后续操作,用户需要自己手动执行
  • 如果小扳手不认识当前手机窗口,这是安装后第一次用小扳手操作该 App 窗口,则小扳手会弹窗问你该窗口类型,下次再碰到此窗口按照你选的类型操作此窗口:

    wrench-window-types.png

    (以后你还会多次见到这个小扳手的选择输入界面,后面会做一下详细介绍)

PC 桌面通知窗口
弹出此通知时,点击此窗口(或按快捷键 Ctrl+F6),会在手机上点开对应的通知消息(比如如果是微信聊天消息,则会直接打开手机微信相应的聊天窗口)。

如果没有及时点这个窗口,可以按按钮或者再按 Ctrl-F6 显示所有历史消息。

表情符按钮
按此按钮可以输入表情符,输入的表情符在中与文字一起显示、发送

注意小扳手支持 4 类表情符:

  1. 所有 unicode 表情符
  2. QQ 表情符
  3. 微信表情符(大部分与 QQ 表情相同,少部分不同)
  4. 微博表情符(少部分与 QQ 表情相同,大部分不同)

在使用表情符的时候,需要自己注意区分,比如不要在微博 App 里使用 QQ 表情符(除非你想制造特殊的表情效果)

选择图片按钮
按此按钮选择图片,然后允许你:
  • 通过手机当前聊天窗口发送
  • 分享到微博、微信朋友圈、QQ 空间(需提前选中相应社交网络按钮)
截屏按钮
此功能目前被禁用,因为原来的代码是不开源的
微博开关
这个按钮有 3 个功能,前提是必须使用微博官方客户端
  1. 短按是一个乒乓开关,打开后点击发送按钮会把图文分享到微博
  2. 长按会弹出一个输入选择对话框,允许你进行一些简单的微博搜索
  3. 把浏览器上的微博链接拖拽到此按钮上放开,会直接用手机的微博客户端打开此微博

    该功能用来查看微博问答特别方便,在视频中有演示

微信开关
这个按钮有 3 个功能,前两与微博按钮的前两个功能类似,分别是分享到微信朋友圈和搜索微信联系人。 第 3 个功能是把图片拖到此按钮上放开后,允许你选择输入是发送给某个联系人的名字,还是分享到微信朋友圈。
QQ 开关
这个按钮功功能与微信按钮类似,分别是分享到 QQ 空间(需安装 QQ 空间)、 搜索 QQ 联系人(需安装 QQ 官方客户端,无法使用国际版、轻聊版),以及拖拽图片到此按钮以发给好友或分享到 QQ 空间。
屏幕同步开关
这个按钮允许打开、关闭手机屏幕同步到 PC 上显示,见窗口
手机拨号按钮
这个按钮会弹出一个选择输入框,允许你选择电话联系人并呼出电话。
注意
为方便选择联系人,需要你先把手机联系人输出成一个名为 contacts.vcf 的文件,然后放在 ~/.android 目录下。否则只能自己手动输入电话号码。
短信按钮
很久没有维护,几乎不能用了,现在也没什么人经常发短信了吧
手机应用按钮
会弹出一个选择输入框,让你从 PC 端启动手机上的 App。
顶赞按钮
小扳手开发早期的时候,按这个按钮会自动打开你的微博,然后关注我的微博账号,然后转发我关于小扳手的一条微博,现在已经改成别的功能了。

现在这个按钮会弹出一个选择对话框,里面有许多小扳手的扩展功能,比如(后续版本可能会继续增加,用户也可以自己通过手机操作录制功能增加):

  • 给作者打钱以表支持
  • 让小扳手进入、退出调试模式(打更多 log)
  • 各种搜索功能(搜微信联系人、QQ 联系人、QQ 群里的用户、微博用户、邮件(按发信人搜)等等)
  • 更新 App 列表
  • 在 Kindle 书店里搜索你想要找的书
  • 在 QQ、微信等聊天时想@一下某人
  • 在微博上关注小扳手作者包昊军(不一定成功)
  • 重置手机 VNC 连接模式(演示、竖屏高清、横屏高清)
  • 打开 Bilibili 客户端扫描二维码功能
  • 打开 QQ App 并扫描
  • 打开京东 App 扫描二维码
  • 打开通知授权设置页,再手动(可能要多次尝试)打开、关闭小扳手接收通知权限
  • 打开微信扫描
  • 打开微博扫码功能
  • 通过微博、微信朋友圈传播小扳手(不一定成功)
  • 把拖进来的文字保存到我的 GTD 列表里面
  • 用手机微博 App 打开微博网页

其中,前面提到的微博按钮的第 3 个功能就是通过调用“用手机微博 App 打开微博网页”这个扩展功能实现的。

设置按钮
主要用于
  1. 新增扩展、改动之后,点一下这个按钮就可以让小扳手使用新的配置
  2. 小扳手出错的话可能需要点此按钮恢复
状态按钮
显示小扳手连接状态,参考 三种状态按钮的说明
手机屏幕同步窗口
手机屏幕同步,在此窗口内可以对手机进行简单的操作,以及一些更高级的功能。在此窗口内:
滚动鼠标滚轮
相当于手机屏幕上的上下滑动
点鼠标左键
相当于手机上相应位置的触摸操作
按 Home 键
相当于在手机上按 Home 键
按 Escape 键
相当于在手机上按 Back 键
按 F12 键
会弹出输入选择框,允许改变手机同步模式
上下左右方向键
需要看一下相关 wrench.lua 代码,作者自己用这些键在高清屏幕同步阅读电子书时翻页
Log 输出窗口
小扳手运行过程中输出一些 Log。如果给我报 Bug 的话,要记得把这些 Log 发过来(参考 4.5)。
发送邮件页面
必须配合锤子科技手机使用,很久没有用了,不展开讲了。

2.1 输入选择对话框

除了上面这个主窗口的功能点之外,还有这样的一种对话框:

wrench-emoji-input.png

我把它称为“选择输入对话框”。小扳手里多处使用了这种名字有点特别的对话框(因为是我自己取的名字),它像浏览器的地址栏一样,既允许你输入一个网址,也允许你输入一些文本片断,然后从你的书签、浏览历史里找到匹配的选项。

使用这种对话框,你可以在编辑窗口输入文字、与列表窗口中现有的选项进行匹配,然后:

  1. 如果有匹配的选项,双击该选项或回车后输入结果是被选中的匹配选项
  2. 如果没有匹配的选项,回车后输入结果是用户输入的文本
  3. 如果有匹配选项,但用户按下 Ctrl-Enter,输入结果强制返回用户输入的文本
  4. 如果有多个匹配选项,按下“Shift-Enter”,结果相当于输入每一个匹配的选项——可以用这个方法一次性输入多个表情。
  5. 根据该对话框使用场景类型,返回结果后,一次性的对话框会退出,可重复使用的对话框如表情符输入框不会退出,这样用户可以输入多个表情符,最后想退出时需要按两次 Escape 键(也可以按 Alt-F4,如果你的 PC 操作系统支持的话。需要按两次 Escape 的原因参考 2.3)。

把这种对话框用到表情符的输入之后,你可以通过表情的意思,输入与其对应的一个文字片断,比如“xiao”,来搜索过滤出所有与“笑”有关的表情,然后再快速的选择、输入,而不是在满满好几屏的表情符里找来找去。

2.2 屏幕同步窗口的录屏操作

  1. 在屏幕同步窗口中,按一次鼠标右键开始录屏、再按一次结束录屏 
  2. 在录屏开始时,小扳手会问你本次功能要保存的文件名、功能简单描述 
  3. 录屏过程中,对窗口每按一次鼠标左键,都会问你本次操作的目的 
  4. 结束录制的时候,小扳手会提示你最终录制的脚本存放的绝对路径,你可以打开编辑,把脚本的逻辑改得更健壮,比如加入出错处理,等等。

录制过程中你手工输入的信息,会在后续修改脚本的时候提供很多帮助,而不用苦苦思索在这个座标点一下是想干什么

2.3 快捷键

小扳手的所有文字输入窗口,都参考了一些 Emacs 的文字输入快捷键,比如 C-b 是后退一个字符,C-f 是向前一个字符等等,具体需要参考一下源代码(见 这个.cpp 文件 中的 handleEmacsKeys 函数)。

其中 Emacs 下很多 Alt 相关的快捷键也可以使用 Escape,比如 Alt-b,按下 Alt 不放开,再按下 b,功能是后退一个单词,也可以等价的使用 Esc b(按下 Escape,放开,再按下 b)。所以想退出输入选择框窗口时,必须按两次 Escape,第一次 Escape 只是一个组合快捷键的前缀。

除此之外,上面有些按钮也有快捷键:

Alt-8
Alt-7
Ctrl-Enter
Ctrl-Alt-b
Ctrl-Alt-w
Ctrl-Alt-q
Ctrl-F6

这是以前总结的一个小扳手 Emacs 风格快捷键清单:

    C-b: 向后移动一个字符(b for back),也可以用 Left 
    C-f: 向前移动一个字符(f for forth),也可以用 Right 
    M-b: 向后移动一个单词,也可以用 C-Left 
    M-f: 向前移动一个单词,也可以用 C-Right 
    C-p: 向上移动一行,Up (p for prev)
    C-n: 向下移动一行,Down (n for next)
    C-a: 移动到行首,Home (a 是第一个字母)
    C-e: 移动到行末,End (e for end)
    C-d: 删除下一个字符,Delete (d for delete)
    C-v: 向下翻动一页,对不起不是大家熟悉的粘贴功能(v 看起来是向下的箭头)
    M-v: 向上翻动一页。
    M-<: 移动到全文最开始,也可以用 C-Home(<看起来像什么?)
    M->: 移动到全文最末尾,也可以用 C-End (>看起来像什么?)
    C-y: 粘贴
    C-k: 删除本行余下的内容。(k for kill)
    M-* 或 M-8: 打开表情选择窗口(^_*)

 在表情选择窗口里,你可以输入文本进行表情过滤,比如输入“weixin xiao”,
 可以过滤出微信的 4 个笑的表情。这里也有几个快捷键可以用,这些快捷键对所有其他输入选择对话框也有效:

    C-n: 选择下一个表情
    C-p: 选择上一个表情
    Enter: 输入当前选中的表情
    Shift-Enter: 输入当前过滤出来的所有表情

3 小扳手的下载、安装、跟手机的连接

小扳手的下载地址在 Github 上,目前只提供 Windows、Mac 系统的预编译版本下载,Linux 下想使用小扳手的话,暂时只能自己编译。下载时请按自己的系统类型,并确保选最新版本。

下载下来之后,不需要安装,解压后直接双击运行即可。

运行之后,第一次用小扳手连接你的手机时,需要进行以下操作(只有第一个操作是手动,后续的是小扳手自动执行的):

  1. 确保 PC 与手机之间确保 adb 连接 
  2. 小扳手检测到 adb 手机设备后,自动安装小扳手辅助 apk
  3. 小扳手自动安装小扳手输入法 apk、上传屏幕同步后台程序。
  4. 可以开始使用小扳手控制手机了

    注:第一次把 PC 上输好的文字输到手机编辑窗口时,小扳手会提示要自动把输入法切换成“小扳手输入法”。不用担心,拔掉 USB 线后,手机会自动切换回你原来的那个输入法。

3.1 adb 连接问题

小扳手需要你的 PC 通过 usb 线用 adb 的方式连接到你的安卓手机,这个操作对一些以前没玩过 adb 的用户来讲可能有点难度,你可以通过搜索引擎输入 你的手机型号 adb 驱动 连接 等关键字搜一下相关方法。

只有 Windows 下还需要安装驱动,其他 PC 系统不用。可以考虑使用 360 手机助手帮忙安装驱动,但用完后记得一定要删掉,因为——

这里需要注意的是,小扳手自带了谷歌官方的 adb 程序,请确保你的系统里没有别的版本的 adb 程序,尤其是不能有那种不断重启的其他版本 adb 程序。如果是 Windows 系统的话,要注意各种手机助手,它们都自带 adb 功能,但版本都比较老,肯定会有兼容问题,最好把它们卸载了。在 Mac 系统下,锤子科技公司提供的 HandShaker 程序,某些较早的版本好像也自带 adb 功能,想使用小扳手的话,目前也没有好的解决办法,只能也建议卸载该软件。

3.2 adb 连上之后

  1. adb 连上之前,小扳手的状态按钮是,点击会提示你尚未连到手机。
  2. 手机第一次连上之后,小扳手会自动往你的手机里安装两个应用(分别是小扳手辅助 App 和小扳手输入法 App),请确保在手机上允许安装。

    然后小扳手的状态按钮会变成,这时候你可以正常使用小扳手的大部分功能,但是不能在 PC 上显示手机上收到的通知消息。

  3. 按一下按钮,小扳手会在手机上打开通知相关的设置页面,请允许小扳手 App 接收手机通知。

    这个操作可能要多试几次,并且中间重新拔插手机 USB 线试一下,最后小扳手的状态图标会变成

  4. 小扳手状态变成后,就可以正常使用所有功能了,包括自动抢红包。

    这时候如果手机上有未读通知,小扳手会全部接收并通过 PC 端桌面通知窗口提醒你。

    此时按一下这个按钮,会用一个“选择输入对话框”显示从手机上收到的所有通知,双击某通知会在手机上处理此通知(比如打开相应的 App 或社交软件好友聊天窗口)——如果此消息尚未处理过的话。

4 常见问题

4.1 小扳手一直显示

  1. 小扳手的通知功能不支持 Smartisan T1,因为安卓版本有点太老了。请你看一下自己手机的 sdk 版本(命令行上运行 =adb shell getprop ro.build.version.sdk),最低要求是 21。
  2. 试过小米 6,能显示,但很快又会变成,看上去是后台的服务被杀死了,这个问题可能需要找小米手机的工作人员解决

4.2 小扳手一直显示

如果 adb 连接没问题的话,我曾经碰到过手机上装的小扳手辅助应用太老,然后导致一直装不上新的版本。解决方法是把辅助应用的旧版本删了。

4.3 小扳手一直无法使用 VNC 屏幕同步,只能截屏屏幕同步

用 VNC 屏幕同步的话,比截屏屏幕同步要流畅很多,但它跟通知机制一样,需要 sdk 版本 21 以上。

Smartisan T1 的安卓 sdk 版本是 19,因此无法使用 VNC 屏幕同步。

另外,某些机型可能存在 androidvncserver 即使 sdk 版本匹配,但也无法正常运行的情况。

4.4 小扳手状态已经显示,但收不到通知,或者收到通知点击没有反应

这种情况在锤子手机上因为有应用双开的功能,导致系统里有两路通知,一路是给正常的微信、QQ 用的,另一路是给“克隆”出来的微信、QQ 等 App 用的,小扳手有时候会搞错,但目前还查不出来什么原因。

解决的方法是重新打开、关闭一下通知机制(点,选“switch-notification.lua”提供的功能在手机上打开通知设置界面)。

4.5 怎么报 Bug

您可以在微博上给我私信(微博 ID:baohaojun),报 Bug 的时候注意:

  1. 告诉我你的手机型号、PC 系统型号(操作系统、版本)
  2. 尽量描述清楚发生 Bug 时您在做什么操作
  3. 如果小扳手出错时有弹出对话框的话,最好有这个对话框的清楚的截屏
  4. 把小扳手下方的 Log 窗口里的文字复制、粘贴一下发给我,如果文字太多的话,截最后 20 行左右就可以了