From 8faee5c9f67e9a5389754f90ded6983e669aae15 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 26 Apr 2019 17:24:00 -0700 Subject: [Keyboard] Update Gergo to use newer Ergodox Matrix code (#5703) * [Keyboard] Update Gergo to use newer Ergodox Matrix code And update layout macros to be correct * Almost forgot the json file * Remove board specific defines for i2c timeout --- keyboards/gergo/matrix.c | 239 ++++++++++++++++++++--------------------------- 1 file changed, 102 insertions(+), 137 deletions(-) (limited to 'keyboards/gergo/matrix.c') diff --git a/keyboards/gergo/matrix.c b/keyboards/gergo/matrix.c index 9886ecf153..aa1dc4842e 100644 --- a/keyboards/gergo/matrix.c +++ b/keyboards/gergo/matrix.c @@ -29,10 +29,11 @@ along with this program. If not, see . #include "print.h" #include "debug.h" #include "util.h" +#include "debounce.h" #include "pointing_device.h" #include QMK_KEYBOARD_H #ifdef DEBUG_MATRIX_SCAN_RATE -#include "timer.h" +# include "timer.h" #endif #ifdef BALLER @@ -117,12 +118,11 @@ static matrix_row_t raw_matrix[MATRIX_ROWS]; // Debouncing: store for each key the number of scans until it's eligible to // change. When scanning the matrix, ignore any changes in keys that have // already changed in the last DEBOUNCE scans. -static uint8_t debounce_matrix[MATRIX_ROWS * MATRIX_COLS]; static matrix_row_t read_cols(uint8_t row); -static void init_cols(void); -static void unselect_rows(void); -static void select_row(uint8_t row); +static void init_cols(void); +static void unselect_rows(void); +static void select_row(uint8_t row); static void enableInterrupts(void); static uint8_t mcp23018_reset_loop; @@ -134,11 +134,9 @@ uint32_t matrix_scan_count; #endif -__attribute__ ((weak)) -void matrix_init_user(void) {} +__attribute__ ((weak)) void matrix_init_user(void) {} -__attribute__ ((weak)) -void matrix_scan_user(void) {} +__attribute__ ((weak)) void matrix_scan_user(void) {} __attribute__ ((weak)) void matrix_init_kb(void) { @@ -150,39 +148,28 @@ void matrix_scan_kb(void) { matrix_scan_user(); } -inline -uint8_t matrix_rows(void) -{ - return MATRIX_ROWS; -} +inline uint8_t matrix_rows(void) { return MATRIX_ROWS; } -inline -uint8_t matrix_cols(void) -{ - return MATRIX_COLS; -} +inline uint8_t matrix_cols(void) { return MATRIX_COLS; } -void matrix_init(void) -{ +void matrix_init(void) { // initialize row and col mcp23018_status = init_mcp23018(); unselect_rows(); init_cols(); - // initialize matrix state: all keys off - for (uint8_t i=0; i < MATRIX_ROWS; i++) { - matrix[i] = 0; - raw_matrix[i] = 0; - for (uint8_t j=0; j < MATRIX_COLS; ++j) { - debounce_matrix[i * MATRIX_COLS + j] = 0; - } - } + // initialize matrix state: all keys off + for (uint8_t i = 0; i < MATRIX_ROWS; i++) { + matrix[i] = 0; + raw_matrix[i] = 0; + } #ifdef DEBUG_MATRIX_SCAN_RATE - matrix_timer = timer_read32(); + matrix_timer = timer_read32(); matrix_scan_count = 0; #endif + debounce_init(MATRIX_ROWS); matrix_init_quantum(); } @@ -198,130 +185,120 @@ void matrix_power_up(void) { } #ifdef DEBUG_MATRIX_SCAN_RATE - matrix_timer = timer_read32(); + matrix_timer = timer_read32(); matrix_scan_count = 0; #endif } -// Returns a matrix_row_t whose bits are set if the corresponding key should be -// eligible to change in this scan. -matrix_row_t debounce_mask(matrix_row_t rawcols, uint8_t row) { - matrix_row_t result = 0; - matrix_row_t change = rawcols ^ raw_matrix[row]; - raw_matrix[row] = rawcols; - for (uint8_t i = 0; i < MATRIX_COLS; ++i) { - if (debounce_matrix[row * MATRIX_COLS + i]) { - --debounce_matrix[row * MATRIX_COLS + i]; - } else { - result |= (1 << i); - } - if (change & (1 << i)) { - debounce_matrix[row * MATRIX_COLS + i] = DEBOUNCE; - } +// Reads and stores a row, returning +// whether a change occurred. +static inline bool store_raw_matrix_row(uint8_t index) { + matrix_row_t temp = read_cols(index); + if (raw_matrix[index] != temp) { + raw_matrix[index] = temp; + return true; } - return result; + return false; } -matrix_row_t debounce_read_cols(uint8_t row) { - // Read the row without debouncing filtering and store it for later usage. - matrix_row_t cols = read_cols(row); - // Get the Debounce mask. - matrix_row_t mask = debounce_mask(cols, row); - // debounce the row and return the result. - return (cols & mask) | (matrix[row] & ~mask);; -} -uint8_t matrix_scan(void) -{ - // TODO: Find what is trashing interrupts - enableInterrupts(); - // First we handle the mouse inputs - #ifdef BALLER - uint8_t pBtn = PINE & TRKBTN; +uint8_t matrix_scan(void) { + // TODO: Find what is trashing interrupts + enableInterrupts(); + + // First we handle the mouse inputs +#ifdef BALLER + uint8_t pBtn = PINE & TRKBTN; - #ifdef DEBUG_BALLER - // Compare to previous, mod report - if (tbUpCnt + tbDnCnt + tbLtCnt + tbRtCnt != 0) - xprintf("U: %d D: %d L: %d R: %d B: %d\n", tbUpCnt, tbDnCnt, tbLtCnt, tbRtCnt, (trkBtnState >> 6)); - #endif + #ifdef DEBUG_BALLER + // Compare to previous, mod report + if (tbUpCnt + tbDnCnt + tbLtCnt + tbRtCnt != 0) + xprintf("U: %d D: %d L: %d R: %d B: %d\n", tbUpCnt, tbDnCnt, tbLtCnt, tbRtCnt, (trkBtnState >> 6)); + #endif - // Modify the report - report_mouse_t pRprt = pointing_device_get_report(); + // Modify the report + report_mouse_t pRprt = pointing_device_get_report(); - // Scroll by default, move on layer - if (layer_state == 0) { + // Scroll by default, move on layer + if (layer_state == 0) { pRprt.h += tbLtCnt * SCROLLSTEP; tbLtCnt = 0; pRprt.h -= tbRtCnt * SCROLLSTEP; tbRtCnt = 0; pRprt.v -= tbUpCnt * SCROLLSTEP; tbUpCnt = 0; pRprt.v += tbDnCnt * SCROLLSTEP; tbDnCnt = 0; - } else { + } else { pRprt.x -= tbLtCnt * TRKSTEP * (layer_state - 1); tbLtCnt = 0; pRprt.x += tbRtCnt * TRKSTEP * (layer_state - 1); tbRtCnt = 0; pRprt.y -= tbUpCnt * TRKSTEP * (layer_state - 1); tbUpCnt = 0; pRprt.y += tbDnCnt * TRKSTEP * (layer_state - 1); tbDnCnt = 0; - } + } - #ifdef DEBUG_BALLER - if (pRprt.x != 0 || pRprt.y != 0) - xprintf("X: %d Y: %d\n", pRprt.x, pRprt.y); - #endif - - if ((pBtn != trkBtnState) && ((pBtn >> 6) == 0)) pRprt.buttons |= MOUSE_BTN1; - if ((pBtn != trkBtnState) && ((pBtn >> 6) == 1)) pRprt.buttons &= ~MOUSE_BTN1; - - // Save state, push update - if (pRprt.x != 0 || pRprt.y != 0 || pRprt.h != 0 || pRprt.v != 0 || (trkBtnState != pBtn)) - pointing_device_set_report(pRprt); - - trkBtnState = pBtn; - #endif - - // Then the keyboard - if (mcp23018_status) { // if there was an error - if (++mcp23018_reset_loop == 0) { - // if (++mcp23018_reset_loop >= 1300) { - // since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans - // this will be approx bit more frequent than once per second - print("trying to reset mcp23018\n"); - mcp23018_status = init_mcp23018(); - if (mcp23018_status) { - print("left side not responding\n"); - } else { - print("left side attached\n"); - } - } - } +#ifdef DEBUG_BALLER + if (pRprt.x != 0 || pRprt.y != 0) + xprintf("X: %d Y: %d\n", pRprt.x, pRprt.y); +#endif + + if ((pBtn != trkBtnState) && ((pBtn >> 6) == 0)) pRprt.buttons |= MOUSE_BTN1; + if ((pBtn != trkBtnState) && ((pBtn >> 6) == 1)) pRprt.buttons &= ~MOUSE_BTN1; + + // Save state, push update + if (pRprt.x != 0 || pRprt.y != 0 || pRprt.h != 0 || pRprt.v != 0 || (trkBtnState != pBtn)) + pointing_device_set_report(pRprt); + + trkBtnState = pBtn; +#endif + + // Then the keyboard + if (mcp23018_status) { // if there was an error + if (++mcp23018_reset_loop == 0) { + // if (++mcp23018_reset_loop >= 1300) { + // since mcp23018_reset_loop is 8 bit - we'll try to reset once in 255 matrix scans + // this will be approx bit more frequent than once per second + print("trying to reset mcp23018\n"); + mcp23018_status = init_mcp23018(); + if (mcp23018_status) { + print("left side not responding\n"); + } else { + print("left side attached\n"); + } + } + } #ifdef DEBUG_MATRIX_SCAN_RATE matrix_scan_count++; + uint32_t timer_now = timer_read32(); - if (TIMER_DIFF_32(timer_now, matrix_timer)>1000) { + if (TIMER_DIFF_32(timer_now, matrix_timer) > 1000) { print("matrix scan frequency: "); pdec(matrix_scan_count); print("\n"); - matrix_timer = timer_now; + matrix_timer = timer_now; matrix_scan_count = 0; } #endif + + bool changed = false; for (uint8_t i = 0; i < MATRIX_ROWS_PER_SIDE; i++) { - select_row(i); - // and select on left hand - select_row(i + MATRIX_ROWS_PER_SIDE); + // select rows from left and right hands + uint8_t left_index = i; + uint8_t right_index = i + MATRIX_ROWS_PER_SIDE; + select_row(left_index); + select_row(right_index); + // we don't need a 30us delay anymore, because selecting a // left-hand row requires more than 30us for i2c. - // grab cols from left hand - matrix[i] = debounce_read_cols(i); - // grab cols from right hand - matrix[i + MATRIX_ROWS_PER_SIDE] = debounce_read_cols(i + MATRIX_ROWS_PER_SIDE); + changed |= store_raw_matrix_row(left_index); + changed |= store_raw_matrix_row(right_index); unselect_rows(); } + debounce(raw_matrix, matrix, MATRIX_ROWS, changed); matrix_scan_quantum(); + enableInterrupts(); #ifdef DEBUG_MATRIX @@ -338,20 +315,11 @@ bool matrix_is_modified(void) // deprecated and evidently not called. return true; } -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1< Date: Mon, 29 Apr 2019 18:29:00 -0600 Subject: [Keyboard] Fixing drag-and-drop (#5728) * Fixing drag-and-drop * Forgot to rtfm and do a full build. Added colemak * What --- keyboards/gergo/keymaps/colemak/keymap.c | 174 ++++++++++++++++++++++++++++++ keyboards/gergo/keymaps/colemak/readme.md | 16 +++ keyboards/gergo/keymaps/colemak/rules.mk | 36 +++++++ keyboards/gergo/keymaps/default/rules.mk | 3 +- keyboards/gergo/keymaps/germ/rules.mk | 1 + keyboards/gergo/matrix.c | 2 +- keyboards/gergo/rules.mk | 1 - 7 files changed, 230 insertions(+), 3 deletions(-) create mode 100644 keyboards/gergo/keymaps/colemak/keymap.c create mode 100644 keyboards/gergo/keymaps/colemak/readme.md create mode 100644 keyboards/gergo/keymaps/colemak/rules.mk (limited to 'keyboards/gergo/matrix.c') diff --git a/keyboards/gergo/keymaps/colemak/keymap.c b/keyboards/gergo/keymaps/colemak/keymap.c new file mode 100644 index 0000000000..b2e79114f2 --- /dev/null +++ b/keyboards/gergo/keymaps/colemak/keymap.c @@ -0,0 +1,174 @@ +/* Good on you for modifying your layout! if you don't have + * time to read the QMK docs, a list of keycodes can be found at + * + * https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md + * + * There's also a template for adding new layers at the bottom of this file! + */ + +#include QMK_KEYBOARD_H + +#define IGNORE_MOD_TAP_INTERRUPT +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define NUMB 2 // numbers/motion + +enum custom_keycodes { + M1_STRING = SAFE_RANGE, + M2_URL, +}; + +// Blank template at the bottom + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,-------------------------------------------. ,-------------------------------------------. + * | TAB | Q | W | F | P | G | | J | L | U | Y | ; : | | \ | + * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| + * | Ctrl | A | R | S | T | D |O(CMD)| |O(CTL)| H | N | E | I | O | ' " | + * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B |O(ALT)| | | K | M | , < | . > | / ? | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * .----------. .-------. .------. .--------. + * | alt/del | | BKSP | | Space| |cmd/del | + * '----------' '-------' `------. '--------' + * ,-------. ,-------. + * | MMB | | : | + * ,------|-------| |-------|------. + * | NUMB | SYMB | | SYMB | NUMB | + * | Esc | F13 | | F14 | Enter| + * | | | | | | + * `--------------' `--------------' + */ +[BASE] = LAYOUT_gergo( +KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y,KC_SCLN, KC_BSLS, +KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, OSM(MOD_LGUI), OSM(MOD_LCTL), KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, +KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, OSM(MOD_LALT), KC_TRNS, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + + ALT_T(KC_DEL), KC_BSPC, KC_SPC, CMD_T(KC_DEL), + + KC_BTN3, KC_COLON, + LT(SYMB, KC_ESC), LT(NUMB, KC_F13), LT(NUMB, KC_F14), LT(SYMB, KC_ENT)), +/* Keymap 1: Symbols layer + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | VolUp | + * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| + * | | [ | ] | { | } | ` | M1 | | | | - | _ | + | = | VolDn | + * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| + * | | ` | ~ | | | ~ | M2 | | | | | Prev |Pl/Pau| Next | Mute | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * .------. .------. .------. .-----. + * | | | | | | | | + * '------' '------' `------. '-----' + * ,-------. ,-------. + * | | | | + * ,------|-------| |-------|------. + * | | | | | | + * | | | | | | + * | | | | | | + * `--------------' `--------------' + */ +[SYMB] = LAYOUT_gergo( +KC_TRNS, KC_EXLM, KC_AT, KC_HASH,KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC__VOLUP, +KC_TRNS, KC_LBRC, KC_RBRC, KC_LCBR,KC_RCBR, KC_PLUS, M1_STRING, KC_TRNS, KC_TRNS, KC_MINS, KC_UNDERSCORE, KC_PLUS, KC_EQL, KC__VOLDOWN, +KC_TRNS, KC_GRV, KC_TILD,KC_TRNS,KC_TRNS, KC_EQL, M2_URL, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_REWIND, KC_MEDIA_PLAY_PAUSE, KC_MEDIA_FAST_FORWARD, KC__MUTE, + + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +/* Keymap 2: Pad/Function layer + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | PgUp | + * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| + * | F1 | F2 | F3 | F4 | F5 | F6 | BTN1 | | Home | LEFT | DOWN | UP | RIGHT| End | PgDn | + * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| + * | F7 | F8 | F9 | F10 | F11 | F12 | BTN2 | | | MLFT | MDWN | MUP | MRGHT| | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * .------. .------. .------. .-----. + * | | | | | ALT | | | + * '------' '------' `------. '-----' + * ,-------. ,-------. + * | | | | + * ,------|-------| |-------|------. + * | | | | | | + * | | | | | | + * | | | | | | + * `--------------' `--------------' + */ +[NUMB] = LAYOUT_gergo( +KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PGUP, +KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_BTN1, KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END, KC_PGDN, +KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BTN2, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TRNS, KC_TRNS, + + KC_TRNS, KC_TRNS, KC_RALT, KC_TRNS, + + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; + +/* Keymap template + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | | | | | | | | | | | | | + * |--------+------+------+------+------+------|------. .------|------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+------|------| |------|------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * .------. .------. .------. .-----. + * | | | | | | | | + * '------' '------' `------. '-----' + * ,-------. ,-------. + * | | | | + * ,------|-------| |-------|------. + * | | | | | | + * | | | | | | + * | | | | | | + * `--------------' `--------------' +[SYMB] = LAYOUT_gergo( +KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, +KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + */ + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + //uint8_t layer = biton32(layer_state); + biton32(layer_state); +}; + + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case M1_STRING: + if (record->event.pressed) { + // when keycode QMKBEST is pressed + SEND_STRING("Hi!" SS_TAP(X_ENTER)); + } else { + // when keycode QMKBEST is released + } + break; + + case M2_URL: + if (record->event.pressed) { + SEND_STRING("https://ddg.gg" SS_TAP(X_ENTER)); + } + break; + + } + return true; +}; + diff --git a/keyboards/gergo/keymaps/colemak/readme.md b/keyboards/gergo/keymaps/colemak/readme.md new file mode 100644 index 0000000000..1c1cc7bdea --- /dev/null +++ b/keyboards/gergo/keymaps/colemak/readme.md @@ -0,0 +1,16 @@ +# [Gergo! By g Heavy Industries](http://gboards.ca) + +![Gergo image](https://4.bp.blogspot.com/-889nMXxgSM0/XCNxwnO5kUI/AAAAAAAA6mI/tZbWgZVCBW0dyZOCGJDkjN06DVax7j8XwCLcBGAs/s1600/48422820_967732713413298_485744639215665152_n.jpg) + +This is a [Colemak](https://colemak.com/) mapping for the Gergo, + +Unlike the default mapping, most symbols are at their original place on the number row to ease in the +learning curve. + +You can view this layout over at +[keyboad-layout-editor.com](http://www.keyboard-layout-editor.com/#/gists/f04d6a3b0cd3db91407c51f7ba36aeb3). + +## Settings +To edit various settings, enable the 1u trackball and whatnot please modify /keyboards/gergo/keymaps/default/rules.mk + +Ideally you should copy this directory and make your changes there. If you come up with a good layout submit a PR! diff --git a/keyboards/gergo/keymaps/colemak/rules.mk b/keyboards/gergo/keymaps/colemak/rules.mk new file mode 100644 index 0000000000..ddec12d1b1 --- /dev/null +++ b/keyboards/gergo/keymaps/colemak/rules.mk @@ -0,0 +1,36 @@ +#---------------------------------------------------------------------------- +# make gergo:germ:dfu +# Make sure you have dfu-programmer installed! +#---------------------------------------------------------------------------- +# Firmware options +BALLER = no # Enable to ball out +BALLSTEP = 20 # Multiple in px to move, multiplied by layer number +SCROLLSTEP = 1 # Lines to scroll with ball +MOUSEKEY_ENABLE = yes # Mouse keys(+4700), needed for baller + +#Debug options +VERBOSE = no +DEBUG_MATRIX_SCAN_RATE = no +DEBUG_BALLER = no +DEBUG_MATRIX = no + +# A bunch of stuff that you shouldn't touch unless you +# know what you're doing. +# +# No touchy, capiche? +SRC += matrix.c i2c_master.c +ifneq ($(strip $(BALLSTEP)),) + OPT_DEFS += -DTRKSTEP=$(strip $(BALLSTEP)) +endif +ifneq ($(strip $(SCROLLSTEP)),) + OPT_DEFS += -DSCROLLSTEP=$(strip $(SCROLLSTEP)) +endif +ifeq ($(strip $(BALLER)), yes) + OPT_DEFS += -DBALLER +endif +ifeq ($(strip $(DEBUG_BALLER)), yes) + OPT_DEFS += -DDEBUG_BALLER +endif +ifeq ($(strip $(DEBUG_MATRIX)), yes) + OPT_DEFS += -DDEBUG_MATRIX +endif diff --git a/keyboards/gergo/keymaps/default/rules.mk b/keyboards/gergo/keymaps/default/rules.mk index 507cc97b7b..da2d03af2c 100644 --- a/keyboards/gergo/keymaps/default/rules.mk +++ b/keyboards/gergo/keymaps/default/rules.mk @@ -3,7 +3,7 @@ # Make sure you have dfu-programmer installed! #---------------------------------------------------------------------------- # Firmware options -BALLER = yes # Enable to ball out +BALLER = no # Enable to ball out BALLSTEP = 20 # Multiple in px to move, multiplied by layer number SCROLLSTEP = 1 # Lines to scroll with ball MOUSEKEY_ENABLE = yes # Mouse keys(+4700), needed for baller @@ -26,6 +26,7 @@ ifneq ($(strip $(SCROLLSTEP)),) OPT_DEFS += -DSCROLLSTEP=$(strip $(SCROLLSTEP)) endif ifeq ($(strip $(BALLER)), yes) + POINTING_DEVICE_ENABLE = yes OPT_DEFS += -DBALLER endif ifeq ($(strip $(DEBUG_BALLER)), yes) diff --git a/keyboards/gergo/keymaps/germ/rules.mk b/keyboards/gergo/keymaps/germ/rules.mk index 2f825a7663..badfe7bb99 100644 --- a/keyboards/gergo/keymaps/germ/rules.mk +++ b/keyboards/gergo/keymaps/germ/rules.mk @@ -27,6 +27,7 @@ ifneq ($(strip $(SCROLLSTEP)),) endif ifeq ($(strip $(BALLER)), yes) OPT_DEFS += -DBALLER + POINTING_DEVICE_ENABLE = yes endif ifeq ($(strip $(DEBUG_BALLER)), yes) OPT_DEFS += -DDEBUG_BALLER diff --git a/keyboards/gergo/matrix.c b/keyboards/gergo/matrix.c index aa1dc4842e..234160326a 100644 --- a/keyboards/gergo/matrix.c +++ b/keyboards/gergo/matrix.c @@ -30,7 +30,6 @@ along with this program. If not, see . #include "debug.h" #include "util.h" #include "debounce.h" -#include "pointing_device.h" #include QMK_KEYBOARD_H #ifdef DEBUG_MATRIX_SCAN_RATE # include "timer.h" @@ -38,6 +37,7 @@ along with this program. If not, see . #ifdef BALLER #include +#include "pointing_device.h" #endif #ifndef DEBOUNCE diff --git a/keyboards/gergo/rules.mk b/keyboards/gergo/rules.mk index 2ce9e01e6d..a33bfcec8d 100644 --- a/keyboards/gergo/rules.mk +++ b/keyboards/gergo/rules.mk @@ -14,7 +14,6 @@ BOOTLOADER = atmel-dfu F_USB = $(F_CPU) CUSTOM_MATRIX = yes -POINTING_DEVICE_ENABLE = yes EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = yes COMMAND_ENABLE = yes -- cgit v1.2.3