Sendstring LUT improvements (#5727)
* Align sendstring LUTs to 9 characters wide * Replace 0 with XXXXXXX * Use decimal 128 for LUT size * Align heading comments * Add ASCII table comments * Add missing AltGr LUTs and adjust keycode LUTs accordingly * Use pragma once * Correct a couple more keycodes * Capitalise "BÉPO" * Also clean up the default tables * Tidy up Belgian and Norman LUTsmaster
parent
26bbf6a66a
commit
a5ecf14608
|
@ -13,13 +13,14 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/* Sendstring definitions for the belgian layout */
|
|
||||||
#ifndef SENDSTRING_BELGIAN
|
// Sendstring lookup tables for Belgian layouts
|
||||||
#define SENDSTRING_BELGIAN
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "keymap_belgian.h"
|
#include "keymap_belgian.h"
|
||||||
|
|
||||||
const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
const bool ascii_to_shift_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -38,7 +39,8 @@ const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0
|
0, 0, 0, 0, 0, 0, 0, 0
|
||||||
};
|
};
|
||||||
const bool ascii_to_altgr_lut[0x80] PROGMEM = {
|
|
||||||
|
const bool ascii_to_altgr_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -58,37 +60,38 @@ const bool ascii_to_altgr_lut[0x80] PROGMEM = {
|
||||||
0, 0, 0, 1, 1, 1, 1, 0
|
0, 0, 0, 1, 1, 1, 1, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
// NOTE that you have to send the dead keys twice: tilda, circ
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
// SEND_STRING(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^^``_abcdefghijklmnopqrstuvwxyz{|}~~");
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// BS TAB LF VT FF CR SO SI
|
||||||
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
/* SPACE ! " # $ % & ' */
|
// CAN EM SUB ESC FS GS RS US
|
||||||
KC_SPC, BE_EXLM, BE_QUOT, BE_QUOT, BE_DLR,BE_UGRV,BE_AMP, BE_APOS ,
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
/* ( ) * + , - . / */
|
|
||||||
BE_LPRN, BE_RPRN, BE_DLR,BE_EQL, BE_COMM, BE_MINS, BE_SCLN, BE_COLN,
|
|
||||||
/* 0 1 2 3 4 5 6 7 */
|
|
||||||
BE_AGRV, BE_AMP, BE_EACU, BE_QUOT, BE_APOS, BE_LPRN, BE_PARA, BE_EGRV,
|
|
||||||
/* 8 9 : ; < = > ? */
|
|
||||||
BE_EXLM, BE_CCED, BE_COLN, BE_SCLN, BE_LESS, BE_EQL, BE_LESS, BE_COMM,
|
|
||||||
/* @ A B C D E F G */
|
|
||||||
BE_EACU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
|
||||||
/* H I J K L M N O */
|
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O,
|
|
||||||
/* P Q R S T U V W */
|
|
||||||
KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W,
|
|
||||||
/* X Y Z [ \ ] ^ _ */
|
|
||||||
KC_X, KC_Y, BE_Z, BE_CIRC, BE_LESS, BE_DLR, BE_PARA, BE_MINS,
|
|
||||||
/* ` a b c d e f g */
|
|
||||||
BE_MU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
|
||||||
/* h i j k l m n o */
|
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O,
|
|
||||||
/* p q r s t u v w */
|
|
||||||
KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W,
|
|
||||||
/* x y z { | } ~ DELETE */
|
|
||||||
KC_X, KC_Y, BE_Z, BE_CCED, BE_AMP, BE_AGRV, BE_EQL, KC_DEL
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
// ! " # $ % & '
|
||||||
|
KC_SPC, BE_EXLM, BE_QUOT, BE_QUOT, BE_DLR, BE_UGRV, BE_AMP, BE_APOS,
|
||||||
|
// ( ) * + , - . /
|
||||||
|
BE_LPRN, BE_RPRN, BE_DLR, BE_EQL, BE_COMM, BE_MINS, BE_SCLN, BE_COLN,
|
||||||
|
// 0 1 2 3 4 5 6 7
|
||||||
|
BE_AGRV, BE_AMP, BE_EACU, BE_QUOT, BE_APOS, BE_LPRN, BE_PARA, BE_EGRV,
|
||||||
|
// 8 9 : ; < = > ?
|
||||||
|
BE_EXLM, BE_CCED, BE_COLN, BE_SCLN, BE_LESS, BE_EQL, BE_LESS, BE_COMM,
|
||||||
|
// @ A B C D E F G
|
||||||
|
BE_EACU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||||
|
// H I J K L M N O
|
||||||
|
KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O,
|
||||||
|
// P Q R S T U V W
|
||||||
|
KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W,
|
||||||
|
// X Y Z [ \ ] ^ _
|
||||||
|
KC_X, KC_Y, BE_Z, BE_CIRC, BE_LESS, BE_DLR, BE_PARA, BE_MINS,
|
||||||
|
// ` a b c d e f g
|
||||||
|
BE_MU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||||
|
// h i j k l m n o
|
||||||
|
KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O,
|
||||||
|
// p q r s t u v w
|
||||||
|
KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W,
|
||||||
|
// x y z { | } ~ DEL
|
||||||
|
KC_X, KC_Y, BE_Z, BE_CCED, BE_AMP, BE_AGRV, BE_EQL, KC_DEL
|
||||||
|
};
|
||||||
|
|
|
@ -13,29 +13,85 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/* Sendstring definitions for the bépo layout */
|
|
||||||
#ifndef SENDSTRING_BEPO
|
// Sendstring lookup tables for BÉPO layouts
|
||||||
#define SENDSTRING_BEPO
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "keymap_bepo.h"
|
#include "keymap_bepo.h"
|
||||||
|
|
||||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
const bool ascii_to_shift_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
KC_SPC, BP_DCRC, BP_DQOT, BP_DOLLAR, BP_DOLLAR, BP_PERCENT, BP_P, BP_APOS,
|
|
||||||
BP_LPRN, BP_RPRN, BP_ASTR, BP_PLUS, BP_COMM, BP_MINUS, BP_DOT, BP_SLSH,
|
0, 1, 0, 1, 0, 0, 0, 0,
|
||||||
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
KC_8, KC_9, BP_DOT, BP_DOT, KC_2, BP_EQUAL, KC_2, BP_APOS,
|
1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
BP_AT, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G,
|
1, 1, 1, 1, 0, 0, 0, 1,
|
||||||
BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O,
|
0, 1, 1, 1, 1, 1, 1, 1,
|
||||||
BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W,
|
1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
BP_X, BP_Y, BP_Z, KC_4, BP_AGRV, KC_5, KC_5, KC_MINS,
|
1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
KC_2, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G,
|
1, 1, 1, 0, 0, 0, 0, 0,
|
||||||
BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O,
|
1, 0, 0, 0, 0, 0, 0, 0,
|
||||||
BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
BP_X, BP_Y, BP_Z, BP_Y, BP_B, BP_X, BP_K, KC_DEL,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
const bool ascii_to_altgr_lut[128] PROGMEM = {
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
|
||||||
|
0, 0, 0, 0, 0, 0, 1, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 1, 0, 1, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 1, 1, 1, 1, 1,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 1, 1, 1, 1, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
// BS TAB LF VT FF CR SO SI
|
||||||
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
// CAN EM SUB ESC FS GS RS US
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
|
||||||
|
// ! " # $ % & '
|
||||||
|
KC_SPC, BP_DCRC, BP_DQOT, BP_DLR, BP_DLR, BP_PERC, BP_P, BP_APOS,
|
||||||
|
// ( ) * + , - . /
|
||||||
|
BP_LPRN, BP_RPRN, BP_ASTR, BP_PLUS, BP_COMM, BP_MINS, BP_DOT, BP_SLSH,
|
||||||
|
// 0 1 2 3 4 5 6 7
|
||||||
|
BP_ASTR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS,
|
||||||
|
// 8 9 : ; < = > ?
|
||||||
|
BP_MINS, BP_SLSH, BP_DOT, BP_COMM, BP_LGIL, BP_EQL, BP_RGIL, BP_APOS,
|
||||||
|
// @ A B C D E F G
|
||||||
|
BP_AT, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G,
|
||||||
|
// H I J K L M N O
|
||||||
|
BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O,
|
||||||
|
// P Q R S T U V W
|
||||||
|
BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W,
|
||||||
|
// X Y Z [ \ ] ^ _
|
||||||
|
BP_X, BP_Y, BP_Z, BP_LPRN, BP_AGRV, BP_RPRN, BP_AT, KC_SPC,
|
||||||
|
// ` a b c d e f g
|
||||||
|
BP_PERC, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G,
|
||||||
|
// h i j k l m n o
|
||||||
|
BP_H, BP_I, BP_J, BP_K, BP_L, BP_M, BP_N, BP_O,
|
||||||
|
// p q r s t u v w
|
||||||
|
BP_P, BP_Q, BP_R, BP_S, BP_T, BP_U, BP_V, BP_W,
|
||||||
|
// x y z { | } ~ DEL
|
||||||
|
BP_X, BP_Y, BP_Z, BP_Y, BP_B, BP_X, BP_K, KC_DEL
|
||||||
|
};
|
||||||
|
|
|
@ -13,29 +13,45 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/* Sendstring definitions for the Colemak layout */
|
|
||||||
#ifndef SENDSTRING_COLEMAK
|
// Sendstring lookup tables for Colemak layouts
|
||||||
#define SENDSTRING_COLEMAK
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "keymap_colemak.h"
|
#include "keymap_colemak.h"
|
||||||
|
|
||||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// BS TAB LF VT FF CR SO SI
|
||||||
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
// CAN EM SUB ESC FS GS RS US
|
||||||
KC_8, KC_9, CM_SCLN, CM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_2, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
|
|
||||||
CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
|
|
||||||
CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
|
|
||||||
CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
|
|
||||||
KC_GRV, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
|
|
||||||
CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
|
|
||||||
CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
|
|
||||||
CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
// ! " # $ % & '
|
||||||
|
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
|
||||||
|
// ( ) * + , - . /
|
||||||
|
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
|
||||||
|
// 0 1 2 3 4 5 6 7
|
||||||
|
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
||||||
|
// 8 9 : ; < = > ?
|
||||||
|
KC_8, KC_9, CM_SCLN, CM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
|
||||||
|
// @ A B C D E F G
|
||||||
|
KC_2, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
|
||||||
|
// H I J K L M N O
|
||||||
|
CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
|
||||||
|
// P Q R S T U V W
|
||||||
|
CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
|
||||||
|
// X Y Z [ \ ] ^ _
|
||||||
|
CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
|
||||||
|
// ` a b c d e f g
|
||||||
|
KC_GRV, CM_A, CM_B, CM_C, CM_D, CM_E, CM_F, CM_G,
|
||||||
|
// h i j k l m n o
|
||||||
|
CM_H, CM_I, CM_J, CM_K, CM_L, CM_M, CM_N, CM_O,
|
||||||
|
// p q r s t u v w
|
||||||
|
CM_P, CM_Q, CM_R, CM_S, CM_T, CM_U, CM_V, CM_W,
|
||||||
|
// x y z { | } ~ DEL
|
||||||
|
CM_X, CM_Y, CM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
||||||
|
};
|
||||||
|
|
|
@ -13,29 +13,45 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/* Sendstring definitions for the Dvorak layout */
|
|
||||||
#ifndef SENDSTRING_DVORAK
|
// Sendstring lookup tables for Dvorak layouts
|
||||||
#define SENDSTRING_DVORAK
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "keymap_dvorak.h"
|
#include "keymap_dvorak.h"
|
||||||
|
|
||||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// BS TAB LF VT FF CR SO SI
|
||||||
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_SPC, DV_1, DV_QUOT, DV_3, DV_4, DV_5, DV_7, DV_QUOT,
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
DV_9, DV_0, DV_8, DV_EQL, DV_COMM, DV_MINS, DV_DOT, DV_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
DV_0, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_7,
|
// CAN EM SUB ESC FS GS RS US
|
||||||
DV_8, DV_9, DV_SCLN, DV_SCLN, DV_COMM, DV_EQL, DV_DOT, DV_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
DV_2, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
|
|
||||||
DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
|
|
||||||
DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
|
|
||||||
DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_6, DV_MINS,
|
|
||||||
DV_GRV, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
|
|
||||||
DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
|
|
||||||
DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
|
|
||||||
DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_GRV, KC_DEL
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
// ! " # $ % & '
|
||||||
|
KC_SPC, DV_1, DV_QUOT, DV_3, DV_4, DV_5, DV_7, DV_QUOT,
|
||||||
|
// ( ) * + , - . /
|
||||||
|
DV_9, DV_0, DV_8, DV_EQL, DV_COMM, DV_MINS, DV_DOT, DV_SLSH,
|
||||||
|
// 0 1 2 3 4 5 6 7
|
||||||
|
DV_0, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_7,
|
||||||
|
// 8 9 : ; < = > ?
|
||||||
|
DV_8, DV_9, DV_SCLN, DV_SCLN, DV_COMM, DV_EQL, DV_DOT, DV_SLSH,
|
||||||
|
// @ A B C D E F G
|
||||||
|
DV_2, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
|
||||||
|
// H I J K L M N O
|
||||||
|
DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
|
||||||
|
// P Q R S T U V W
|
||||||
|
DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
|
||||||
|
// X Y Z [ \ ] ^ _
|
||||||
|
DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_6, DV_MINS,
|
||||||
|
// ` a b c d e f g
|
||||||
|
DV_GRV, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G,
|
||||||
|
// h i j k l m n o
|
||||||
|
DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O,
|
||||||
|
// p q r s t u v w
|
||||||
|
DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W,
|
||||||
|
// x y z { | } ~ DEL
|
||||||
|
DV_X, DV_Y, DV_Z, DV_LBRC, DV_BSLS, DV_RBRC, DV_GRV, KC_DEL
|
||||||
|
};
|
||||||
|
|
|
@ -13,13 +13,14 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/* Sendstring definitions for the German layout */
|
|
||||||
#ifndef SENDSTRING_GERMAN
|
// Sendstring lookup tables for German layouts
|
||||||
#define SENDSTRING_GERMAN
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "keymap_german.h"
|
#include "keymap_german.h"
|
||||||
|
|
||||||
const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
const bool ascii_to_shift_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -29,53 +30,68 @@ const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
||||||
1, 1, 1, 0, 0, 0, 0, 1,
|
1, 1, 1, 0, 0, 0, 0, 1,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 0, 1, 1, 1,
|
0, 0, 1, 1, 0, 1, 1, 1,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1,
|
0, 1, 1, 1, 1, 1, 1, 1,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
1, 1, 1, 0, 0, 0, 0, 1,
|
1, 1, 1, 0, 0, 0, 0, 1,
|
||||||
1, 0, 0, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
const bool ascii_to_altgr_lut[128] PROGMEM = {
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 1, 1, 1, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 1, 1, 1, 1, 0
|
0, 0, 0, 1, 1, 1, 1, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Until an ALT table/functionality is added, the following symbols will not work:
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
* § @ [ ] { } \ ~ äA öÖ ß ´
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
* Following characters can be printed using other characters like so:
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
* [ in makro will be ü
|
// BS TAB LF VT FF CR SO SI
|
||||||
* { in makro will be Ü
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
* ~ in makro will be °
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
*/
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
// CAN EM SUB ESC FS GS RS US
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
|
||||||
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
|
||||||
|
|
||||||
/* SPACE ! " # $ % & ' */
|
// ! " # $ % & '
|
||||||
KC_SPC, KC_1, KC_2, DE_HASH, KC_4, KC_5, KC_6, DE_HASH,
|
KC_SPC, DE_1, DE_2, DE_HASH, DE_4, DE_5, DE_6, DE_HASH,
|
||||||
/* ( ) * + , - . / */
|
// ( ) * + , - . /
|
||||||
KC_8, KC_9, DE_PLUS, DE_PLUS, KC_COMM, DE_MINS, KC_DOT, KC_7,
|
DE_8, DE_9, DE_PLUS, DE_PLUS, DE_COMM, DE_MINS, DE_DOT, DE_7,
|
||||||
/* 0 1 2 3 4 5 6 7 */
|
// 0 1 2 3 4 5 6 7
|
||||||
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7,
|
||||||
/* 8 9 : ; < = > ? */
|
// 8 9 : ; < = > ?
|
||||||
KC_8, KC_9, KC_DOT, KC_COMM, DE_LESS, KC_0, DE_LESS, KC_MINS,
|
DE_8, DE_9, DE_DOT, DE_COMM, DE_LESS, DE_0, DE_LESS, DE_SS,
|
||||||
/* @ A B C D E F G */
|
// @ A B C D E F G
|
||||||
KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
DE_Q, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G,
|
||||||
/* H I J K L M N O */
|
// H I J K L M N O
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O,
|
||||||
/* P Q R S T U V W */
|
// P Q R S T U V W
|
||||||
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W,
|
||||||
/* X Y Z [ \ ] ^ _ */
|
// X Y Z [ \ ] ^ _
|
||||||
KC_X, DE_Y, DE_Z, KC_LBRC, KC_BSLS, KC_RBRC, DE_CIRC, DE_MINS,
|
DE_X, DE_Y, DE_Z, DE_8, DE_SS, DE_9, DE_CIRC, DE_MINS,
|
||||||
/* ` a b c d e f g */
|
// ` a b c d e f g
|
||||||
DE_ACUT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
DE_ACUT, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G,
|
||||||
/* h i j k l m n o */
|
// h i j k l m n o
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O,
|
||||||
/* p q r s t u v w */
|
// p q r s t u v w
|
||||||
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W,
|
||||||
/* x y z { | } ~ DELETE */
|
// x y z { | } ~ DEL
|
||||||
KC_X, DE_Y, DE_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
DE_X, DE_Y, DE_Z, DE_7, DE_LESS, DE_0, DE_PLUS, KC_DEL
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -13,15 +13,19 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/* Sendstring definitions for the JIS keyboard layout */
|
|
||||||
#ifndef SENDSTRING_JIS
|
|
||||||
#define SENDSTRING_JIS
|
|
||||||
|
|
||||||
const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
// Sendstring lookup tables for JIS layouts
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "keymap_jp.h"
|
||||||
|
|
||||||
|
const bool ascii_to_shift_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
|
||||||
0, 1, 1, 1, 1, 1, 1, 1,
|
0, 1, 1, 1, 1, 1, 1, 1,
|
||||||
1, 1, 1, 1, 0, 0, 0, 0,
|
1, 1, 1, 1, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -36,23 +40,38 @@ const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
||||||
0, 0, 0, 1, 1, 1, 1, 0
|
0, 0, 0, 1, 1, 1, 1, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// BS TAB LF VT FF CR SO SI
|
||||||
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
KC_8, KC_9, KC_QUOT, KC_SCLN, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
// CAN EM SUB ESC FS GS RS US
|
||||||
KC_8, KC_9, KC_QUOT, KC_SCLN, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_LBRC, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
|
||||||
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
|
||||||
KC_X, KC_Y, KC_Z, KC_RBRC, KC_JYEN, KC_BSLS, KC_EQL, KC_RO,
|
|
||||||
KC_LBRC, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
|
||||||
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
|
||||||
KC_X, KC_Y, KC_Z, KC_RBRC, KC_JYEN, KC_BSLS, KC_EQL, KC_DEL,
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
// ! " # $ % & '
|
||||||
|
KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
||||||
|
// ( ) * + , - . /
|
||||||
|
KC_8, KC_9, JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT, JP_SLSH,
|
||||||
|
// 0 1 2 3 4 5 6 7
|
||||||
|
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
||||||
|
// 8 9 : ; < = > ?
|
||||||
|
KC_8, KC_9, JP_COLN, JP_SCLN, JP_COMM, JP_MINS, JP_DOT, JP_SLSH,
|
||||||
|
// @ A B C D E F G
|
||||||
|
JP_AT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||||
|
// H I J K L M N O
|
||||||
|
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
||||||
|
// P Q R S T U V W
|
||||||
|
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
||||||
|
// X Y Z [ \ ] ^ _
|
||||||
|
KC_X, KC_Y, KC_Z, JP_LBRC, JP_BSLS, JP_RBRC, JP_CIRC, JP_BSLS,
|
||||||
|
// ` a b c d e f g
|
||||||
|
JP_AT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||||
|
// h i j k l m n o
|
||||||
|
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
||||||
|
// p q r s t u v w
|
||||||
|
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
||||||
|
// x y z { | } ~ DEL
|
||||||
|
KC_X, KC_Y, KC_Z, JP_LBRC, JP_YEN, JP_RBRC, JP_CIRC, KC_DEL
|
||||||
|
};
|
||||||
|
|
|
@ -13,27 +13,45 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/* Sendstring definitions for the Colemak layout */
|
|
||||||
|
// Sendstring lookup tables for Norman layouts
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "keymap_norman.h"
|
#include "keymap_norman.h"
|
||||||
|
|
||||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// BS TAB LF VT FF CR SO SI
|
||||||
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
// CAN EM SUB ESC FS GS RS US
|
||||||
KC_8, KC_9, NM_SCLN, NM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_2, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
|
|
||||||
NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
|
|
||||||
NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
|
|
||||||
NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
|
|
||||||
KC_GRV, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
|
|
||||||
NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
|
|
||||||
NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
|
|
||||||
NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
|
||||||
};
|
|
||||||
|
|
||||||
|
// ! " # $ % & '
|
||||||
|
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
|
||||||
|
// ( ) * + , - . /
|
||||||
|
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
|
||||||
|
// 0 1 2 3 4 5 6 7
|
||||||
|
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
||||||
|
// 8 9 : ; < = > ?
|
||||||
|
KC_8, KC_9, NM_SCLN, NM_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
|
||||||
|
// @ A B C D E F G
|
||||||
|
KC_2, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
|
||||||
|
// H I J K L M N O
|
||||||
|
NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
|
||||||
|
// P Q R S T U V W
|
||||||
|
NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
|
||||||
|
// X Y Z [ \ ] ^ _
|
||||||
|
NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
|
||||||
|
// ` a b c d e f g
|
||||||
|
KC_GRV, NM_A, NM_B, NM_C, NM_D, NM_E, NM_F, NM_G,
|
||||||
|
// h i j k l m n o
|
||||||
|
NM_H, NM_I, NM_J, NM_K, NM_L, NM_M, NM_N, NM_O,
|
||||||
|
// p q r s t u v w
|
||||||
|
NM_P, NM_Q, NM_R, NM_S, NM_T, NM_U, NM_V, NM_W,
|
||||||
|
// x y z { | } ~ DEL
|
||||||
|
NM_X, NM_Y, NM_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
||||||
|
};
|
||||||
|
|
|
@ -13,59 +13,85 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/* Sendstring definitions for the Spanish layout */
|
|
||||||
#ifndef SENDSTRING_SPANISH
|
// Sendstring lookup tables for Spanish layouts
|
||||||
#define SENDSTRING_SPANISH
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "keymap_spanish.h"
|
#include "keymap_spanish.h"
|
||||||
|
|
||||||
const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
const bool ascii_to_shift_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
|
||||||
0, 1, 1, 1, 1, 1, 1, 0,
|
0, 1, 1, 0, 1, 1, 1, 0,
|
||||||
1, 1, 1, 0, 0, 0, 0, 1,
|
1, 1, 1, 0, 0, 0, 0, 1,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
|
||||||
0, 0, 1, 1, 0, 1, 1, 1,
|
0, 0, 1, 1, 0, 1, 1, 1,
|
||||||
|
0, 1, 1, 1, 1, 1, 1, 1,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1,
|
|
||||||
|
|
||||||
1, 1, 1, 0, 0, 0, 1, 1,
|
1, 1, 1, 0, 0, 0, 1, 1,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
const bool ascii_to_altgr_lut[128] PROGMEM = {
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
|
||||||
|
0, 0, 0, 1, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
1, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 1, 1, 1, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 1, 1, 1, 1, 0
|
0, 0, 0, 1, 1, 1, 1, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Until an ALT table/functionality is added, the following symbols will not work:
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
# @ [ ] { } | ~
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
*/
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
// BS TAB LF VT FF CR SO SI
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
// CAN EM SUB ESC FS GS RS US
|
||||||
/* , ! " # $ % & ' */
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, ES_APOS,
|
|
||||||
/* ( ) * + , - . / */
|
|
||||||
KC_8, KC_9, ES_PLUS, ES_PLUS, KC_COMM, ES_MINS, KC_DOT, KC_7,
|
|
||||||
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
|
||||||
/* 8 9 : ; < = > ? */
|
|
||||||
KC_8, KC_9, KC_DOT, KC_COMM, KC_NUBS, KC_0, KC_NUBS, ES_APOS,
|
|
||||||
/* @ A B C D E F G */
|
|
||||||
KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
|
||||||
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
|
||||||
/* X Y Z [ \ ] ^ _ */
|
|
||||||
KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, ES_GRV, ES_MINS,
|
|
||||||
ES_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
|
||||||
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
|
||||||
KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
// ! " # $ % & '
|
||||||
|
KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, ES_APOS,
|
||||||
|
// ( ) * + , - . /
|
||||||
|
KC_8, KC_9, ES_PLUS, ES_PLUS, KC_COMM, ES_MINS, KC_DOT, KC_7,
|
||||||
|
// 0 1 2 3 4 5 6 7
|
||||||
|
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
||||||
|
// 8 9 : ; < = > ?
|
||||||
|
KC_8, KC_9, KC_DOT, KC_COMM, ES_LESS, KC_0, ES_LESS, ES_APOS,
|
||||||
|
// @ A B C D E F G
|
||||||
|
KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||||
|
// H I J K L M N O
|
||||||
|
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
||||||
|
// P Q R S T U V W
|
||||||
|
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
||||||
|
// X Y Z [ \ ] ^ _
|
||||||
|
KC_X, KC_Y, KC_Z, ES_GRV, ES_OVRR, ES_PLUS, ES_GRV, ES_MINS,
|
||||||
|
// ` a b c d e f g
|
||||||
|
ES_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||||
|
// h i j k l m n o
|
||||||
|
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
||||||
|
// p q r s t u v w
|
||||||
|
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
||||||
|
// x y z { | } ~ DEL
|
||||||
|
KC_X, KC_Y, KC_Z, ES_ACUT, KC_1, ES_CCED, ES_NTIL, KC_DEL
|
||||||
|
};
|
||||||
|
|
|
@ -14,12 +14,13 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* SEND_STRING() LUTs for UK layouts */
|
// Sendstring lookup tables for UK layouts
|
||||||
|
|
||||||
#ifndef SENDSTRING_UK
|
#pragma once
|
||||||
#define SENDSTRING_UK
|
|
||||||
|
|
||||||
const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
#include "keymap_uk.h"
|
||||||
|
|
||||||
|
const bool ascii_to_shift_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -39,24 +40,38 @@ const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
||||||
0, 0, 0, 1, 1, 1, 1, 0
|
0, 0, 0, 1, 1, 1, 1, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// BS TAB LF VT FF CR SO SI
|
||||||
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
// CAN EM SUB ESC FS GS RS US
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
|
||||||
KC_SPC, KC_1, KC_2, KC_NUHS, KC_4, KC_5, KC_7, KC_QUOT,
|
// ! " # $ % & '
|
||||||
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
|
UK_SPC, UK_1, UK_2, UK_HASH, UK_4, UK_5, UK_7, UK_QUOT,
|
||||||
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
// ( ) * + , - . /
|
||||||
KC_8, KC_9, KC_SCLN, KC_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
|
UK_9, UK_0, UK_8, UK_EQL, UK_COMM, UK_MINS, UK_DOT, UK_SLSH,
|
||||||
KC_QUOT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
// 0 1 2 3 4 5 6 7
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
UK_0, UK_1, UK_2, UK_3, UK_4, UK_5, UK_6, UK_7,
|
||||||
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
// 8 9 : ; < = > ?
|
||||||
KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
|
UK_8, UK_9, UK_SCLN, UK_SCLN, UK_COMM, UK_EQL, UK_DOT, UK_SLSH,
|
||||||
KC_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
// @ A B C D E F G
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
UK_QUOT, UK_A, UK_B, UK_C, UK_D, UK_E, UK_F, UK_G,
|
||||||
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
// H I J K L M N O
|
||||||
KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
UK_H, UK_I, UK_J, UK_K, UK_L, UK_M, UK_N, UK_O,
|
||||||
|
// P Q R S T U V W
|
||||||
|
UK_P, UK_Q, UK_R, UK_S, UK_T, UK_U, UK_V, UK_W,
|
||||||
|
// X Y Z [ \ ] ^ _
|
||||||
|
UK_X, UK_Y, UK_Z, UK_LBRC, UK_BSLS, UK_RBRC, UK_6, UK_MINS,
|
||||||
|
// ` a b c d e f g
|
||||||
|
UK_GRV, UK_A, UK_B, UK_C, UK_D, UK_E, UK_F, UK_G,
|
||||||
|
// h i j k l m n o
|
||||||
|
UK_H, UK_I, UK_J, UK_K, UK_L, UK_M, UK_N, UK_O,
|
||||||
|
// p q r s t u v w
|
||||||
|
UK_P, UK_Q, UK_R, UK_S, UK_T, UK_U, UK_V, UK_W,
|
||||||
|
// x y z { | } ~ DEL
|
||||||
|
UK_X, UK_Y, UK_Z, UK_LBRC, UK_BSLS, UK_RBRC, UK_HASH, KC_DEL
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -13,29 +13,45 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/* Sendstring definitions for the Workman layout */
|
|
||||||
#ifndef SENDSTRING_WORKMAN
|
// Sendstring lookup tables for Workman layouts
|
||||||
#define SENDSTRING_WORKMAN
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#include "keymap_workman.h"
|
#include "keymap_workman.h"
|
||||||
|
|
||||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// BS TAB LF VT FF CR SO SI
|
||||||
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
// CAN EM SUB ESC FS GS RS US
|
||||||
KC_8, KC_9, KC_SCLN, KC_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_2, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G,
|
|
||||||
WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O,
|
|
||||||
WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W,
|
|
||||||
WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
|
|
||||||
KC_GRV, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G,
|
|
||||||
WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O,
|
|
||||||
WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W,
|
|
||||||
WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
// ! " # $ % & '
|
||||||
|
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
|
||||||
|
// ( ) * + , - . /
|
||||||
|
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
|
||||||
|
// 0 1 2 3 4 5 6 7
|
||||||
|
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
||||||
|
// 8 9 : ; < = > ?
|
||||||
|
KC_8, KC_9, KC_SCLN, KC_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
|
||||||
|
// @ A B C D E F G
|
||||||
|
KC_2, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G,
|
||||||
|
// H I J K L M N O
|
||||||
|
WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O,
|
||||||
|
// P Q R S T U V W
|
||||||
|
WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W,
|
||||||
|
// X Y Z [ \ ] ^ _
|
||||||
|
WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
|
||||||
|
// ` a b c d e f g
|
||||||
|
KC_GRV, WK_A, WK_B, WK_C, WK_D, WK_E, WK_F, WK_G,
|
||||||
|
// h i j k l m n o
|
||||||
|
WK_H, WK_I, WK_J, WK_K, WK_L, WK_M, WK_N, WK_O,
|
||||||
|
// p q r s t u v w
|
||||||
|
WK_P, WK_Q, WK_R, WK_S, WK_T, WK_U, WK_V, WK_W,
|
||||||
|
// x y z { | } ~ DEL
|
||||||
|
WK_X, WK_Y, WK_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
||||||
|
};
|
||||||
|
|
|
@ -719,11 +719,12 @@ bool process_record_quantum(keyrecord_t *record) {
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__ ((weak))
|
__attribute__ ((weak))
|
||||||
const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
const bool ascii_to_shift_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
|
||||||
0, 1, 1, 1, 1, 1, 1, 0,
|
0, 1, 1, 1, 1, 1, 1, 0,
|
||||||
1, 1, 1, 1, 0, 0, 0, 0,
|
1, 1, 1, 1, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -739,11 +740,12 @@ const bool ascii_to_shift_lut[0x80] PROGMEM = {
|
||||||
};
|
};
|
||||||
|
|
||||||
__attribute__ ((weak))
|
__attribute__ ((weak))
|
||||||
const bool ascii_to_altgr_lut[0x80] PROGMEM = {
|
const bool ascii_to_altgr_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -759,23 +761,40 @@ const bool ascii_to_altgr_lut[0x80] PROGMEM = {
|
||||||
};
|
};
|
||||||
|
|
||||||
__attribute__ ((weak))
|
__attribute__ ((weak))
|
||||||
const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
|
const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// NUL SOH STX ETX EOT ENQ ACK BEL
|
||||||
KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
// BS TAB LF VT FF CR SO SI
|
||||||
0, 0, 0, KC_ESC, 0, 0, 0, 0,
|
KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
|
// DLE DC1 DC2 DC3 DC4 NAK SYN ETB
|
||||||
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
// CAN EM SUB ESC FS GS RS US
|
||||||
KC_8, KC_9, KC_SCLN, KC_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
|
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
// ! " # $ % & '
|
||||||
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
KC_SPC, KC_1, KC_QUOT, KC_3, KC_4, KC_5, KC_7, KC_QUOT,
|
||||||
KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
|
// ( ) * + , - . /
|
||||||
KC_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
KC_9, KC_0, KC_8, KC_EQL, KC_COMM, KC_MINS, KC_DOT, KC_SLSH,
|
||||||
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
// 0 1 2 3 4 5 6 7
|
||||||
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
|
||||||
KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
// 8 9 : ; < = > ?
|
||||||
|
KC_8, KC_9, KC_SCLN, KC_SCLN, KC_COMM, KC_EQL, KC_DOT, KC_SLSH,
|
||||||
|
// @ A B C D E F G
|
||||||
|
KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||||
|
// H I J K L M N O
|
||||||
|
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
||||||
|
// P Q R S T U V W
|
||||||
|
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
||||||
|
// X Y Z [ \ ] ^ _
|
||||||
|
KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_6, KC_MINS,
|
||||||
|
// ` a b c d e f g
|
||||||
|
KC_GRV, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
|
||||||
|
// h i j k l m n o
|
||||||
|
KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
|
||||||
|
// p q r s t u v w
|
||||||
|
KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
|
||||||
|
// x y z { | } ~ DEL
|
||||||
|
KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
|
||||||
};
|
};
|
||||||
|
|
||||||
void send_string(const char *str) {
|
void send_string(const char *str) {
|
||||||
|
|
|
@ -201,9 +201,9 @@ extern layer_state_t default_layer_state;
|
||||||
|
|
||||||
#define SEND_STRING(string) send_string_P(PSTR(string))
|
#define SEND_STRING(string) send_string_P(PSTR(string))
|
||||||
|
|
||||||
extern const bool ascii_to_shift_lut[0x80];
|
extern const bool ascii_to_shift_lut[128];
|
||||||
extern const bool ascii_to_altgr_lut[0x80];
|
extern const bool ascii_to_altgr_lut[128];
|
||||||
extern const uint8_t ascii_to_keycode_lut[0x80];
|
extern const uint8_t ascii_to_keycode_lut[128];
|
||||||
|
|
||||||
void send_string(const char *str);
|
void send_string(const char *str);
|
||||||
void send_string_with_delay(const char *str, uint8_t interval);
|
void send_string_with_delay(const char *str, uint8_t interval);
|
||||||
|
|
Loading…
Reference in New Issue