Compare commits

...
10 Commits
Author SHA1 Message Date
André Silva f0db40ff11 fix diffutils arch package name (#4470) 2018-11-24 08:48:42 -08:00
xjacobx 3363743bf7 Adding my new keymap for the Idobo (#4468)
* Adding my new keymap, based of xd75, with leds enabled via the rules.mk file

* cleaned up the rules file

* Per Change Requests: removed deprecated functions along with updated the map to use the layout macro instead of raw matrix
2018-11-24 08:41:39 -08:00
Jasper Lievisse Adriaanse 7bc7c34d4f Add RCTL to my Planck layout (#4475) 2018-11-24 08:40:48 -08:00
noroadsleft ee8627e078 Add EEPROM_RESET keycode to keycodes.md doc (#4473) 2018-11-23 20:07:53 -08:00
Gergely Nagy 3dd6d53942 ergodox: update algernon's layout to v1.12
This is the final version of my layout.

Overall changes
===============

* Updated to work with QMK master.

Miscellaneous
=============

* The `😂` symbol can be entered with UCIS.
* `LEAD r` now inputs `Right Alt`.

Signed-off-by: Gergely Nagy <[email protected]>
2018-11-22 13:31:30 -08:00
Milton Griffin 2943d19ecd Keymap: Clone layout for Massdrop's xd75 (#4461)
* Added default75. No lighting.

* Added default75. No lighting.

* Update keyboards/idobo/keymaps/default75/config.h

Co-Authored-By: griffinmilton3 <[email protected]>

* Update keyboards/idobo/keymaps/default75/config.h

Co-Authored-By: griffinmilton3 <[email protected]>

* Update keyboards/idobo/keymaps/default75/config.h

Co-Authored-By: griffinmilton3 <[email protected]>

* Update keyboards/idobo/keymaps/default75/config.h

Co-Authored-By: griffinmilton3 <[email protected]>

* Fixes for pull request

* Updated keyboard declartion structure
2018-11-22 10:15:46 -08:00
Erez Zukerman 48262bdce0 Merge pull request #4454 from trunneml/improveddebounce
Adaptive debounce logic
2018-11-22 10:51:20 -05:00
Erez Zukerman b7dd415c97 Merge pull request #4458 from drashna/ergodox_ez_matrix_fix
Fix Ergodox EZ Matrix scan
2018-11-22 10:50:20 -05:00
Drashna Jaelre 8837b9d99e Fix row 11 2018-11-21 07:49:28 -08:00
Michael Graf ad91454574 Adaptive debounce logic
The debounce filtering reports a key/switch change directly, without any extra delay. After that the debounce logic will filter all further changes, until the key/switch reports the same state for the given count of scans.
So a perfect switch will get a short debounce period and a bad key will get a much longer debounce period. The result is an adaptive debouncing period for each switch.

This value defines how often the same key/switch state has to be detected in successive reads until the next key state can be reported.
In other words this value defines the minimum debouncing period for a switch.
2018-11-20 15:55:35 +01:00
21 changed files with 297 additions and 52 deletions

No files matched your search

+13 -12
View File
@@ -206,18 +206,19 @@ This is a reference only. Each group of keys links to the page documenting their
## [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes) ## [Quantum Keycodes](quantum_keycodes.md#qmk-keycodes)
|Key |Aliases |Description | |Key |Aliases |Description |
|-------------|-----------|---------------------------------------------------------------------| |---------------|-----------|---------------------------------------------------------------------|
|`RESET` | |Put the keyboard into DFU mode for flashing | |`RESET` | |Put the keyboard into DFU mode for flashing |
|`DEBUG` | |Toggle debug mode | |`DEBUG` | |Toggle debug mode |
|`KC_GESC` |`GRAVE_ESC`|Escape when tapped, <code>&#96;</code> when pressed with Shift or GUI| |`EEPROM_RESET` |`EEP_RST` |Resets EEPROM state by reinitializing it |
|`KC_LSPO` | |Left Shift when held, `(` when tapped | |`KC_GESC` |`GRAVE_ESC`|Escape when tapped, <code>&#96;</code> when pressed with Shift or GUI|
|`KC_RSPC` | |Right Shift when held, `)` when tapped | |`KC_LSPO` | |Left Shift when held, `(` when tapped |
|`KC_LEAD` | |The [Leader key](feature_leader_key.md) | |`KC_RSPC` | |Right Shift when held, `)` when tapped |
|`KC_LOCK` | |The [Lock key](feature_key_lock.md) | |`KC_LEAD` | |The [Leader key](feature_leader_key.md) |
|`FUNC(n)` |`F(n)` |Call `fn_action(n)` (deprecated) | |`KC_LOCK` | |The [Lock key](feature_key_lock.md) |
|`M(n)` | |Call macro `n` | |`FUNC(n)` |`F(n)` |Call `fn_action(n)` (deprecated) |
|`MACROTAP(n)`| |Macro-tap `n` idk FIXME | |`M(n)` | |Call macro `n` |
|`MACROTAP(n)` | |Macro-tap `n` idk FIXME |
## [Audio Keys](feature_audio.md) ## [Audio Keys](feature_audio.md)
+10 -7
View File
@@ -85,17 +85,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBW 1 #define RGBW 1
/* "debounce" is measured in keyboard scans. Some users reported /*
* needing values as high as 15, which was at the time around 50ms. * The debounce filtering reports a key/switch change directly,
* without any extra delay. After that the debounce logic will filter
* all further changes, until the key/switch reports the same state for
* the given count of scans.
* So a perfect switch will get a short debounce period and
* a bad key will get a much longer debounce period.
* The result is an adaptive debouncing period for each switch.
*
* If you don't define it here, the matrix code will default to * If you don't define it here, the matrix code will default to
* 5, which is now closer to 10ms, but still plenty according to * 5, which is now closer to 10ms, but still plenty according to
* manufacturer specs. * manufacturer specs.
*
* Default is quite high, because of reports with some production
* runs seeming to need it. This may change when configuration for
* this is more directly exposed.
*/ */
#define DEBOUNCE 15 #define DEBOUNCE 10
#define USB_MAX_POWER_CONSUMPTION 500 #define USB_MAX_POWER_CONSUMPTION 500
+29 -23
View File
@@ -57,6 +57,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* matrix state(1:on, 0:off) */ /* matrix state(1:on, 0:off) */
static matrix_row_t matrix[MATRIX_ROWS]; static matrix_row_t matrix[MATRIX_ROWS];
/*
* matrix state(1:on, 0:off)
* contains the raw values without debounce filtering of the last read cycle.
*/
static matrix_row_t raw_matrix[MATRIX_ROWS];
// Debouncing: store for each key the number of scans until it's eligible to // 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 // change. When scanning the matrix, ignore any changes in keys that have
@@ -118,6 +123,7 @@ void matrix_init(void)
// initialize matrix state: all keys off // initialize matrix state: all keys off
for (uint8_t i=0; i < MATRIX_ROWS; i++) { for (uint8_t i=0; i < MATRIX_ROWS; i++) {
matrix[i] = 0; matrix[i] = 0;
raw_matrix[i] = 0;
for (uint8_t j=0; j < MATRIX_COLS; ++j) { for (uint8_t j=0; j < MATRIX_COLS; ++j) {
debounce_matrix[i * MATRIX_COLS + j] = 0; debounce_matrix[i * MATRIX_COLS + j] = 0;
} }
@@ -151,26 +157,30 @@ void matrix_power_up(void) {
// Returns a matrix_row_t whose bits are set if the corresponding key should be // Returns a matrix_row_t whose bits are set if the corresponding key should be
// eligible to change in this scan. // eligible to change in this scan.
matrix_row_t debounce_mask(uint8_t row) { matrix_row_t debounce_mask(matrix_row_t rawcols, uint8_t row) {
matrix_row_t result = 0; matrix_row_t result = 0;
for (uint8_t j=0; j < MATRIX_COLS; ++j) { matrix_row_t change = rawcols ^ raw_matrix[row];
if (debounce_matrix[row * MATRIX_COLS + j]) { raw_matrix[row] = rawcols;
--debounce_matrix[row * MATRIX_COLS + j]; for (uint8_t i = 0; i < MATRIX_COLS; ++i) {
if (debounce_matrix[row * MATRIX_COLS + i]) {
--debounce_matrix[row * MATRIX_COLS + i];
} else { } else {
result |= (1 << j); result |= (1 << i);
}
if (change & (1 << i)) {
debounce_matrix[row * MATRIX_COLS + i] = DEBOUNCE;
} }
} }
return result; return result;
} }
// Report changed keys in the given row. Resets the debounce countdowns matrix_row_t debounce_read_cols(uint8_t row) {
// corresponding to each set bit in 'change' to DEBOUNCE. // Read the row without debouncing filtering and store it for later usage.
void debounce_report(matrix_row_t change, uint8_t row) { matrix_row_t cols = read_cols(row);
for (uint8_t i = 0; i < MATRIX_COLS; ++i) { // Get the Debounce mask.
if (change & (1 << i)) { matrix_row_t mask = debounce_mask(cols, row);
debounce_matrix[row * MATRIX_COLS + i] = DEBOUNCE; // debounce the row and return the result.
} return (cols & mask) | (matrix[row] & ~mask);;
}
} }
uint8_t matrix_scan(void) uint8_t matrix_scan(void)
@@ -214,15 +224,12 @@ uint8_t matrix_scan(void)
select_row(i + MATRIX_ROWS_PER_SIDE); select_row(i + MATRIX_ROWS_PER_SIDE);
// we don't need a 30us delay anymore, because selecting a // we don't need a 30us delay anymore, because selecting a
// left-hand row requires more than 30us for i2c. // left-hand row requires more than 30us for i2c.
matrix_row_t mask = debounce_mask(i);
matrix_row_t cols = (read_cols(i) & mask) | (matrix[i] & ~mask); // grab cols from left hand
debounce_report(cols ^ matrix[i], i); matrix[i] = debounce_read_cols(i);
matrix[i] = cols;
// grab cols from right hand // grab cols from right hand
mask = debounce_mask(i + MATRIX_ROWS_PER_SIDE); matrix[i + MATRIX_ROWS_PER_SIDE] = debounce_read_cols(i + MATRIX_ROWS_PER_SIDE);
cols = (read_cols(i + MATRIX_ROWS_PER_SIDE) & mask) | (matrix[i + MATRIX_ROWS_PER_SIDE] & ~mask);
debounce_report(cols ^ matrix[i + MATRIX_ROWS_PER_SIDE], i + MATRIX_ROWS_PER_SIDE);
matrix[i + MATRIX_ROWS_PER_SIDE] = cols;
unselect_rows(); unselect_rows();
} }
@@ -379,7 +386,7 @@ static void select_row(uint8_t row)
break; break;
case 11: case 11:
DDRD |= (1<<2); DDRD |= (1<<2);
PORTD &= ~(1<<3); PORTD &= ~(1<<2);
break; break;
case 12: case 12:
DDRD |= (1<<3); DDRD |= (1<<3);
@@ -392,4 +399,3 @@ static void select_row(uint8_t row)
} }
} }
} }
@@ -0,0 +1,21 @@
/* Copyright 2017 Benjamin Kesselring
*
* 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/>.
*/
#pragma once
// place overrides here
@@ -0,0 +1,67 @@
/* Copyright 2018 Milton Griffin
*
* 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
// Keyboard Layers
#define _QW 0
#define _FN 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | - | ` | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | [ | \ | ] | Y | U | I | O | P | ' |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | S | D | F | G | HOME | DEL | PG UP | H | J | K | L | ; | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | END | UP | PG DN | N | M | , | . | / | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | LGUI | LALT | FN | SPACE | SPACE | LEFT | DOWN | RIGHT | SPACE | SPACE | FN | RALT | RGUI | RCTRL |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_GRV, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, \
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_UP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_RGUI, KC_RCTL \
),
/* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | NUM LK | P/ | P* | F7 | F8 | F9 | F10 | F11 | F12 |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | SELECT | CALC | MYCOMP | MAIL | RGB HD | RGB HI | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | RESET | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | VOL- | MUTE | VOL+ | APP | RGB VD | RGB VI | P1 | P2 | P3 | PENT | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | RGB TG | FN | RGB RMD| RGB MD | P0 | | P. | PENT | PENT | FN | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, \
KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______, \
KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______, \
_______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______ \
),
};
@@ -0,0 +1 @@
# The default keymap for xd75, with led controls
@@ -0,0 +1,14 @@
# Copyright 2013 Jun Wako <[email protected]>
#
# 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/>.
@@ -0,0 +1,19 @@
/* Copyright 2018 MechMerlin
*
* 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/>.
*/
#pragma once
// place overrides here
@@ -0,0 +1,67 @@
/* Copyright 2018 xAceOfSpaidsx
*
* 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
// Layer shorthand
#define _QW 0
#define _FN 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY - based off xd75 default map with a couple modifications for my preference
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | F2 | ` | F5 | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | - | \ | = | Y | U | I | O | P | ' |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | S | D | F | G | HOME | DEL | PG UP | H | J | K | L | ; | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | END | UP | PG DN | N | M | , | . | / | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | LGUI | LALT | FN | SPACE | SPACE | LEFT | DOWN | RIGHT | [ | ] | FN | RALT | RGUI | RCTRL |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_F2, KC_GRV, KC_F5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MINS, KC_BSLS, KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, \
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_UP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_RBRC, MO(_FN), KC_RALT, KC_RGUI, KC_RCTL \
),
/* FUNCTION Layer - removed the rgb hue saturation and vibrance for audio controls and added some functionality I use from other boards.
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | NUM LK | P/ | P* | F7 | F8 | F9 | F10 | F11 | F12 |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | SELECT | CALC | UP | | | NEXT | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | PREV | LEFT | DOWN | RIGHT | DEL | PLAY | P4 | P5 | P6 | + | | RESET | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | VOL- | MUTE | VOL+ | APP | | STOP | P1 | P2 | P3 | PENT | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | RGB TG | FN | RGB RMD| RGB MD | P0 | | P. | PENT | PENT | FN | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
KC_MSEL, KC_CALC, KC_UP , _______, _______, KC_MNXT, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, \
KC_MPRV, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , KC_MPLY, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______, \
KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, _______, KC_MSTP, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______, \
_______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______ \
),
};
@@ -0,0 +1 @@
# Updated the keymap, based off XD75 default, to meet my needs. Refer to rules.mk to enable or disable rgb and other features.
@@ -0,0 +1,19 @@
# Copyright 2013 Jun Wako <[email protected]>
#
# 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/>.
#Had to disable the first 2 to get the firmware size down enough after enabling the rgb controls.
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
COMMAND_ENABLE = no # Commands for debug and configuration
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+3 -3
View File
@@ -46,14 +46,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------| * |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | / |Shift | * | Shift| Z | X | C | V | B | N | M | , | . | / |Shift |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | | LGUI | Alt |Lower | SPC | Enter|Raise |Point.| | LOCK | | * | Ctrl | | LGUI | Alt |Lower | SPC | Enter|Raise |Point.| | LOCK | Ctrl |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
*/ */
[_QWERTY] = LAYOUT_planck_grid( [_QWERTY] = LAYOUT_planck_grid(
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT , KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, _______, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, PT, _______, LOCK, _______ KC_LCTL, _______, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_ENT, RAISE, PT, _______, LOCK, KC_RCTL
), ),
/* Lower /* Lower
@@ -1,5 +1,18 @@
<!-- -*- mode: markdown; fill-column: 8192 -*- --> <!-- -*- mode: markdown; fill-column: 8192 -*- -->
## v1.12
*2018-11-22*
### Overall changes
* Updated to work with QMK master.
### Miscellaneous
* The `😂` symbol can be entered with UCIS.
* `LEAD r` now inputs `Right Alt`.
## v1.11 ## v1.11
*2017-10-01* *2017-10-01*
Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

+7 -1
View File
@@ -13,6 +13,7 @@
#include "eeconfig.h" #include "eeconfig.h"
#include "wait.h" #include "wait.h"
#include "version.h" #include "version.h"
#include "print.h"
/* Layers */ /* Layers */
@@ -1033,6 +1034,10 @@ void matrix_scan_user(void) {
} }
#endif #endif
SEQ_ONE_KEY (KC_R) {
ang_tap(KC_RALT, 0);
}
SEQ_ONE_KEY (KC_T) { SEQ_ONE_KEY (KC_T) {
time_travel = !time_travel; time_travel = !time_travel;
} }
@@ -1126,7 +1131,8 @@ const qk_ucis_symbol_t ucis_symbol_table[] = UCIS_TABLE
UCIS_SYM("micro", 0x00b5), UCIS_SYM("micro", 0x00b5),
UCIS_SYM("tm", 0x2122), UCIS_SYM("tm", 0x2122),
UCIS_SYM("child", 0x1f476), UCIS_SYM("child", 0x1f476),
UCIS_SYM("family", 0x1F46A) UCIS_SYM("family", 0x1F46A),
UCIS_SYM("joy", 0x1F602)
); );
bool process_record_user (uint16_t keycode, keyrecord_t *record) { bool process_record_user (uint16_t keycode, keyrecord_t *record) {
+9 -3
View File
@@ -3,7 +3,12 @@
algernon's layout algernon's layout
======================= =======================
This is an unconventional layout for the [ErgoDox EZ][ez]. For more details about the history of the layout, see my [blog posts about my ErgoDox journey][blog-ergodox]. This is the layout I used to use on my [ErgoDox EZ][ez], while I was using [QMK][qmk]. I no longer do so, and this repository is obsolete, and not updated anymore. My current firmware is based on [Kaleidoscope][kaleidoscope], and is located [elsewhere][ergodox-sketch]. I'm keeping the repo around for historical and educational purposes.
[kaleidoscope]: https://github.com/keyboardio/Kaleidoscope
[ergodox-sketch]: https://git.madhouse-project.org/algernon/ErgoDox-sketch
Nevertheless, this is an unconventional layout for the [ErgoDox EZ][ez]. For more details about the history of the layout, see my [blog posts about my ErgoDox journey][blog-ergodox].
[ez]: https://ergodox-ez.com/ [ez]: https://ergodox-ez.com/
[blog-ergodox]: https://asylum.madhouse-project.org/blog/tags/ergodox/ [blog-ergodox]: https://asylum.madhouse-project.org/blog/tags/ergodox/
@@ -57,6 +62,7 @@ At its core, this is a Dvorak layout, with some minor changes. The more interest
- `LEAD d` toggles logging keypress positions to the HID console. - `LEAD d` toggles logging keypress positions to the HID console.
- `LEAD t` toggles time travel. Figuring out the current `date` is left as an exercise to the reader. - `LEAD t` toggles time travel. Figuring out the current `date` is left as an exercise to the reader.
- `LEAD u` enters the [Unicode symbol input](#unicode-symbol-input) mode. - `LEAD u` enters the [Unicode symbol input](#unicode-symbol-input) mode.
- `LEAD r` inputs `Right Alt`, which is the `Compose` key of my choice.
The symbols on the front in the image above have the same color as the key that activates them, with the exception of the **Arrow** layer, which is just black on the front. The symbols on the front in the image above have the same color as the key that activates them, with the exception of the **Arrow** layer, which is just black on the front.
@@ -128,13 +134,13 @@ $ git clone https://github.com/qmk/qmk_firmware.git
$ cd qmk_firmware $ cd qmk_firmware
$ git clone https://github.com/algernon/ergodox-layout.git \ $ git clone https://github.com/algernon/ergodox-layout.git \
layouts/community/ergodox/algernon_master layouts/community/ergodox/algernon_master
$ make ergodox_ez-algernon_master $ make ergodox_ez:algernon_master
``` ```
From time to time, updates may be submitted back to the QMK repository. If you are reading it there, you can build the firmware like any other firmware included with it (assuming you are in the root directory of the firmware): From time to time, updates may be submitted back to the QMK repository. If you are reading it there, you can build the firmware like any other firmware included with it (assuming you are in the root directory of the firmware):
``` ```
$ make ergodox_ez-algernon $ make ergodox_ez:algernon
``` ```
## Using on Windows ## Using on Windows
+2 -1
View File
@@ -9,8 +9,9 @@ KEYLOGGER_ENABLE ?= yes
UCIS_ENABLE = yes UCIS_ENABLE = yes
MOUSEKEY_ENABLE = no MOUSEKEY_ENABLE = no
LEADER_ENABLE = yes LEADER_ENABLE = yes
RGBLIGHT_ENABLE = no
AUTOLOG_ENABLE ?= no AUTOLOG_ENABLE ?= yes
ifeq (${FORCE_NKRO},yes) ifeq (${FORCE_NKRO},yes)
OPT_DEFS += -DFORCE_NKRO OPT_DEFS += -DFORCE_NKRO
+2 -2
View File
@@ -61,9 +61,9 @@ elif grep ID /etc/os-release | grep -q 'arch\|manjaro'; then
avr-binutils \ avr-binutils \
avr-libc \ avr-libc \
avr-gcc \ avr-gcc \
base-devel \ base-devel \
dfu-util \ dfu-util \
diff-utils \ diffutils \
gcc \ gcc \
git \ git \
unzip \ unzip \