0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

アプリが増えたので、アプリケーションショートカットキーを調整


#include QMK_KEYBOARD_H
enum layer_number {
    _BASE = 0,_C,_S,_B,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,
};

enum custom_keycodes {
	VOICE = SAFE_RANGE,PRN,BRC,CBR,ABK,
};

#define SEND_PAIR(str) if (record->event.pressed) SEND_STRING(str);

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    switch (keycode) {
        case VOICE: SEND_PAIR(SS_TAP(X_LNG1) SS_RCTL(SS_LSFT("s"))); break;
        case PRN:   SEND_PAIR("()"); break;
        case BRC:   SEND_PAIR("[]"); break;
        case CBR:   SEND_PAIR("<>"); break;
        case ABK:   SEND_PAIR("{}"); break;
    }
    return true;
}

enum {
    A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,
};

#define TD_LTR(kc) ACTION_TAP_DANCE_DOUBLE(KC_##kc, S(KC_##kc))

#define TD_ROW(a, b, c, d, e) \
    [a] = TD_LTR(A), [b] = TD_LTR(B), [c] = TD_LTR(C), [d] = TD_LTR(D), [e] = TD_LTR(E)

tap_dance_action_t tap_dance_actions[] = {
    [A] = TD_LTR(A), [B] = TD_LTR(B), [C] = TD_LTR(C), [D] = TD_LTR(D), [E] = TD_LTR(E),
    [F] = TD_LTR(F), [G] = TD_LTR(G), [H] = TD_LTR(H), [I] = TD_LTR(I), [J] = TD_LTR(J),
    [K] = TD_LTR(K), [L] = TD_LTR(L), [M] = TD_LTR(M), [N] = TD_LTR(N), [O] = TD_LTR(O),
    [P] = TD_LTR(P), [Q] = TD_LTR(Q), [R] = TD_LTR(R), [S] = TD_LTR(S), [T] = TD_LTR(T),
    [U] = TD_LTR(U), [V] = TD_LTR(V), [W] = TD_LTR(W), [X] = TD_LTR(X), [Y] = TD_LTR(Y),
    [Z] = TD_LTR(Z),
};

#define BSPC         KC_BSPC
#define ENG          KC_LNG2
#define JPN          KC_LNG1
#define DEL          KC_DEL
#define SPC          KC_SPC
#define BTN1         KC_BTN1
#define BTN2         KC_BTN2
#define BTN3         KC_BTN3
#define ESC          KC_ESC
#define TAB          KC_TAB
#define ENT          KC_ENT
#define RGHT         KC_RGHT
#define LEFT         KC_LEFT
#define HOME         KC_HOME
#define END          KC_END
#define MPLY         KC_MPLY
#define MINECRAFT    C(KC_F1)   // minecraft-launcher
#define KEYBOARD     C(KC_F2)   // xfce4-keyboard-settings
#define MOUSE        C(KC_F3)   // xfce4-mouse-settings
#define CHROME       C(KC_F4)   // google-chrome
#define VSCODE       C(KC_F5)   // vscode
#define SOUND        C(KC_F6)   // pavucontrol
#define APPEARANCE   C(KC_F7)   // xfce4-appearance-settings
#define WINDOW       C(KC_F8)   // xfwm4-settings
#define FIREFOX      C(KC_F9)   // firefox-esr
#define APPFINDER    C(KC_F10)  // xfce4-appfinder
#define THUNAR       C(KC_F11)  // thunar
#define TERMINAL     C(KC_F12)  // xfce4-terminal
#define OBS          C(KC_F13)  // obs
#define KDENLIVE     C(KC_F14)  // kdenlive
#define INKSCAPE     C(KC_F15)  // inkscape
#define GIMP         C(KC_F16)  // gimp
#define BLENDER      C(KC_F17)  // blender
#define DESKFLOW     C(KC_F18)  // deskflow

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
    LT(_8,ESC),   LT(_7,KC_DOT),LT(_6,KC_COMM),MS_WHLU,      VOICE,        /*    */	    VOICE,        MS_WHLU,      LT(_6,KC_COMM),LT(_7,KC_DOT),LT(_8,ESC),
    LT(_9,BTN3),  LEFT,         RGHT,          LT(_5,BTN1),  LT(_4,TAB),   /*    */     LT(_4,TAB),   LT(_5,BTN1),  LEFT,          RGHT,         LT(_9,BTN3),
    LT(_10,ENT),  KC_VOLD,      KC_VOLU,       MS_WHLD,      LT(_3,SPC),   /*    */     LT(_3,SPC),   MS_WHLD,      KC_VOLD,       KC_VOLU,      LT(_10,ENT),
    KC_MPLY,      KC_MUTE,      TG(_C),        LT(_1,DEL),   LT(_2,BSPC),  /*    */     LT(_2,BSPC),  LT(_1,DEL),   TG(_C),        KC_MUTE,      KC_MPLY),
