【极简版GH60】【GH60剖析】【七】分析源代码
接下来,我们研究我们的程序,看下怎么可以使得键盘可以一键输入密码。
首先,https://github.com/tmk/tmk_keyboard,这里有几乎所有的固件源码,新手可能一看会头大,大家应该还记得http://www.keyboard-layout-editor.com/#/layouts/7d55431c8a8d9f9bf94b6f6af8ce7c12这个网站吧。
没错,这个就是简单改配列的网站,我们依然可以利用它来生成代码,然后我们依然要用到http://www.kaiserver.com/tkg/这个网站,不过,这次我们需要生成.c文件而不是编译过后的.eep文件。
然后我们来看一下生成的.c文件。
[0] = KEYMAP_TKG(
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, \
LSFT, Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, \
LCTL,LGUI,LALT, SPC, RALT,FN0, APP, RCTL),
[1] = KEYMAP_TKG(
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, \
TRNS,TRNS,UP, TRNS,TRNS,TRNS,CALC,TRNS,INS, TRNS,PSCR,SLCK,PAUS,TRNS, \
TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS,TRNS,TRNS,INS, HOME,PGUP, TRNS, \
TRNS, TRNS,TRNS,FN1, FN2, FN3, VOLD,VOLU,MUTE,END, PGDN, TRNS, \
TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
[2] = KEYMAP_TKG(
NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, \
NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, \
NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, \
NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, \
NO, NO, NO, NO, NO, NO, NO, NO),
很明显,这是我们刚刚配列的三层设置
然后,最后的
[0] = ACTION_LAYER_MOMENTARY(1),
[1] = ACTION_MACRO(),
[2] = ACTION_MACRO(),
[3] = ACTION_MACRO(),
是我们研究的重点,这四条语句分别代表着Fn0~Fn3,ACTION_LAYER_MOMENTARY(1)意思是瞬时切换到第1层(第二层),然后ACTION_MACRO()可以给我们添加宏。下面,我将会教会大家如何设置自己的宏。
【极简版GH60】【GH60剖析】【七】分析源代码相关推荐
- 【极简版GH60】【GH60剖析】【二】原理图的分析
说完了配件的选择,下面分析下原理图,因为我要做的是极简的GH60,所以PCB上的原件有很多都不需要焊上去,我们来分析下GH60revQE原理图. 首先可以看到大概有61个按键,然后每个按键由一个轴,一 ...
- 【极简版GH60】【GH60剖析】【六】修改配列
说完了GH60的硬件部分,接下来到软件部分,我觉得,软件部分才是极简版GH60的精髓部分,毕竟仅有硬件的话GH60只是一个有手感可以按动的一堆没有功能的按键,而软件让他变成了灵活多变的键盘.通过对软件 ...
- 【极简版GH60】【GH60剖析】【五】壳和键帽的装配
既然没有什么问题了,下面就可以装壳上螺丝了, 上好键帽后,这样我们极简GH60的硬件部分就完成了,连接USB数据线,就是一个实用的小键盘了. 这里我用的USB数据线是TI原厂的MSP430开发板数 ...
- 7句话让Codex给我做了个小游戏,还是极简版塞尔达,一玩简直停不下来
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 什么,7 ...
- 《重大人生启示录》极简版
<重大人生启示录>极简版 献给所有活着和将要死去的人们,献给所有历经悲伤的人们 本文摘录了启示录最重要的内容,不必非要看全本,不必购买书 序言 这是极为特殊的历史转折期,物质文明发展到这一 ...
- 10分钟手撸极简版ORM框架!
最近很多小伙伴对ORM框架的实现很感兴趣,不少读者在冰河的微信上问:冰河,你知道ORM框架是如何实现的吗?比如像MyBatis和Hibernte这种ORM框架,它们是如何实现的呢? 为了能够让小伙伴们 ...
- 美团推出极简版 为用户提供“米面粮油”等生活用品采购服务
近日,有用户反馈,安卓应用商店显示,美团更新推出了极简版,对主应用的功能进行了删减,保留了美团主应用中涉及生活用品采购的相关业务.用户在打开极简版后,首页会呈现出采购蔬果.米面水油等生活用品的购买入口 ...
- python3web库_基于 Python3 写的极简版 webserver
基于 Python3 写的极简版 webserver.用于学习 HTTP协议,及 WEB服务器 工作原理.笔者对 WEB服务器 的工作原理理解的比较粗浅,仅是基于个人的理解来写的,存在很多不足和漏洞, ...
- openGauss 极简版安装
openGauss 官网 openGauss 下载地址 支持的操作系统 ● ARM: ● openEuler 20.03LTS(推荐采用此操作系统) ● 麒麟V10 ● Asianux ...
- Underscore源码阅读极简版入门
看了网上的一些资料,发现大家都写得太复杂,让新手难以入门.于是写了这个极简版的Underscore源码阅读. 源码: github.com/hanzichi/un- 一.架构的实现 1.1:架构 (f ...
最新文章
- 普通内部类里面为什么不能有static字段
- python函数文档说明调用方式_Python 跨.py文件调用自定义函数说明
- js阿拉伯数字转中文大写
- 如何在 Kaggle 首战中进入前 10%
- Eclipse python 开发环境配置
- mysql 事务 myisam,InnoDB和MyISAM的差别(mysql事务处理)
- 时光手帐怎么修改作品 时光手帐修改作品封面方法
- C#字符串来袭——因为爱,所以爱
- 2014年10月15日
- 设计一个媒体类,其中包含:书,CD及磁带3个子类。按照类的设计模式,完成他们的插入、删除和查找功能。
- 卡巴2009与word冲突完美解决方案,经测试几十台计算机全部通过
- React入门第一天(绑定事件,动态渲染,修改样式、传参)
- 计算机杀病毒软件的应用有哪些,电脑杀蠕虫病毒软件有哪些
- html5 在线留言,html5实现手机弹窗留言对话框
- macbook安装佳能C3020打印机驱动安装错误代码701
- 布丰投针问题和蒙特卡洛方法
- strapi token expired解决方案
- Codeforces Round #643 (Div. 2)-C. Count Triangles(差分,前缀和)(避免标题重复率的小括号)
- iMazing2.16最新苹果手机备份同步工具
- GC 疑难情况问题排查与分析(上篇)
热门文章
- c语言文件备份,C/C++实现文件的备份
- 重装系统重启后计算机属性无法打开,Win7系统计算机属性窗口无法打开的两种参考方法...
- 感悟开发.Net代码自动生成器,为软件起个好名字
- Word2002文档的安全性(转)
- 团队文化建设PPT模板
- 回填用土好还是砂石料好_砂石土的一般配比
- Snort预处理器之`sfPortscan`
- 负数与正数相乘怎么算_为啥两个负数相乘结果是正数?
- 加载TQ2440驱动-Hello World 模块
- 程控交换机程序故障处理