前段时间用Python写了个终端版本的谷歌翻译爬虫:https://github.com/poemdistance/google-translate
觉得不太满足,刚好可以在这基础上弄个屏幕取词翻译就好了,要解决的问题有几个:
- 鼠标动作监测
- 屏幕字符提取
- 字符串翻译
- 界面显示
- 音频播放
一:鼠标动作监测
对于鼠标动作的监测,可以直接操作鼠标设备文件/dev/input/mice来完成,了解一下鼠标接口的相关协议http://www.isdaman.com/alsos/hardware/mouse/ps2interface.htm,可以从mice中读取出几个需要用到的按键信息存储到一个数组中,通过对数组信息的分析推算鼠标动作。
二:屏幕字符提取
关于屏幕字符提取,想到几种方法,
一是截图识别,不过准确率不够,实施起来也不算简单;
二是看能否从帧缓冲设备着手直接提取选中的字符,不过,太过底层,涉及的东西又多还都是知识盲区暂时不考虑;
三是用简单粗暴的办法,模拟按键发送Ctrl-C或者Ctrl-Shift-C来完成文本的复制。这个时候需要解决的问题有: