接下来,我们研究我们的程序,看下怎么可以使得键盘可以一键输入密码。

首先,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剖析】【七】分析源代码相关推荐

  1. 【极简版GH60】【GH60剖析】【二】原理图的分析

    说完了配件的选择,下面分析下原理图,因为我要做的是极简的GH60,所以PCB上的原件有很多都不需要焊上去,我们来分析下GH60revQE原理图. 首先可以看到大概有61个按键,然后每个按键由一个轴,一 ...

  2. 【极简版GH60】【GH60剖析】【六】修改配列

    说完了GH60的硬件部分,接下来到软件部分,我觉得,软件部分才是极简版GH60的精髓部分,毕竟仅有硬件的话GH60只是一个有手感可以按动的一堆没有功能的按键,而软件让他变成了灵活多变的键盘.通过对软件 ...

  3. 【极简版GH60】【GH60剖析】【五】壳和键帽的装配

    既然没有什么问题了,下面就可以装壳上螺丝了, 上好键帽后,这样我们极简GH60的硬件部分就完成了,连接USB数据线,就是一个实用的小键盘了. ​ 这里我用的USB数据线是TI原厂的MSP430开发板数 ...

  4. 7句话让Codex给我做了个小游戏,还是极简版塞尔达,一玩简直停不下来

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 什么,7 ...

  5. 《重大人生启示录》极简版

    <重大人生启示录>极简版 献给所有活着和将要死去的人们,献给所有历经悲伤的人们 本文摘录了启示录最重要的内容,不必非要看全本,不必购买书 序言 这是极为特殊的历史转折期,物质文明发展到这一 ...

  6. 10分钟手撸极简版ORM框架!

    最近很多小伙伴对ORM框架的实现很感兴趣,不少读者在冰河的微信上问:冰河,你知道ORM框架是如何实现的吗?比如像MyBatis和Hibernte这种ORM框架,它们是如何实现的呢? 为了能够让小伙伴们 ...

  7. 美团推出极简版 为用户提供“米面粮油”等生活用品采购服务

    近日,有用户反馈,安卓应用商店显示,美团更新推出了极简版,对主应用的功能进行了删减,保留了美团主应用中涉及生活用品采购的相关业务.用户在打开极简版后,首页会呈现出采购蔬果.米面水油等生活用品的购买入口 ...

  8. python3web库_基于 Python3 写的极简版 webserver

    基于 Python3 写的极简版 webserver.用于学习 HTTP协议,及 WEB服务器 工作原理.笔者对 WEB服务器 的工作原理理解的比较粗浅,仅是基于个人的理解来写的,存在很多不足和漏洞, ...

  9. openGauss 极简版安装

    openGauss 官网   openGauss 下载地址 支持的操作系统 ● ARM:   ● openEuler 20.03LTS(推荐采用此操作系统)   ● 麒麟V10   ● Asianux ...

  10. Underscore源码阅读极简版入门

    看了网上的一些资料,发现大家都写得太复杂,让新手难以入门.于是写了这个极简版的Underscore源码阅读. 源码: github.com/hanzichi/un- 一.架构的实现 1.1:架构 (f ...

最新文章

  1. 普通内部类里面为什么不能有static字段
  2. python函数文档说明调用方式_Python 跨.py文件调用自定义函数说明
  3. js阿拉伯数字转中文大写
  4. 如何在 Kaggle 首战中进入前 10%
  5. Eclipse python 开发环境配置
  6. mysql 事务 myisam,InnoDB和MyISAM的差别(mysql事务处理)
  7. 时光手帐怎么修改作品 时光手帐修改作品封面方法
  8. C#字符串来袭——因为爱,所以爱
  9. 2014年10月15日
  10. 设计一个媒体类,其中包含:书,CD及磁带3个子类。按照类的设计模式,完成他们的插入、删除和查找功能。
  11. 卡巴2009与word冲突完美解决方案,经测试几十台计算机全部通过
  12. React入门第一天(绑定事件,动态渲染,修改样式、传参)
  13. 计算机杀病毒软件的应用有哪些,电脑杀蠕虫病毒软件有哪些
  14. html5 在线留言,html5实现手机弹窗留言对话框
  15. macbook安装佳能C3020打印机驱动安装错误代码701
  16. 布丰投针问题和蒙特卡洛方法
  17. strapi token expired解决方案
  18. Codeforces Round #643 (Div. 2)-C. Count Triangles(差分,前缀和)(避免标题重复率的小括号)
  19. iMazing2.16最新苹果手机备份同步工具
  20. GC 疑难情况问题排查与分析(上篇)

热门文章

  1. c语言文件备份,C/C++实现文件的备份
  2. 重装系统重启后计算机属性无法打开,Win7系统计算机属性窗口无法打开的两种参考方法...
  3. 感悟开发.Net代码自动生成器,为软件起个好名字
  4. Word2002文档的安全性(转)
  5. 团队文化建设PPT模板
  6. 回填用土好还是砂石料好_砂石土的一般配比
  7. Snort预处理器之`sfPortscan`
  8. 负数与正数相乘怎么算_为啥两个负数相乘结果是正数?
  9. 加载TQ2440驱动-Hello World 模块
  10. 程控交换机程序故障处理