mirror of
https://github.com/firewalkwithm3/qmk_firmware.git
synced 2024-11-22 11:30:30 +08:00
Update Programmer Dvorak keymap and add sendstring LUT (#8456)
* Update Programmer Dvorak keymap and add sendstring LUT * Include quantum.h
This commit is contained in:
parent
0dff26b550
commit
fc4ef6934d
|
@ -14,85 +14,112 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef KEYMAP_DVP_H
|
||||
#define KEYMAP_DVP_H
|
||||
#pragma once
|
||||
|
||||
#include "keymap.h"
|
||||
|
||||
// Normal characters
|
||||
#define DP_DLR KC_GRV
|
||||
#define DP_AMPR KC_1
|
||||
#define DP_LBRC KC_2
|
||||
#define DP_LCBR KC_3
|
||||
#define DP_RCBR KC_4
|
||||
#define DP_LPRN KC_5
|
||||
#define DP_EQL KC_6
|
||||
#define DP_ASTR KC_7
|
||||
#define DP_RPRN KC_8
|
||||
#define DP_PLUS KC_9
|
||||
#define DP_RBRC KC_0
|
||||
#define DP_EXLM KC_MINS
|
||||
#define DP_HASH KC_EQL
|
||||
// clang-format off
|
||||
|
||||
#define DP_SCLN KC_Q
|
||||
#define DP_COMM KC_W
|
||||
#define DP_DOT KC_E
|
||||
#define DP_P KC_R
|
||||
#define DP_Y KC_T
|
||||
#define DP_F KC_Y
|
||||
#define DP_G KC_U
|
||||
#define DP_C KC_I
|
||||
#define DP_R KC_O
|
||||
#define DP_L KC_P
|
||||
#define DP_SLSH KC_LBRC
|
||||
#define DP_AT KC_RBRC
|
||||
#define DP_BSLS KC_BSLS
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ $ │ & │ [ │ { │ } │ ( │ = │ * │ ) │ + │ ] │ ! │ # │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ ; │ , │ . │ P │ Y │ F │ G │ C │ R │ L │ / │ @ │ \ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ A │ O │ E │ U │ I │ D │ H │ T │ N │ S │ - │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ ' │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define DP_DLR KC_GRV // $
|
||||
#define DP_AMPR KC_1 // &
|
||||
#define DP_LBRC KC_2 // [
|
||||
#define DP_LCBR KC_3 // {
|
||||
#define DP_RCBR KC_4 // }
|
||||
#define DP_LPRN KC_5 // (
|
||||
#define DP_EQL KC_6 // =
|
||||
#define DP_ASTR KC_7 // *
|
||||
#define DP_RPRN KC_8 // )
|
||||
#define DP_PLUS KC_9 // +
|
||||
#define DP_RBRC KC_0 // ]
|
||||
#define DP_EXLM KC_MINS // !
|
||||
#define DP_HASH KC_EQL // #
|
||||
// Row 2
|
||||
#define DP_SCLN KC_Q // ;
|
||||
#define DP_COMM KC_W // ,
|
||||
#define DP_DOT KC_E // .
|
||||
#define DP_P KC_R // P
|
||||
#define DP_Y KC_T // Y
|
||||
#define DP_F KC_Y // F
|
||||
#define DP_G KC_U // G
|
||||
#define DP_C KC_I // C
|
||||
#define DP_R KC_O // R
|
||||
#define DP_L KC_P // L
|
||||
#define DP_SLSH KC_LBRC // /
|
||||
#define DP_AT KC_RBRC // @
|
||||
#define DP_BSLS KC_BSLS // (backslash)
|
||||
// Row 3
|
||||
#define DP_A KC_A // A
|
||||
#define DP_O KC_S // O
|
||||
#define DP_E KC_D // E
|
||||
#define DP_U KC_F // U
|
||||
#define DP_I KC_G // I
|
||||
#define DP_D KC_H // D
|
||||
#define DP_H KC_J // H
|
||||
#define DP_T KC_K // T
|
||||
#define DP_N KC_L // N
|
||||
#define DP_S KC_SCLN // S
|
||||
#define DP_MINS KC_QUOT // -
|
||||
// Row 4
|
||||
#define DP_QUOT KC_Z // '
|
||||
#define DP_Q KC_X // Q
|
||||
#define DP_J KC_C // J
|
||||
#define DP_K KC_V // K
|
||||
#define DP_X KC_B // X
|
||||
#define DP_B KC_N // B
|
||||
#define DP_M KC_M // M
|
||||
#define DP_W KC_COMM // W
|
||||
#define DP_V KC_DOT // V
|
||||
#define DP_Z KC_SLSH // Z
|
||||
|
||||
#define DP_A KC_A
|
||||
#define DP_O KC_S
|
||||
#define DP_E KC_D
|
||||
#define DP_U KC_F
|
||||
#define DP_I KC_G
|
||||
#define DP_D KC_H
|
||||
#define DP_H KC_J
|
||||
#define DP_T KC_K
|
||||
#define DP_N KC_L
|
||||
#define DP_S KC_SCLN
|
||||
#define DP_MINS KC_QUOT
|
||||
|
||||
#define DP_QUOT KC_Z
|
||||
#define DP_Q KC_X
|
||||
#define DP_J KC_C
|
||||
#define DP_K KC_V
|
||||
#define DP_X KC_B
|
||||
#define DP_B KC_N
|
||||
#define DP_M KC_M
|
||||
#define DP_W KC_COMM
|
||||
#define DP_V KC_DOT
|
||||
#define DP_Z KC_SLSH
|
||||
|
||||
// Shifted characters
|
||||
#define DP_TILD LSFT(DP_DLR)
|
||||
#define DP_PERC LSFT(DP_AMPR)
|
||||
#define DP_7 LSFT(DP_LBRC)
|
||||
#define DP_5 LSFT(DP_LCBR)
|
||||
#define DP_3 LSFT(DP_RCBR)
|
||||
#define DP_1 LSFT(DP_LPRN)
|
||||
#define DP_9 LSFT(DP_EQL)
|
||||
#define DP_0 LSFT(DP_ASTR)
|
||||
#define DP_2 LSFT(DP_RPRN)
|
||||
#define DP_4 LSFT(DP_PLUS)
|
||||
#define DP_6 LSFT(DP_RBRC)
|
||||
#define DP_8 LSFT(DP_EXLM)
|
||||
#define DP_GRV LSFT(DP_HASH)
|
||||
|
||||
#define DP_COLN LSFT(DP_SCLN)
|
||||
#define DP_LABK LSFT(DP_COMM)
|
||||
#define DP_RABK LSFT(DP_DOT)
|
||||
#define DP_QUES LSFT(DP_SLSH)
|
||||
#define DP_CIRC LSFT(DP_AT)
|
||||
#define DP_PIPE LSFT(DP_BSLS)
|
||||
#define DP_UNDS LSFT(DP_MINS)
|
||||
#define DP_DQUO LSFT(DP_QUOT)
|
||||
|
||||
#endif
|
||||
/* Shifted symbols
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ ~ │ % │ 7 │ 5 │ 3 │ 1 │ 9 │ 0 │ 2 │ 4 │ 6 │ 8 │ ` │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │ : │ < │ > │ │ │ │ │ │ │ │ ? │ ^ │ | │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ _ │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
|
||||
* │ │ " │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||
* │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||
*/
|
||||
// Row 1
|
||||
#define DP_TILD S(DP_DLR) // ~
|
||||
#define DP_PERC S(DP_AMPR) // %
|
||||
#define DP_7 S(DP_LBRC) // 7
|
||||
#define DP_5 S(DP_LCBR) // 5
|
||||
#define DP_3 S(DP_RCBR) // 3
|
||||
#define DP_1 S(DP_LPRN) // 1
|
||||
#define DP_9 S(DP_EQL) // 9
|
||||
#define DP_0 S(DP_ASTR) // 0
|
||||
#define DP_2 S(DP_RPRN) // 2
|
||||
#define DP_4 S(DP_PLUS) // 4
|
||||
#define DP_6 S(DP_RBRC) // 6
|
||||
#define DP_8 S(DP_EXLM) // 8
|
||||
#define DP_GRV S(DP_HASH) // `
|
||||
// Row 2
|
||||
#define DP_COLN S(DP_SCLN) // :
|
||||
#define DP_LABK S(DP_COMM) // <
|
||||
#define DP_RABK S(DP_DOT) // >
|
||||
#define DP_QUES S(DP_SLSH) // ?
|
||||
#define DP_CIRC S(DP_AT) // ^
|
||||
#define DP_PIPE S(DP_BSLS) // |
|
||||
// Row 3
|
||||
#define DP_UNDS S(DP_MINS) // _
|
||||
// Row 4
|
||||
#define DP_DQUO S(DP_QUOT) // "
|
||||
|
|
80
quantum/keymap_extras/sendstring_dvp.h
Normal file
80
quantum/keymap_extras/sendstring_dvp.h
Normal file
|
@ -0,0 +1,80 @@
|
|||
/* Copyright 2020
|
||||
*
|
||||
* 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 Programmer Dvorak layouts
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "keymap_dvp.h"
|
||||
#include "quantum.h"
|
||||
|
||||
// clang-format off
|
||||
|
||||
const uint8_t ascii_to_shift_lut[16] PROGMEM = {
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
|
||||
KCLUT_ENTRY(0, 0, 1, 0, 0, 1, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 0, 1, 0, 1, 1),
|
||||
KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 1, 1),
|
||||
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 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, DP_EXLM, DP_QUOT, DP_HASH, DP_DLR, DP_AMPR, DP_AMPR, DP_QUOT,
|
||||
// ( ) * + , - . /
|
||||
DP_LPRN, DP_RPRN, DP_ASTR, DP_PLUS, DP_COMM, DP_MINS, DP_DOT, DP_SLSH,
|
||||
// 0 1 2 3 4 5 6 7
|
||||
DP_ASTR, DP_LPRN, DP_RPRN, DP_RCBR, DP_PLUS, DP_LCBR, DP_RBRC, DP_LBRC,
|
||||
// 8 9 : ; < = > ?
|
||||
DP_EXLM, DP_EQL, DP_SCLN, DP_SCLN, DP_COMM, DP_EQL, DP_DOT, DP_SLSH,
|
||||
// @ A B C D E F G
|
||||
DP_AT, DP_A, DP_B, DP_C, DP_D, DP_E, DP_F, DP_G,
|
||||
// H I J K L M N O
|
||||
DP_H, DP_I, DP_J, DP_K, DP_L, DP_M, DP_N, DP_O,
|
||||
// P Q R S T U V W
|
||||
DP_P, DP_Q, DP_R, DP_S, DP_T, DP_U, DP_V, DP_W,
|
||||
// X Y Z [ \ ] ^ _
|
||||
DP_X, DP_Y, DP_Z, DP_LBRC, DP_BSLS, DP_RBRC, DP_AT, DP_MINS,
|
||||
// ` a b c d e f g
|
||||
DP_HASH, DP_A, DP_B, DP_C, DP_D, DP_E, DP_F, DP_G,
|
||||
// h i j k l m n o
|
||||
DP_H, DP_I, DP_J, DP_K, DP_L, DP_M, DP_N, DP_O,
|
||||
// p q r s t u v w
|
||||
DP_P, DP_Q, DP_R, DP_S, DP_T, DP_U, DP_V, DP_W,
|
||||
// x y z { | } ~ DEL
|
||||
DP_X, DP_Y, DP_Z, DP_LCBR, DP_BSLS, DP_RCBR, DP_DLR, KC_DEL
|
||||
};
|
Loading…
Reference in a new issue