接下来,我们研究我们的程序,看下怎么可以使得键盘可以一键输入密码。
首先,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()可以给我们添加宏。下面,我将会教会大家如何设置自己的宏。