From 3b390bbcecc314a6e602726558c60f1f03109dec Mon Sep 17 00:00:00 2001 From: Christian Tacke Date: Mon, 20 Jan 2020 00:24:45 +0100 Subject: [PATCH 1/2] Add SK650 device without NUM block --- README.md | 1 + include/libcmmk/libcmmk.h | 4 ++++ src/keymap_eu.h | 29 +++++++++++++++++++++++++++++ src/keymap_us.h | 10 ++++++++++ src/libcmmk.c | 11 ++++++++++- 5 files changed, 54 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5ffd509..b25a672 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ The currently supported and known to work devices include: * MasterKeys Pro S, (US only) * MasterKeys MK750, (US / EU / German only) * MasterKeys SK630, (EU only) + * MasterKeys SK650, (EU only) In theory (and as a goal), this library should support any RGB (and in the future possibly monocolor) MasterKeys keyboards. Gaps in device support are currently a result of a lack of test devices. See diff --git a/include/libcmmk/libcmmk.h b/include/libcmmk/libcmmk.h index da64be6..4de7254 100644 --- a/include/libcmmk/libcmmk.h +++ b/include/libcmmk/libcmmk.h @@ -64,6 +64,7 @@ enum cmmk_product { CMMK_USB_MASTERKEYS_PRO_S = 0x003c, CMMK_USB_MASTERKEYS_MK750 = 0x0067, CMMK_USB_MASTERKEYS_SK630 = 0x0089, + CMMK_USB_MASTERKEYS_SK650 = 0x008d, }; /* @@ -74,10 +75,12 @@ enum cmmk_layout { CMMK_LAYOUT_US_L, /* TODO */ CMMK_LAYOUT_US_MK750, /* TODO */ CMMK_LAYOUT_US_SK630, /* TODO */ + CMMK_LAYOUT_US_SK650, /* TODO */ CMMK_LAYOUT_EU_S, /* TODO */ CMMK_LAYOUT_EU_L, CMMK_LAYOUT_EU_MK750, CMMK_LAYOUT_EU_SK630, + CMMK_LAYOUT_EU_SK650, CMMK_LAYOUT_INVAL /* end marker */ }; @@ -150,6 +153,7 @@ enum cmmk_product_type { CMMK_PRODUCT_MASTERKEYS_PRO_S, CMMK_PRODUCT_MASTERKEYS_MK750, CMMK_PRODUCT_MASTERKEYS_SK630, + CMMK_PRODUCT_MASTERKEYS_SK650, }; diff --git a/src/keymap_eu.h b/src/keymap_eu.h index 9108c4e..6809e63 100644 --- a/src/keymap_eu.h +++ b/src/keymap_eu.h @@ -114,3 +114,32 @@ static keyboard_layout layout_eu_sk630 = { /* Bottom row does not exist */ {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}, }; + +static keyboard_layout layout_eu_sk650 = { + /* + ESC F1 F2 F3 F4 XXX F5 F6 F7 F8 XXX F9 F10 F11 F12 PRN SCL PAU MUT PLA REW FWD */ + { 9, 33, 41, 49, 57, -1, 73, 81, 89, 97, -1, 105, 113, 121, 129, 137, 145, 153, -1, -1, -1, -1}, + + /* + ^ 1 2 3 4 5 6 7 8 9 0 ß ´ XXX BCK INS HOM PUP #LCK #/ #* #- */ + {10, 26, 34, 42, 50, 58, 66, 74, 82, 90, 98, 106, 114, -1, 130, 138, 146, 154, -1, -1, -1, -1}, + + /* + TAB Q W E R T Z/Y U I O P Ü/[ +/] XXX ENT DEL END PDN #7 #8 #9 #+ */ + {11, 27, 35, 43, 51, 59, 67, 75, 83, 91, 99, 107, 115, -1, 132, 139, 147, 155, -1, -1, -1, -1}, + + /* + CAP A S D F G H J K L Ö/; Ä/' #/C42 XXX XXX XXX XXX XXX #4 #5 #6 XXX */ + {12, 28, 36, 44, 52, 60, 68, 76, 84, 92, 100, 108, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1}, + + /* + LSHFT Date: Wed, 22 Jan 2020 00:00:57 +0100 Subject: [PATCH 2/2] Full keymap keymap_eu.h aktualisiert --- src/keymap_eu.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/keymap_eu.h b/src/keymap_eu.h index 6809e63..8b8a219 100644 --- a/src/keymap_eu.h +++ b/src/keymap_eu.h @@ -122,23 +122,23 @@ static keyboard_layout layout_eu_sk650 = { /* ^ 1 2 3 4 5 6 7 8 9 0 ß ´ XXX BCK INS HOM PUP #LCK #/ #* #- */ - {10, 26, 34, 42, 50, 58, 66, 74, 82, 90, 98, 106, 114, -1, 130, 138, 146, 154, -1, -1, -1, -1}, + {10, 26, 34, 42, 50, 58, 66, 74, 82, 90, 98, 106, 114, -1, 130, 138, 146, 154, 162, 170, 178, 186}, /* TAB Q W E R T Z/Y U I O P Ü/[ +/] XXX ENT DEL END PDN #7 #8 #9 #+ */ - {11, 27, 35, 43, 51, 59, 67, 75, 83, 91, 99, 107, 115, -1, 132, 139, 147, 155, -1, -1, -1, -1}, + {11, 27, 35, 43, 51, 59, 67, 75, 83, 91, 99, 107, 115, -1, 132, 139, 147, 155, 163, 171, 179, 187}, /* CAP A S D F G H J K L Ö/; Ä/' #/C42 XXX XXX XXX XXX XXX #4 #5 #6 XXX */ - {12, 28, 36, 44, 52, 60, 68, 76, 84, 92, 100, 108, 124, -1, -1, -1, -1, -1, -1, -1, -1, -1}, + {12, 28, 36, 44, 52, 60, 68, 76, 84, 92, 100, 108, 124, -1, -1, -1, -1, -1, 164, 172, 180, -1}, /* LSHFT