【极简版GH60】【GH60剖析】【八】增加一键输入密码(邮箱)功能
2016-02-28 18:21
483 查看
有一些高频率的输入字符串,我们可以写入到源代码中,让键盘可以替我们输入,比如说我们的密码、我们的用户邮箱等等,这样可以提高我们的效率。
我们先看看K大给的文档,里面有
Build firmware
--------------
### 1. Open terminal
Open terminal window to get access to commands. Use Cygwin(or MingGW) `shell terminal` in Windows or `Terminal.app` on Mac OSX. In Windows press `Windows` key and `R` then enter `cmd` in 'Run command' dialog showing up.
### 2. Change directory
Move to project directory in the firmware source.
cd tmk_keyboard/{'keyboard' or 'converter'}/
### 3. Make
Build firmware using GNU `make` command. You'll see `_.hex` file in that directory unless something unexpected occurs in build process.
里面很清楚地讲解了制作固件的步骤。
第一步,打开调试终端,在Windows下面就是打开cmd,然后第二步就是cd到tmk_keyboard/{'keyboard' or 'converter'}/这个目录,比如说GH60就是\tmk_keyboard_custom-master\keyboard\gh60这个目录。
然后使用make -f Makefile.clean
make -f Makefile.
命令就可以生成一个_.hex文件,我们就可以把它烧录进去了。
我们可以看到GH60下面有keymap_hhkb.c等很多keymap_打头的c文件,我们把下载得到的c文件加上_xxx后缀就好了,然后放到GH60目录下面。
Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_.c` and see keymap document(you can find in top README.md)
and existent keymap files.
To build firmware binary hex file with a certain keymap just do `make` with `KEYMAP` option like:
$ make KEYMAP=[poker|poker_set|poker_bit|plain|hasu|spacefn|hhkb|]
按照文档里面的说法,我们只需要 $ make KEYMAP =就可以了。
回到
[1] = ACTION_MACRO(),
[2] = ACTION_MACRO(),
[3] = ACTION_MACRO(),
这三条语句,我们需要给他们加上自己写的函数、
首先在keyboard文件夹下面搜索ACTION_MACRO,找到一个keymap_hasu.c里面有这个语句使用,
[8] = ACTION_MACRO(ALT_TAB), // Application switching
// [x] = ACTION_MACRO(HELLO), // Macro: say hello
// [x] = ACTION_MACRO(VOLUP), // Macro: media key
/*
* Macro definition
*/
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch (id) {
case HELLO:
return (record->event.pressed ?
MACRO( I(0), T(H), T(E), T(L), T(L), W(255), T(O), END ) :
MACRO_NONE );
case VOLUP:
return (record->event.pressed ?
MACRO( D(VOLU), U(VOLU), END ) :
MACRO_NONE );
case ALT_TAB:
return (record->event.pressed ?
MACRO( D(LALT), D(TAB), END ) :
MACRO( U(TAB), END ));
}
return MACRO_NONE;
}
照猫画虎:
[1] = ACTION_MACRO(PASSWORD1),
[2] = ACTION_MACRO(MAIL),
[3] = ACTION_MACRO(PASSWORD2),
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch (id) {
case PASSWORD1:
return (record->event.pressed ?
MACRO( I(0), T(H), T(E), T(L), T(L), W(255), T(O), END ) : //密码改T()括号里面的字符,下同
MACRO_NONE );
case MAIL:
return (record->event.pressed ?
MACRO( I(0), T(H), T(E), T(L), T(L), W(255), T(O), END ) :
MACRO_NONE );
case PASSWORD2:
return (record->event.pressed ?
MACRO( I(0), T(H), T(E), T(L), T(L), W(255), T(O), END ) :
MACRO_NONE );
}
return MACRO_NONE;
}
这里我使用了两个密码,一个邮箱名,大家按自己所需改T()
case MAIL:
return (record->event.pressed ?
MACRO( I(0), T(p), T(a), T(l), T(e), T(2), T(5), T(2), T(6), T(@), T(f), T(o), T(x), T(m), T(a), T(i), T(l), T(.), T(c), T(o), W(255), T(m), END ) :
MACRO_NONE );
我不知道这个W(255)等待时间是要每隔4个等待一次还是最后等待一次就可以了,现在先试一下最后等待一次,这里我的邮箱是pale2526@foxmail.com,大家可以看到。
然后我发现在Windows下面用cmd或者powershell都出报错,看了make还需要在linux或者缺少什么组件,待研究待更
我们先看看K大给的文档,里面有
Build firmware
--------------
### 1. Open terminal
Open terminal window to get access to commands. Use Cygwin(or MingGW) `shell terminal` in Windows or `Terminal.app` on Mac OSX. In Windows press `Windows` key and `R` then enter `cmd` in 'Run command' dialog showing up.
### 2. Change directory
Move to project directory in the firmware source.
cd tmk_keyboard/{'keyboard' or 'converter'}/
### 3. Make
Build firmware using GNU `make` command. You'll see `_.hex` file in that directory unless something unexpected occurs in build process.
里面很清楚地讲解了制作固件的步骤。
第一步,打开调试终端,在Windows下面就是打开cmd,然后第二步就是cd到tmk_keyboard/{'keyboard' or 'converter'}/这个目录,比如说GH60就是\tmk_keyboard_custom-master\keyboard\gh60这个目录。
然后使用make -f Makefile.clean
make -f Makefile.
命令就可以生成一个_.hex文件,我们就可以把它烧录进去了。
我们可以看到GH60下面有keymap_hhkb.c等很多keymap_打头的c文件,我们把下载得到的c文件加上_xxx后缀就好了,然后放到GH60目录下面。
Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_.c` and see keymap document(you can find in top README.md)
and existent keymap files.
To build firmware binary hex file with a certain keymap just do `make` with `KEYMAP` option like:
$ make KEYMAP=[poker|poker_set|poker_bit|plain|hasu|spacefn|hhkb|]
按照文档里面的说法,我们只需要 $ make KEYMAP =就可以了。
回到
[1] = ACTION_MACRO(),
[2] = ACTION_MACRO(),
[3] = ACTION_MACRO(),
这三条语句,我们需要给他们加上自己写的函数、
首先在keyboard文件夹下面搜索ACTION_MACRO,找到一个keymap_hasu.c里面有这个语句使用,
[8] = ACTION_MACRO(ALT_TAB), // Application switching
// [x] = ACTION_MACRO(HELLO), // Macro: say hello
// [x] = ACTION_MACRO(VOLUP), // Macro: media key
/*
* Macro definition
*/
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch (id) {
case HELLO:
return (record->event.pressed ?
MACRO( I(0), T(H), T(E), T(L), T(L), W(255), T(O), END ) :
MACRO_NONE );
case VOLUP:
return (record->event.pressed ?
MACRO( D(VOLU), U(VOLU), END ) :
MACRO_NONE );
case ALT_TAB:
return (record->event.pressed ?
MACRO( D(LALT), D(TAB), END ) :
MACRO( U(TAB), END ));
}
return MACRO_NONE;
}
照猫画虎:
[1] = ACTION_MACRO(PASSWORD1),
[2] = ACTION_MACRO(MAIL),
[3] = ACTION_MACRO(PASSWORD2),
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch (id) {
case PASSWORD1:
return (record->event.pressed ?
MACRO( I(0), T(H), T(E), T(L), T(L), W(255), T(O), END ) : //密码改T()括号里面的字符,下同
MACRO_NONE );
case MAIL:
return (record->event.pressed ?
MACRO( I(0), T(H), T(E), T(L), T(L), W(255), T(O), END ) :
MACRO_NONE );
case PASSWORD2:
return (record->event.pressed ?
MACRO( I(0), T(H), T(E), T(L), T(L), W(255), T(O), END ) :
MACRO_NONE );
}
return MACRO_NONE;
}
这里我使用了两个密码,一个邮箱名,大家按自己所需改T()
case MAIL:
return (record->event.pressed ?
MACRO( I(0), T(p), T(a), T(l), T(e), T(2), T(5), T(2), T(6), T(@), T(f), T(o), T(x), T(m), T(a), T(i), T(l), T(.), T(c), T(o), W(255), T(m), END ) :
MACRO_NONE );
我不知道这个W(255)等待时间是要每隔4个等待一次还是最后等待一次就可以了,现在先试一下最后等待一次,这里我的邮箱是pale2526@foxmail.com,大家可以看到。
然后我发现在Windows下面用cmd或者powershell都出报错,看了make还需要在linux或者缺少什么组件,待研究待更
相关文章推荐
- DIY:了解主板上的各种插针
- 无风扇电源【制作思路】
- WordPress DIY (2)——WP如何实现伪静态?
- discuz DIY模块添加自定义字段
- 自制家用空气净化器
- 如何给Android添加中文
- 文搏实业 生产、销售一体化
- 设置Win8开机启动自己的程序和脚本
- 我是程序猿-DIY电脑和阿胖
- 使用ATmega8L-8PU 在面包板上搭建自己的Arduino ,并闪亮一个LED
- 【极简版GH60】【GH60剖析】【七】分析源代码
- 【极简版GH60】【GH60剖析】【六】修改配列
- 【极简版GH60】【GH60剖析】【五】壳和键帽的装配
- 【极简版GH60】【GH60剖析】【三】组件的选购
- 【极简版GH60】【GH60剖析】【二】原理图的分析
- 给DIY的服务器添加raid驱动
- busybox diy mini linux
- redhat 5 系列 diy mini linux 之二
- redhat 5 系列 diy mini linux 之一
- 《深入分布式缓存》之“自己动手写缓存”