[_C] = LAYOUT(
    LT(_8,KC_L),  LT(_7,KC_O),  LT(_6,KC_E),   KC_Y,         KC_W,         /*    */     KC_P,         KC_R,         LT(_6,KC_T),   LT(_7,KC_S),  LT(_8,KC_X),
    LT(_9,KC_A),  KC_J,         KC_C,          LT(_5,KC_I),  LT(_4,KC_F),  /*    */     LT(_4,KC_H),  LT(_5,KC_N),  KC_D,          KC_Z,         LT(_9,KC_K),
    LT(_10,KC_Q), LEFT,         RGHT,          KC_U,         LT(_3,KC_V),  /*    */     LT(_3,KC_B),  KC_M,         LEFT,          RGHT,         LT(_10,KC_G),
    KC_MPLY,      KC_MUTE,      TG(_C),        LT(_S,DEL),   LT(_B,BSPC),  /*    */     LT(_S,SPC),   LT(_B,ENT),   TG(_C),        KC_MUTE,      KC_MPLY),
[_S] = LAYOUT(
    S(KC_L),      S(KC_O),      S(KC_E),       S(KC_Y),      S(KC_W),      /*    */     S(KC_P),      S(KC_R),      S(KC_T),       S(KC_S),      S(KC_X),
    S(KC_A),      S(KC_J),      S(KC_C),       S(KC_I),      S(KC_F),      /*    */     S(KC_H),      S(KC_N),      S(KC_D),       S(KC_Z),      S(KC_K),
    S(KC_Q),      XXXXXXX,      XXXXXXX,       S(KC_U),      S(KC_V),      /*    */     S(KC_B),      S(KC_M),      XXXXXXX,       XXXXXXX,      S(KC_G),
    XXXXXXX,      XXXXXXX,      XXXXXXX,       PRN,          KC_UNDS,      /*    */     JPN,          ENG,          XXXXXXX,       XXXXXXX,      XXXXXXX),
[_B] = LAYOUT(
    ESC,          KC_DOT,       KC_COMM,       MS_WHLU,      VOICE,        /*    */	    VOICE,        MS_WHLU,      KC_COMM,       KC_DOT,       ESC,
    BTN3,         LEFT,         RGHT,          BTN1,         TAB,          /*    */     TAB,          BTN1,         LEFT,          RGHT,         BTN3,
    ENT,          XXXXXXX,      XXXXXXX,       MS_WHLD,      SPC,          /*    */     SPC,          MS_WHLD,      XXXXXXX,       XXXXXXX,      ENT,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       KC_COMM,      KC_DOT,       /*    */     LEFT,         RGHT,         XXXXXXX,       XXXXXXX,      XXXXXXX),
[_1] = LAYOUT(
    TD(L),        TD(O),        TD(E),         TD(Y),        TD(W),        /*    */     TD(W),        TD(Y),        TD(E),         TD(O),        TD(L),
    TD(A),        TD(J),        TD(C),         TD(I),        TD(F),        /*    */     TD(F),        TD(I),        TD(C),         TD(J),        TD(A),
    TD(Q),        XXXXXXX,      XXXXXXX,       TD(U),        TD(V),        /*    */     TD(V),        TD(U),        XXXXXXX,       XXXXXXX,      TD(Q),
    XXXXXXX,      XXXXXXX,      XXXXXXX,       XXXXXXX,      JPN,          /*    */     JPN,          XXXXXXX,      XXXXXXX,       XXXXXXX,      XXXXXXX),
