lemp9: Added ISO keyboard layouts (#117)
* LAYOUT_ISO: Conversion of physical ISO layout to keyboard matrix * fixing interchanged backslash and enter * default_iso layout added for Clevo L141CU * fabian layout (ISO, colemak, fn<->ctrl, wide left shift) * Caps is control * hardware side: qwerty instead of colemak * lemp9 fabian: FN+PgUp=Home, FN+PgDn=Eend, FN+LeftShift=KBD_BKL * lemp9 default_iso: FN+PgUp=Home, FN+PgDn=End * clevo_l141cu_us_iso.c * merged * FN+1=K_FAN_TOGGLE
This commit is contained in:
parent
d35e375277
commit
6a081cc1b8
@ -13,7 +13,7 @@
|
||||
// common/keymap.h requires KM_LAY, KM_OUT, and KM_IN definitions
|
||||
#include <common/keymap.h>
|
||||
|
||||
// Conversion of physical layout to keyboard matrix
|
||||
// Conversion of physical ANSI layout to keyboard matrix
|
||||
#define LAYOUT( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
@ -41,6 +41,34 @@
|
||||
{ ___, ___, K3C, ___, K61, K0C, ___, K59 } \
|
||||
}
|
||||
|
||||
// Conversion of physical ISO layout to keyboard matrix
|
||||
#define LAYOUT_ISO( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
|
||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, \
|
||||
K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, \
|
||||
K60, K61, K62 \
|
||||
) { \
|
||||
{ ___, ___, ___, ___, ___, ___, K52, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, K50, K56 }, \
|
||||
{ ___, ___, ___, ___, ___, ___, K53, K55 }, \
|
||||
{ ___, ___, ___, ___, ___, ___, K40, K4C }, \
|
||||
{ K43, K42, K30, K31, K20, ___, K54, K21 }, \
|
||||
{ K45, K44, ___, K33, ___, ___, ___, K23 }, \
|
||||
{ K51, K46, K34, K35, K24, K25, ___, ___ }, \
|
||||
{ ___, K47, K36, K26, K12, K11, K10, K00 }, \
|
||||
{ K28, K48, K27, K15, K14, K13, K02, K01 }, \
|
||||
{ K22, K37, K38, ___, K17, K16, K04, K03 }, \
|
||||
{ K32, K49, K39, K29, K19, K18, K06, K05 }, \
|
||||
{ ___, K58, K4A, K3A, K2A, K1A, K08, K07 }, \
|
||||
{ ___, K41, K4B, K3B, K2B, K1B, K0A, K09 }, \
|
||||
{ K3C, ___, K0D, K2C, K1C, K62, K0E, K0B }, \
|
||||
{ ___, ___, K60, K1D, K57, K0F, ___, K0G }, \
|
||||
{ ___, ___, K2D, ___, K61, K0C, ___, K59 } \
|
||||
}
|
||||
|
||||
// Position of physical Esc key in the matrix
|
||||
#define MATRIX_ESC_INPUT 7
|
||||
#define MATRIX_ESC_OUTPUT 7
|
||||
|
29
src/board/system76/lemp9/keymap/clevo_l141cu_us_iso.c
Normal file
29
src/board/system76/lemp9/keymap/clevo_l141cu_us_iso.c
Normal file
@ -0,0 +1,29 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
// Clevo L141CU US ISO layout by @fabiant7t
|
||||
// Picture: https://drive.google.com/file/d/1vTJvdfl9tf2Iwb6hkmsUwGBCVZ9lmouv/view?usp=sharing
|
||||
|
||||
#include <board/keymap.h>
|
||||
|
||||
uint16_t __code KEYMAP[KM_LAY][KM_OUT][KM_IN] = {
|
||||
// TODO: K0E=K_PAUSE (once defined in src/common/include/common/keymap.h)
|
||||
LAYOUT_ISO(
|
||||
K_ESC, K_F1, K_F2, K_F3, K_F4, K_F5, K_F6, K_F7, K_F8, K_F9, K_F10, K_F11, K_F12, K_PRINT_SCREEN, K_PLAY_PAUSE, K_INSERT, K_DEL,
|
||||
K_TICK, K_1, K_2, K_3, K_4, K_5, K_6, K_7, K_8, K_9, K_0, K_MINUS, K_EQUALS, K_BKSP,
|
||||
K_TAB, K_Q, K_W, K_E, K_R, K_T, K_Y, K_U, K_I, K_O, K_P, K_BRACE_OPEN, K_BRACE_CLOSE, K_ENTER,
|
||||
K_CAPS, K_A, K_S, K_D, K_F, K_G, K_H, K_J, K_K, K_L, K_SEMICOLON, K_QUOTE, K_BACKSLASH,
|
||||
K_LEFT_SHIFT, K_BACKSLASH, K_Z, K_X, K_C, K_V, K_B, K_N, K_M, K_COMMA, K_PERIOD, K_SLASH, K_RIGHT_SHIFT,
|
||||
K_LEFT_CTRL, KT_FN, K_LEFT_SUPER, K_LEFT_ALT, K_SPACE, K_RIGHT_ALT, K_RIGHT_CTRL, K_PGUP, K_UP, K_PGDN,
|
||||
K_LEFT, K_DOWN, K_RIGHT
|
||||
),
|
||||
// TODO: K0D=K_SYS_RQ, K0E=K_BREAK, K0G=K_SCROLL_LOCK (once defined in src/common/include/common/keymap.h)
|
||||
LAYOUT_ISO(
|
||||
K_ESC, K_TOUCHPAD, K_DISPLAY_TOGGLE, K_MUTE, K_KBD_BKL, K_VOLUME_DOWN, K_VOLUME_UP, K_DISPLAY_MODE, K_BRIGHTNESS_DOWN, K_BRIGHTNESS_UP, K_CAMERA_TOGGLE, K_AIRPLANE_MODE, K_SUSPEND, K_PRINT_SCREEN, K_PLAY_PAUSE, K_NUM_LOCK, K_DEL,
|
||||
K_PLAY_PAUSE, K_FAN_TOGGLE, K_2, K_3, K_4, K_5, K_6, K_NUM_7, K_NUM_8, K_NUM_9, K_NUM_ASTERISK, K_MINUS, K_EQUALS, K_BKSP,
|
||||
K_TAB, K_Q, K_W, K_E, K_R, K_T, K_Y, K_NUM_4, K_NUM_5, K_NUM_6, K_NUM_SLASH, K_BRACE_OPEN, K_BRACE_CLOSE, K_ENTER,
|
||||
K_CAPS, K_A, K_S, K_D, K_F, K_G, K_H, K_NUM_1, K_NUM_2, K_NUM_3, K_NUM_MINUS, K_QUOTE, K_BACKSLASH,
|
||||
K_LEFT_SHIFT, K_BACKSLASH, K_Z, K_X, K_C, K_V, K_B, K_N, K_NUM_0, K_COMMA, K_NUM_PERIOD, K_NUM_PLUS, K_RIGHT_SHIFT,
|
||||
K_LEFT_CTRL, KT_FN, K_LEFT_SUPER, K_LEFT_ALT, K_SPACE, K_RIGHT_ALT, K_APP, K_HOME, K_UP, K_END,
|
||||
K_LEFT, K_DOWN, K_RIGHT
|
||||
)
|
||||
};
|
32
src/board/system76/lemp9/keymap/fabian.c
Normal file
32
src/board/system76/lemp9/keymap/fabian.c
Normal file
@ -0,0 +1,32 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
// # Fabian ISO layout
|
||||
// Swapped FN and LEFT_CTRL (like on Thinkpads and Macbooks)
|
||||
// Key right of left shift is shift (ANSI like, less strain)
|
||||
// CapsLock is control
|
||||
// FN + LEFT_SHIFT is keyboard backlight (in the dark, you don't want to search F4)
|
||||
|
||||
#include <board/keymap.h>
|
||||
|
||||
uint16_t __code KEYMAP[KM_LAY][KM_OUT][KM_IN] = {
|
||||
// TODO: K0E=K_PAUSE (once defined in src/common/include/common/keymap.h)
|
||||
LAYOUT_ISO(
|
||||
K_ESC, K_F1, K_F2, K_F3, K_F4, K_F5, K_F6, K_F7, K_F8, K_F9, K_F10, K_F11, K_F12, K_PRINT_SCREEN, K_PLAY_PAUSE, K_INSERT, K_DEL,
|
||||
K_TICK, K_1, K_2, K_3, K_4, K_5, K_6, K_7, K_8, K_9, K_0, K_MINUS, K_EQUALS, K_BKSP,
|
||||
K_TAB, K_Q, K_W, K_E, K_R, K_T, K_Y, K_U, K_I, K_O, K_P, K_BRACE_OPEN, K_BRACE_CLOSE, K_ENTER,
|
||||
K_LEFT_CTRL, K_A, K_S, K_D, K_F, K_G, K_H, K_J, K_K, K_L, K_SEMICOLON, K_QUOTE, K_BACKSLASH,
|
||||
K_LEFT_SHIFT, K_LEFT_SHIFT, K_Z, K_X, K_C, K_V, K_B, K_N, K_M, K_COMMA, K_PERIOD, K_SLASH, K_RIGHT_SHIFT,
|
||||
KT_FN, K_LEFT_CTRL, K_LEFT_SUPER, K_LEFT_ALT, K_SPACE, K_RIGHT_ALT, K_RIGHT_CTRL, K_PGUP, K_UP, K_PGDN,
|
||||
K_LEFT, K_DOWN, K_RIGHT
|
||||
),
|
||||
// TODO: K0D=K_SYS_RQ, K0E=K_BREAK, K0G=K_SCROLL_LOCK (once defined in src/common/include/common/keymap.h)
|
||||
LAYOUT_ISO(
|
||||
K_ESC, K_TOUCHPAD, K_DISPLAY_TOGGLE, K_MUTE, K_KBD_BKL, K_VOLUME_DOWN, K_VOLUME_UP, K_DISPLAY_MODE, K_BRIGHTNESS_DOWN, K_BRIGHTNESS_UP, K_CAMERA_TOGGLE, K_AIRPLANE_MODE, K_SUSPEND, K_PRINT_SCREEN, K_PLAY_PAUSE, K_NUM_LOCK, K_DEL,
|
||||
K_PLAY_PAUSE, K_FAN_TOGGLE, K_2, K_3, K_4, K_5, K_6, K_NUM_7, K_NUM_8, K_NUM_9, K_NUM_ASTERISK, K_MINUS, K_EQUALS, K_BKSP,
|
||||
K_TAB, K_Q, K_W, K_E, K_R, K_T, K_Y, K_NUM_4, K_NUM_5, K_NUM_6, K_NUM_SLASH, K_BRACE_OPEN, K_BRACE_CLOSE, K_ENTER,
|
||||
K_LEFT_CTRL, K_A, K_S, K_D, K_F, K_G, K_H, K_NUM_1, K_NUM_2, K_NUM_3, K_NUM_MINUS, K_QUOTE, K_BACKSLASH,
|
||||
K_KBD_BKL, K_LEFT_SHIFT, K_Z, K_X, K_C, K_V, K_B, K_N, K_NUM_0, K_COMMA, K_NUM_PERIOD, K_NUM_PLUS, K_RIGHT_SHIFT,
|
||||
KT_FN, K_LEFT_CTRL, K_LEFT_SUPER, K_LEFT_ALT, K_SPACE, K_RIGHT_ALT, K_APP, K_HOME, K_UP, K_END,
|
||||
K_LEFT, K_DOWN, K_RIGHT
|
||||
)
|
||||
};
|
@ -167,7 +167,7 @@ uint16_t keymap_translate(uint16_t key);
|
||||
// Escape key
|
||||
#define K_ESC (0x76)
|
||||
|
||||
//TODO: Print screen, scroll lock, pause
|
||||
//TODO: Print screen, scroll lock, pause, sys request, break
|
||||
|
||||
// Tick/tilde key
|
||||
#define K_TICK (0x0E)
|
||||
|
Loading…
x
Reference in New Issue
Block a user