【极简版GH60】【GH60剖析】【八】增加一键输入密码(邮箱)功能
来源:互联网 发布:蜂窝移动数据关闭不了 编辑:程序博客网 时间:2024/06/16 04:44
有一些高频率的输入字符串,我们可以写入到源代码中,让键盘可以替我们输入,比如说我们的密码、我们的用户邮箱等等,这样可以提高我们的效率。
我们先看看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或者缺少什么组件,待研究待更
- 【极简版GH60】【GH60剖析】【八】增加一键输入密码(邮箱)功能
- 【极简版GH60】【GH60剖析】【一】组件的选购
- 【极简版GH60】【GH60剖析】【七】分析源代码
- 【极简版GH60】【GH60剖析】【五】壳和键帽的装配
- 【极简版GH60】【GH60剖析】【二】原理图的分析
- 【极简版GH60】【GH60剖析】【三】组件的选购
- 【极简版GH60】【GH60剖析】【四】轴的安装与焊接
- 【极简版GH60】【GH60剖析】【六】修改配列
- gh60 刷固件
- gh60(OK60RGB)刷固件折腾日志(MacOs版)
- 客制化键盘之GH60折腾
- 客制化 GH60 XD60 像 Poker 一样的 60% 机械键盘 (1)设计键盘
- 客制化 GH60 XD60 像 Poker 一样的 60% 机械键盘 (2) 采购以及组装
- GH60--来自geekhack的超强玩具
- 特殊配列 GH60 键盘设计组装笔记
- 邮箱找回密码功能
- php邮箱找回密码功能
- php邮箱找回密码功能
- 1010. 一元多项式求导 (25)
- 【极简版GH60】【GH60剖析】【七】分析源代码
- UESTC 1137 邱老师选妹子 dp:?这个难道不是暴力法
- test
- 【DSP开发】6455EMIF
- 【极简版GH60】【GH60剖析】【八】增加一键输入密码(邮箱)功能
- C++中vetor的使用
- 文章标题
- HDU 5626
- C++访问控制之protected
- Julia: readcsv 如何处理带中文字符的CSV文件
- 浏览器向服务器请求页面的原理
- 浅谈一类积性函数的前缀和
- Mybatis入门实例(注解实现)(3) - SSM(三)