Added Workman ZXCVM variation (#8686)

* Added Workman ZXCVM variation

* Update quantum/keymap_extras/keymap_workman_zxcvm.h

Co-Authored-By: Konstantin Đorđević <vomindoraan@gmail.com>

* Update quantum/keymap_extras/sendstring_workman_zxcvm.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_workman_zxcvm.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/keymap_workman_zxcvm.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Update quantum/keymap_extras/sendstring_workman_zxcvm.h

Co-Authored-By: Ryan <fauxpark@gmail.com>

Co-authored-by: Konstantin Đorđević <vomindoraan@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
artjomsR 2020-04-12 18:37:17 +01:00 committed by GitHub
parent 8a5c1e1859
commit 23f19852b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 184 additions and 0 deletions

View file

@ -0,0 +1,125 @@
/* Copyright 2018 Jacob Jerrell
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "keymap.h"
// clang-format off
/*
*
*  `  1  2  3  4  5  6  7  8  9  0  -  =        
*
*       Q  D  R  W  B  J  F  U  P  ;  [  ]   \  
*
*        A  S  H  T  G  Y  N  E  O  I  '         
*
*          Z  X  C  V  M  K  L  ,  .  /           
*
*                                                     
*
*/
// Row 1
#define WK_GRV KC_GRV // `
#define WK_1 KC_1 // 1
#define WK_2 KC_2 // 2
#define WK_3 KC_3 // 3
#define WK_4 KC_4 // 4
#define WK_5 KC_5 // 5
#define WK_6 KC_6 // 6
#define WK_7 KC_7 // 7
#define WK_8 KC_8 // 8
#define WK_9 KC_9 // 9
#define WK_0 KC_0 // 0
#define WK_MINS KC_MINS // -
#define WK_EQL KC_EQL // =
// Row 2
#define WK_Q KC_Q // Q
#define WK_D KC_W // D
#define WK_R KC_E // R
#define WK_W KC_R // W
#define WK_B KC_T // B
#define WK_J KC_Y // J
#define WK_F KC_U // F
#define WK_U KC_I // U
#define WK_P KC_O // P
#define WK_SCLN KC_P // ;
#define WK_LBRC KC_LBRC // [
#define WK_RBRC KC_RBRC // ]
#define WK_BSLS KC_BSLS // (backslash)
// Row 3
#define WK_A KC_A // A
#define WK_S KC_S // S
#define WK_H KC_D // H
#define WK_T KC_F // T
#define WK_G KC_G // G
#define WK_Y KC_H // Y
#define WK_N KC_J // N
#define WK_E KC_K // E
#define WK_O KC_L // O
#define WK_I KC_SCLN // I
#define WK_QUOT KC_QUOT // '
// Row 4
#define WK_Z KC_Z // Z
#define WK_X KC_X // X
#define WK_C KC_C // C
#define WK_V KC_V // V
#define WK_M KC_B // M
#define WK_K KC_N // K
#define WK_L KC_M // L
#define WK_COMM KC_COMM // ,
#define WK_DOT KC_DOT // .
#define WK_SLSH KC_SLSH // /
/* Shifted symbols
*
*  ~  !  @  #  $  %  ^  &  *  (  )  _  +        
*
*                                  :  {  }   |  
*
*                                      " │        │
*
*                               <  >  ?           
*
*                                                     
*
*/
// Row 1
#define WK_TILD S(WK_GRV) // ~
#define WK_EXLM S(WK_1) // !
#define WK_AT S(WK_2) // @
#define WK_HASH S(WK_3) // #
#define WK_DLR S(WK_4) // $
#define WK_PERC S(WK_5) // %
#define WK_CIRC S(WK_6) // ^
#define WK_AMPR S(WK_7) // &
#define WK_ASTR S(WK_8) // *
#define WK_LPRN S(WK_9) // (
#define WK_RPRN S(WK_0) // )
#define WK_UNDS S(WK_MINS) // _
#define WK_PLUS S(WK_EQL) // +
// Row 2
#define WK_COLN S(WK_SCLN) // :
#define WK_LCBR S(WK_LBRC) // {
#define WK_RCBR S(WK_RBRC) // }
#define WK_PIPE S(WK_BSLS) // |
// Row 3
#define WK_DQUO S(WK_QUOT) // "
// Row 4
#define WK_LABK S(WK_COMM) // <
#define WK_RABK S(WK_DOT) // >
#define WK_QUES S(WK_SLSH) // ?

View file

@ -0,0 +1,59 @@
/* Copyright 2018 Jacob Jerrell
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// Sendstring lookup tables for Workman ZXCVM layouts
#pragma once
#include "keymap_workman_zxcvm.h"
// clang-format off
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, WK_1, WK_QUOT, WK_3, WK_4, WK_5, WK_7, WK_QUOT,
// ( ) * + , - . /
WK_9, WK_0, WK_8, WK_EQL, WK_COMM, WK_MINS, WK_DOT, WK_SLSH,
// 0 1 2 3 4 5 6 7
WK_0, WK_1, WK_2, WK_3, WK_4, WK_5, WK_6, WK_7,
// 8 9 : ; < = > ?
WK_8, WK_9, WK_SCLN, WK_SCLN, WK_COMM, WK_EQL, WK_DOT, WK_SLSH,
// @ A B C D E F G
WK_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, WK_LBRC, WK_BSLS, WK_RBRC, WK_6, WK_MINS,
// ` a b c d e f g
WK_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, WK_LBRC, WK_BSLS, WK_RBRC, WK_GRV, KC_DEL
};