[_2] = LAYOUT(
    TD(X),        TD(S),        TD(T),         TD(R),        TD(P),        /*    */     TD(P),        TD(R),        TD(T),         TD(S),        TD(X),
    TD(K),        TD(Z),        TD(D),         TD(N),        TD(H),        /*    */     TD(H),        TD(N),        TD(D),         TD(Z),        TD(K),
    TD(G),        XXXXXXX,      XXXXXXX,       TD(M),        TD(B),        /*    */     TD(B),        TD(M),        XXXXXXX,       XXXXXXX,      TD(G),
    XXXXXXX,      XXXXXXX,      XXXXXXX,       ENG,          XXXXXXX,      /*    */     XXXXXXX,      ENG,          XXXXXXX,       XXXXXXX,      XXXXXXX),
[_3] = LAYOUT(
    KC_F2,        S(HOME),      S(END),        S(KC_UP),     C(KC_A),      /*    */     C(KC_A),      S(KC_UP),     S(HOME),       S(END),       KC_F2,
    RCS(KC_V),    S(LEFT),      S(RGHT),       C(KC_C),      C(KC_X),      /*    */     C(KC_X),      C(KC_C),      S(LEFT),       S(RGHT),      RCS(KC_V),
    C(KC_V),      XXXXXXX,      XXXXXXX,       S(KC_DOWN),   XXXXXXX,      /*    */     XXXXXXX,      S(KC_DOWN),   XXXXXXX,       XXXXXXX,      C(KC_V),
    XXXXXXX,      XXXXXXX,      XXXXXXX,       S(DEL),       A(KC_F4),     /*    */     A(KC_F4),     S(DEL),       XXXXXXX,       XXXXXXX,      XXXXXXX),
[_4] = LAYOUT(
    MINECRAFT,    MOUSE,        KEYBOARD,      CHROME,       DESKFLOW,     /*    */     DESKFLOW,     CHROME,       KEYBOARD,      MOUSE,        MINECRAFT,
    APPFINDER,    APPEARANCE,   WINDOW,        QK_BOOT,      XXXXXXX,      /*    */     XXXXXXX,      QK_BOOT,      WINDOW,        APPEARANCE,   APPFINDER,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       FIREFOX,      VSCODE,       /*    */     VSCODE,       FIREFOX,      XXXXXXX,       XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       THUNAR,       TERMINAL,     /*    */     TERMINAL,     THUNAR,       XXXXXXX,       XXXXXXX,      XXXXXXX),
[_5] = LAYOUT(
    KC_HASH,      KC_COLN,      KC_SLSH,       XXXXXXX,      KC_CAPS,      /*    */     KC_CAPS,      XXXXXXX,      KC_SLSH,       KC_COLN,      KC_HASH,
    BTN2,         KC_EXLM,      KC_QUES,       XXXXXXX,      C(KC_T),      /*    */     C(KC_T),      XXXXXXX,      KC_QUES,       KC_EXLM,      BTN2,
    KC_UNDS,      XXXXXXX,      XXXXXXX,       C(KC_Y),      C(KC_Z),      /*    */     C(KC_Z),      C(KC_Y),      XXXXXXX,       XXXXXXX,      KC_UNDS,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       RCS(KC_T),    C(KC_W),      /*    */     C(KC_W),      RCS(KC_T),    XXXXXXX,       XXXXXXX,      XXXXXXX),
[_6] = LAYOUT( 
    C(KC_PSCR),   KC_PSCR,      XXXXXXX,       C(HOME),      S(KC_PSCR),   /*    */     S(KC_PSCR),   C(HOME),      XXXXXXX,       KC_PSCR,      C(KC_PSCR),
    OBS,          XXXXXXX,      XXXXXXX,       A(TAB),       XXXXXXX,      /*    */     XXXXXXX,      A(TAB),       XXXXXXX,       XXXXXXX,      OBS,
    KDENLIVE,     XXXXXXX,      XXXXXXX,       C(END),       C(KC_H),      /*    */     C(KC_H),      C(END),       XXXXXXX,       XXXXXXX,      KDENLIVE,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       RCS(KC_C),    C(KC_F),      /*    */     C(KC_F),      RCS(KC_C),    XXXXXXX,       XXXXXXX,      XXXXXXX),
[_7] = LAYOUT(
    BLENDER,      XXXXXXX,      INKSCAPE,      PRN,          ABK,          /*    */     ABK,          PRN,          INKSCAPE,      XXXXXXX,      BLENDER,
    GIMP,         XXXXXXX,      XXXXXXX,       BRC,          CBR,          /*    */     CBR,          BRC,          XXXXXXX,       XXXXXXX,      GIMP,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       KC_PLUS,      KC_MINS,      /*    */     KC_MINS,      KC_PLUS,      XXXXXXX,       XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       KC_ASTR,      KC_EQL,       /*    */     KC_EQL,       KC_ASTR,      XXXXXXX,       XXXXXXX,      XXXXXXX),
