Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0db40ff11 | ||
|
|
3363743bf7 | ||
|
|
7bc7c34d4f | ||
|
|
ee8627e078 | ||
|
|
3dd6d53942 | ||
|
|
2943d19ecd | ||
|
|
48262bdce0 | ||
|
|
b7dd415c97 | ||
|
|
8837b9d99e | ||
|
|
ad91454574 |
No files matched your search
+13
-12
@@ -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>`</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>`</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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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 |
@@ -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) {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 \
|
||||||
|
|||||||
Reference in new issue
Block a user