mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-12-20 12:40:22 -05:00
keymap: add r-okm keymaps for crkbd and 7skb
- add custom keymaps for `crkbd` and `7skb` keyboards - add shared user code in `users/r-okm/` with custom keycodes - include macros for arrows, window switching, alt-tab, etc. - configure tapping term and permissive hold settings
This commit is contained in:
parent
41ee8332d1
commit
434f5ef36e
9 changed files with 349 additions and 0 deletions
4
keyboards/crkbd/keymaps/r-okm/config.h
Executable file
4
keyboards/crkbd/keymaps/r-okm/config.h
Executable file
|
|
@ -0,0 +1,4 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// #define MASTER_LEFT
|
||||||
|
#define MASTER_RIGHT
|
||||||
69
keyboards/crkbd/keymaps/r-okm/keymap.c
Executable file
69
keyboards/crkbd/keymaps/r-okm/keymap.c
Executable file
|
|
@ -0,0 +1,69 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 @foostan
|
||||||
|
Copyright 2020 Drashna Jaelre <@drashna>
|
||||||
|
|
||||||
|
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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
enum layer_NUMBER {
|
||||||
|
_QWERTY = 0,
|
||||||
|
_FN,
|
||||||
|
_NUMBER,
|
||||||
|
};
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "r-okm.h"
|
||||||
|
#include "keymap_japanese.h" // For JP_ keycodes
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_QWERTY] = LAYOUT_split_3x6_3(
|
||||||
|
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, LALT_T(JP_AT),
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_SCLN, JP_COLN,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, LGUI_T(JP_BSLS),
|
||||||
|
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
JP_MHEN, MO(1), KC_SPC, KC_ENT, MO(2), JP_HENK
|
||||||
|
//`--------------------------' `--------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN] = LAYOUT_split_3x6_3(
|
||||||
|
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||||
|
Z_TAB, KC_F12, LCTL(KC_W), LCTL(KC_PGUP), LCTL(KC_PGDN), LCS(KC_T), KC_HOME, ESC_MHEN, XXXXXXX, KC_END, JP_EQL, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LCTL, LCTL(KC_A), LCTL(KC_S), LCTL(KC_D), LCTL(KC_F), LCTL(KC_G), Z_LEFT, Z_DOWN, Z_UP, Z_RIGHT, JP_SCLN, JP_MINS,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LSFT, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), LCTL(KC_B), KC_BSPC, KC_DEL, JP_LBRC, JP_RBRC, ARROW_1, LGUI_T(JP_CIRC),
|
||||||
|
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, LALT(KC_ENT), _______, _______
|
||||||
|
//`--------------------------' `--------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_NUMBER] = LAYOUT_split_3x6_3(
|
||||||
|
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||||
|
KC_TAB, KC_F11, KC_F2, KC_F3, LALT(KC_F4), KC_F5, X_ONE, X_TWO, X_THREE, X_FOUR, X_FIVE, X_SIX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LCTL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_COLN,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LSFT, JP_EXLM, JP_DQUO, JP_HASH, JP_DLR, JP_PERC, JP_AMPR, JP_QUOT, JP_LPRN, JP_RPRN, LSFT(JP_YEN), LGUI_T(JP_BSLS),
|
||||||
|
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, KC_ENT, _______, _______
|
||||||
|
//`--------------------------' `--------------------------'
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
return process_record_user_rokm(keycode, record);
|
||||||
|
}
|
||||||
2
keyboards/crkbd/keymaps/r-okm/rules.mk
Executable file
2
keyboards/crkbd/keymaps/r-okm/rules.mk
Executable file
|
|
@ -0,0 +1,2 @@
|
||||||
|
DEBOUNCE_TYPE = sym_eager_pr
|
||||||
|
MACROS_ENABLE = yes
|
||||||
76
keyboards/salicylic_acid3/7skb/keymaps/r-okm/keymap.c
Normal file
76
keyboards/salicylic_acid3/7skb/keymaps/r-okm/keymap.c
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "r-okm.h"
|
||||||
|
#include "keymap_japanese.h" // For JP_ keycodes
|
||||||
|
|
||||||
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
|
// entirely and just use numbers.
|
||||||
|
enum layer_NUMBER {
|
||||||
|
_QWERTY = 0,
|
||||||
|
_FN,
|
||||||
|
_NUMBER,
|
||||||
|
_DEVICE,
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_QWERTY] = LAYOUT(
|
||||||
|
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSLS,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_LBRC, KC_RBRC,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_SCLN, JP_COLN, KC_ENT,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, MO(_DEVICE),
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_LGUI, KC_LALT, LT(_FN, JP_MHEN), KC_SPC, KC_ENT, LT(_NUMBER, JP_HENK), KC_RALT, KC_RGUI
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN] = LAYOUT(
|
||||||
|
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
|
||||||
|
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
Z_TAB,KC_F12,LCTL(KC_W),LCTL(KC_PGUP),LCTL(KC_PGDN),LCS(KC_T), KC_HOME,ESC_MHEN, _______, KC_END, JP_EQL, _______, _______, _______,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______,LCTL(KC_A),LCTL(KC_S),LCTL(KC_D),LCTL(KC_F),LCTL(KC_G), Z_LEFT,Z_DOWN, Z_UP, Z_RIGHT, _______, JP_MINS, LALT(KC_ENT),
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______,LCTL(KC_Z),LCTL(KC_X),LCTL(KC_C),LCTL(KC_V),LCTL(KC_B), KC_BSPC,KC_DEL,JP_LBRC, JP_RBRC, ARROW_1, JP_CIRC, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, LALT(KC_ENT), _______, _______, _______
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_NUMBER] = LAYOUT(
|
||||||
|
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
|
||||||
|
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
KC_TAB, KC_F11, KC_F2, KC_F3, LALT(KC_F4), KC_F5, X_ONE, X_TWO, X_THREE, X_FOUR, X_FIVE, X_SIX, X_SEVEN, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_COLN, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, JP_EXLM, JP_DQUO, JP_HASH, JP_DLR, JP_PERC, JP_AMPR, JP_QUOT, JP_LPRN, JP_RPRN,LSFT(JP_YEN),XXXXXXX,XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
_______, _______, _______, _______, KC_ENT, _______, _______, _______
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
),
|
||||||
|
|
||||||
|
[_DEVICE] = LAYOUT(
|
||||||
|
//,-----------------------------------------------------| |--------------------------------------------------------------------------------.
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
LCA(KC_DEL), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
|
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||||
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
//`---------------------------------------------| |--------------------------------------------'
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
return process_record_user_rokm(keycode, record);
|
||||||
|
}
|
||||||
1
keyboards/salicylic_acid3/7skb/keymaps/r-okm/rules.mk
Normal file
1
keyboards/salicylic_acid3/7skb/keymaps/r-okm/rules.mk
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
MACROS_ENABLE = yes
|
||||||
6
users/r-okm/config.h
Normal file
6
users/r-okm/config.h
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define TAPPING_FORCE_HOLD
|
||||||
|
#define TAPPING_TERM 180
|
||||||
|
#define PERMISSIVE_HOLD
|
||||||
|
#define RETRO_TAPPING
|
||||||
161
users/r-okm/r-okm.c
Normal file
161
users/r-okm/r-okm.c
Normal file
|
|
@ -0,0 +1,161 @@
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "r-okm.h"
|
||||||
|
#include "sendstring_japanese.h" // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避
|
||||||
|
|
||||||
|
bool process_record_user_rokm(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
static bool is_lalt_pressed = false;
|
||||||
|
static bool is_lwin_pressed = false;
|
||||||
|
bool result = false;
|
||||||
|
|
||||||
|
switch (keycode) {
|
||||||
|
#ifdef MACROS_ENABLE
|
||||||
|
case ARROW_1:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
SEND_STRING("->");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ARROW_2:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
SEND_STRING("=>");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
case Z_TAB:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_LALT);
|
||||||
|
register_code(KC_TAB);
|
||||||
|
is_lalt_pressed = true;
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_TAB);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Z_UP:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_UP);
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_UP);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Z_DOWN:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_DOWN);
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_DOWN);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Z_LEFT:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_LEFT);
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_LEFT);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Z_RIGHT:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_RIGHT);
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_RIGHT);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case X_ONE:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_LWIN);
|
||||||
|
register_code(KC_1);
|
||||||
|
is_lwin_pressed = true;
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_1);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case X_TWO:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_LWIN);
|
||||||
|
register_code(KC_2);
|
||||||
|
is_lwin_pressed = true;
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_2);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case X_THREE:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_LWIN);
|
||||||
|
register_code(KC_3);
|
||||||
|
is_lwin_pressed = true;
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_3);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case X_FOUR:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_LWIN);
|
||||||
|
register_code(KC_4);
|
||||||
|
is_lwin_pressed = true;
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_4);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case X_FIVE:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_LWIN);
|
||||||
|
register_code(KC_5);
|
||||||
|
is_lwin_pressed = true;
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_5);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case X_SIX:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_LWIN);
|
||||||
|
register_code(KC_6);
|
||||||
|
is_lwin_pressed = true;
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_6);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case X_SEVEN:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_LWIN);
|
||||||
|
register_code(KC_7);
|
||||||
|
is_lwin_pressed = true;
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_7);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ESC_MHEN:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
register_code(KC_ESC);
|
||||||
|
register_code(JP_MHEN);
|
||||||
|
} else {
|
||||||
|
unregister_code(KC_ESC);
|
||||||
|
unregister_code(JP_MHEN);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
if (is_lalt_pressed) {
|
||||||
|
unregister_code(KC_LALT);
|
||||||
|
is_lalt_pressed = false;
|
||||||
|
}
|
||||||
|
if (is_lwin_pressed) {
|
||||||
|
unregister_code(KC_LWIN);
|
||||||
|
is_lwin_pressed = false;
|
||||||
|
}
|
||||||
|
result = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
25
users/r-okm/r-okm.h
Normal file
25
users/r-okm/r-okm.h
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "action.h"
|
||||||
|
#include "quantum_keycodes.h"
|
||||||
|
|
||||||
|
enum rokm_custom_keycodes {
|
||||||
|
ARROW_1 = SAFE_RANGE,
|
||||||
|
ARROW_2,
|
||||||
|
Z_TAB,
|
||||||
|
Z_UP,
|
||||||
|
Z_DOWN,
|
||||||
|
Z_LEFT,
|
||||||
|
Z_RIGHT,
|
||||||
|
X_ONE,
|
||||||
|
X_TWO,
|
||||||
|
X_THREE,
|
||||||
|
X_FOUR,
|
||||||
|
X_FIVE,
|
||||||
|
X_SIX,
|
||||||
|
X_SEVEN,
|
||||||
|
ESC_MHEN,
|
||||||
|
ROKM_SAFE_RANGE
|
||||||
|
};
|
||||||
|
|
||||||
|
bool process_record_user_rokm(uint16_t keycode, keyrecord_t *record);
|
||||||
5
users/r-okm/rules.mk
Normal file
5
users/r-okm/rules.mk
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
SRC += r-okm.c
|
||||||
|
|
||||||
|
ifeq ($(strip $(MACROS_ENABLE)), yes)
|
||||||
|
OPT_DEFS += -DMACROS_ENABLE
|
||||||
|
endif
|
||||||
Loading…
Add table
Add a link
Reference in a new issue