[_8] = LAYOUT(
    XXXXXXX,      KC_SCLN,      KC_BSLS,       KC_AMPR,      KC_TILD,      /*    */     KC_TILD,      KC_AMPR,      KC_BSLS,       KC_SCLN,      XXXXXXX,
    XXXXXXX,      KC_PIPE,      KC_DLR,        KC_AT,        KC_PERC,      /*    */     KC_PERC,      KC_AT,        KC_DLR,        KC_PIPE,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       KC_CIRC,      KC_GRV,       /*    */     KC_GRV,       KC_CIRC,      XXXXXXX,       XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       KC_DQUO,      KC_QUOT,      /*    */     KC_QUOT,      KC_DQUO,      XXXXXXX,       XXXXXXX,      XXXXXXX),
[_9] = LAYOUT(
    TG(_11),      RCS(KC_PGUP), RCS(KC_PGDN),  KC_F11,       KC_F5,        /*    */     KC_F5,        KC_F11,       RCS(KC_PGUP),  RCS(KC_PGDN), TG(_11),
    XXXXXXX,      KC_F7,        KC_F8,         LCTL_T(MPLY), KC_F10,       /*    */     KC_F10,       LCTL_T(MPLY), KC_F8,         KC_F7,        XXXXXXX,
    KC_MUTE,      XXXXXXX,      XXXXXXX,       RCS(TAB),     C(TAB),       /*    */     RCS(TAB),     C(TAB),       XXXXXXX,       XXXXXXX,      KC_MUTE,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       A(LEFT),      A(RGHT),      /*    */     A(LEFT),      A(RGHT),      XXXXXXX,       XXXXXXX,      XXXXXXX),
[_10] = LAYOUT(
    S(KC_MUTE),   KC_1,         KC_2,          KC_3,         KC_4,         /*    */     KC_1,         KC_2,         KC_3,          KC_4,         S(KC_MUTE),
    SOUND,        KC_5,         KC_6,          KC_7,         KC_8,         /*    */     KC_5,         KC_6,         KC_7,          KC_8,         SOUND,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       KC_9,         KC_0,         /*    */     KC_9,         KC_0,         XXXXXXX,       XXXXXXX,      XXXXXXX,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       KC_VOLD,      KC_VOLU,      /*    */     KC_VOLD,      KC_VOLU,      XXXXXXX,       XXXXXXX,      XXXXXXX),
[_11] = LAYOUT(
    TG(_11),      KC_E,         BTN2,          SPC,          KC_Q,         /*    */     KC_Q,         SPC,          BTN2,          KC_E,         TG(_11),
    LT(_12,ESC),  BTN2,         KC_LSFT,       BTN1,         KC_F3,        /*    */     KC_F3,        BTN1,         KC_LSFT,       BTN2,         LT(_12,ESC),
    A(TAB),       XXXXXXX,      XXXXXXX,       S(BTN1),      C(KC_W),      /*    */     C(KC_W),      S(BTN1),      XXXXXXX,       XXXXXXX,      A(TAB),
    XXXXXXX,      XXXXXXX,      XXXXXXX,       S(KC_S),      S(KC_W),      /*    */     S(KC_W),      S(KC_S),      XXXXXXX,       XXXXXXX,      XXXXXXX),
[_12] = LAYOUT(
    XXXXXXX,      KC_1,         KC_2,          KC_3,         KC_4,         /*    */     KC_1,         KC_2,         KC_3,          KC_4,         XXXXXXX,
    XXXXXXX,      KC_5,         KC_6,          KC_7,         KC_8,         /*    */     KC_5,         KC_6,         KC_7,          KC_8,         XXXXXXX,
    ENG,          XXXXXXX,      XXXXXXX,       KC_F,         KC_9,         /*    */     KC_9,         KC_F,         XXXXXXX,       XXXXXXX,      ENG,
    XXXXXXX,      XXXXXXX,      XXXXXXX,       KC_S,         KC_W,         /*    */     KC_W,         KC_S,         XXXXXXX,       XXXXXXX,      XXXXXXX),
};

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?