LaZeyboard - 躺在床上也能让电脑停止播放音乐

我是一个懒人,同时也是一个音乐发烧友,我喜欢听歌,可是躺床上之后我就很懒到电脑前来切歌了。
这些问题怎么能够难倒技术宅呢,于是就有了 LaZeyboard

啰嗦几句

LaZeyboard 是基于 VB.net Framework 3.5 (即 Windows 7 及其以上版本可以直接运行)编写的一个小工具,下面是 LaZeyboard 所运用到的 Niubility 的技术:

  • 自行编写的 HTTP Server ,你敢“高”并发立马宕机
  • 单线程任务处理,点击速度太快会出现程序无响应
  • 正则表达式匹配 URL 中的按键参数,开发者编写代码时可以多敲几次键盘
  • 自写 302 完美跳转,差点让请求的文件当成按键输出
  • 完美兼容 IE非 IE 浏览器,无论你是 POST 还是 GET 一样当垃圾处理
  • 自适应网页设计,完美模仿词焙界面

LaZeyboard 的原理就是通过模拟键盘按键来实现触发一些软件的快捷键组合

或者,把 LaZeyboard 拆开,你可以得到的是 网络聊天软件 + 服务器软件 + 网游“外挂”(就是自动连续快速按键,不记得叫什么了,以前舍友跟我说过 DNF 有这种东西的)

使用方法

先来看看软件的正面吧
主界面1.png

还有这个
主界面2.png

再来看看它的背面:
呃,不好意思,404

很简单,打开软件之后选择你要的按键方案,默认自带一份酷狗遥控器。然后点击启动
配合不同的按键方案,手机就可以变成遥控器来进行各种操作了,具体操作方式就看按键方案的说明书了。

酷狗遥控器的说明书

启动之后用手机打开红色的链接,高大上的遥控器出现了:
酷狗遥控器.png

再下一步,设置酷狗的快捷键。
检查一下你的酷狗快捷键是不是像这样设置的,如果是,那你可以直接使用了;如果不是,你可以选择:1.改成我这样的 2.改按键方案,具体方式看开发文档。
酷狗设置.png

咦?图片看不清?

操作按键
播放/暂停Alt+F5
上一首Alt+Left
下一首Alt+Right
增大音量Alt+Up
减小音量Alt+Down

开发文档

以下的 根目录 均为 LaZeyboard.exe 所在目录

目录结构:
/sln/ :sln(solution) 文件夹是 LaZeyboard 的解决方案存放的文件夹,每个解决方案放在一个文件夹中,如 /sln/kugou/ 为自带的酷狗遥控器按键方案。

入口: 所有方案的入口文件均为 index.html ,程序在用户选择好方案时会把此文件的内容装入并常驻内存(以减少硬盘的读次数)。注:入口文件可以调用外部 .css/.js/.jpg/.png 等等文件。

触发机制: 上面介绍了 LaZeyboard 的目录及入口文件,下面来介绍一下触发机制。

触发 LaZeyboard 会捕获 /keys/yourkeys 这一访问请求,keys 是保留关键字,告诉程序这个请求是发送按键信息的。yourkeys 是按键组合(具体按键看后面的表格)。
开发者可以通过各种奇技淫巧向 LaZeyboard 传递按键请求。
当用户通过入口文件向 LaZeyboard 发送请求之后 LaZeyboard 会响应请求、模拟按键,同时通过 HTTP 302 跳转回入口文件,同时把内存中的 index.html 传回用户浏览器。

一个简单的例子:

<!DOCTYPE HTML>
<html>
<body>
<a href="/keys/%7BENTER%7D">回车键</a>
</body>
</html>

当用户点击这个超链接之后 LaZeyboard 会模拟按下回车键。
这种方式发送请求的话整个页面都会跳转,那么我们可以利用 JavaScript 来进行请求,例如:

<!DOCTYPE HTML>
<html>
<body>
<a href="sendkeys('/keys/%7BENTER%7D')">回车键</a>
<iframe id="sendkey" style="display:none;">通过一个隐藏的 iframe 标签来访问页面</iframe>
</body>
<script>
function sendkeys(keys)
{
    document.getElementById('sendkey').src=keys;
}
</script>
</html>

这样就能够在暗地里发送按键请求了。当然你也可以用 Ajax 来实现。
注意:在编写方案时不能把需要调用的任何文件放在 keys 目录中,程序在接到 /keys/ 的请求之后不会去这个目录中读取你所调用的文件

按键

BACKSPACE {BACKSPACE}、{BS} 或 {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL 或 DELETE {DELETE} 或 {DEL}
UP ARROW(上箭头键) {UP}
DOWN ARROW(下箭头键) {DOWN}
LEFT ARROW(左箭头键) {LEFT}
RIGHT ARROW(右箭头键) {RIGHT}
END {END}
ENTER {ENTER}
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS 或 INSERT {INSERT} 或 {INS}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
F1~F12 {F1}~{F12}
+ {ADD}
- {SUBTRACT}
* {MULTIPLY}
/ {DIVIDE}

若要指定与 SHIFT、CTRL 和 ALT 键的任意组合一起使用的键,请在这些键代码之前加上以下一个或多个代码:

键 代码
SHIFT +
CTRL -
ALT *

0~9、A-Z 均直接使用,无需用 { } 括起

  • 按键可以组合在一起使用
  • {} 在编写时可以直接写,也可以写成 %7B%7D

下载地址

戳这里

标签: none

已有 3 条评论

  1. k k

    请问你的界面设计什么时候才能不完全或完全不模仿词焙界面?

  2. 淡然 淡然

    这么喜欢词焙...

添加新评论