0xC.pad_personal_keymap/keymap.c

53 lines
1.6 KiB
C

/* Copyright 2021 s-ol
*
* 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/>.
*/
#include QMK_KEYBOARD_H
enum custom_keycodes {
QMK_TRIPLE_CLICK = SAFE_RANGE,
QMK_BANANA,
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QMK_TRIPLE_CLICK:
if (record->event.pressed) {
// when keycode is pressed
SEND_STRING( SS_TAP(X_BTN1) SS_DELAY(250) SS_TAP(X_BTN1) SS_DELAY(250) SS_TAP(X_BTN1) SS_DELAY(250) SS_LCTL("x"));
} else {
// when keycode is released
}
break;
case QMK_BANANA:
if (record->event.pressed) {
SEND_STRING("banana");
} else {
}
break;
}
return true;
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
RGB_RMOD, RGB_MOD,
LCTL(KC_X), LCTL(KC_C), LCTL(KC_V),
KC_PGUP, KC_PGDN, KC_VOLU, KC_VOLD,
KC_1 , QMK_BANANA , QMK_TRIPLE_CLICK
),
};