qmk-keychron-q3-colemak-dh/keyboards/gorthage_truck/keymaps/7u/keymap.c
James Young 3c3c5965f1
Gorthage Truck Refactor (#14006)
* info.json: apply human-friendly formatting

* info.json: make key labels more friendly to `qmk info -l`

* correct LAYOUT_3u key sequence

* correct LAYOUT_7u key sequence

* correct LAYOUT_10u key sequence

* refactor default keymap

- use QMK short-form keycodes
- update grid alignment
- use four-space indent
- touch up with `qmk cformat`

* refactor 10u keymap

- use QMK short-form keycodes
- add encoder_update_user() function
- update grid alignment
- use four-space indent

* refactor 7u keymap

- use QMK short-form keycodes
- add encoder_update_user() function
- update grid alignment
- use four-space indent

* refactor gorthage_truck.h

- update grid alignments
- use XXX for KC_NO
- insert omitted KC_NO instances

* correct keyboard metadata in info.json

- use GitHub username for maintainer
- correct keyboard dimensions

* add encoder_update_kb() function to gorthage_truck.c

Gives QMK Configurator compile jobs encoder functionality.

* update maintainer field in info.json

As requested by jpuerto96 (s8erdude).
2021-08-15 19:41:02 -07:00

43 lines
1.7 KiB
C

/* Copyright 2021 s8erdude
*
* 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
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT_7u(
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_MINS, KC_MPLY, KC_1, KC_2, KC_3,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_EQL, KC_4, KC_5, KC_6,
KC_LCAP, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT, KC_SLSH, KC_GRV, KC_UP, KC_7, KC_8, KC_9,
KC_LGUI, KC_LCTL, KC_LSFT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_DOT, KC_0
)
};
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
}
return true;
}