Compare commits

...
6 Commits
Author SHA1 Message Date
Erovia 8123dd2649 CLI: Hide json-keymap subcommand, as it's been deprecated. 2020-03-18 10:17:23 -07:00
Frederick Hirsch 1ec648932f [Keymap] Add the fsck layout for iris (#8473) 2020-03-18 09:48:00 -07:00
Alfred Maler 427f7b3a39 [Userspace] alfrdmalr: swap # and @ symbols (#8469) 2020-03-17 21:44:55 -07:00
Ryan c670240503 Update UK keymap and sendstring LUT (#8458) 2020-03-17 17:09:12 -07:00
Jann-Niklas Zimmermann 59d6b0faab [Keymap] Corodiak's Kyria (#8444)
* Add kyria keymap

* Delete wrong readme.md

* Move layer keys

* Refine keymap

* Clean up

* Add comment

* Improve OS depending macros

* Update keymap overview

* Add review suggestions
2020-03-17 16:57:53 -07:00
Frei 6f55aa993a [docs] Note the need to flash both sides for rgb layers. (#8467)
Update feature_rgblight.md to note that for split dual-mcu boards, 
both sides must be flash to get the new value of the rgblight_layers.

https://github.com/qmk/qmk_firmware/pull/7768#issuecomment-600237611
2020-03-17 23:43:04 +00:00
11 changed files with 649 additions and 157 deletions

No files matched your search

+2
View File
@@ -228,6 +228,8 @@ bool led_update_user(led_t led_state) {
} }
``` ```
Note: For split keyboards with two controllers, both sides need to be flashed when updating the contents of rgblight_layers.
## Functions ## Functions
If you need to change your RGB lighting in code, for example in a macro to change the color whenever you switch layers, QMK provides a set of functions to assist you. See [`rgblight.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight.h) for the full list, but the most commonly used functions include: If you need to change your RGB lighting in code, for example in a macro to change the color whenever you switch layers, QMK provides a set of functions to assist you. See [`rgblight.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight.h) for the full list, but the most commonly used functions include:
@@ -0,0 +1,28 @@
/*
Copyright 2017 Danny Nguyen <[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/>.
*/
#pragma once
// #define USE_I2C
#define EE_HANDS
#undef RGBLED_NUM
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 12
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
@@ -0,0 +1,40 @@
#include QMK_KEYBOARD_H
#define _QWERTY 0
#define _RAISE 1
enum custom_keycodes {
QWERTY = SAFE_RANGE,
RAISE,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, 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_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_DEL, 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_ENT, KC_SPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
KC_LCTL, MO(_RAISE), KC_ENT, KC_SPC, KC_LGUI, KC_LALT
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
),
[_RAISE] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
_______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, KC_UNDS, KC_PLUS, _______, _______, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_ESC, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDN, KC_UNDS, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_NUHS, KC_NUBS, KC_VOLD, KC_VOLU, _______,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
_______, _______, _______, _______, _______, _______
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
),
};
@@ -0,0 +1,3 @@
![iris:fsck Layout Image](https://i.imgur.com/C2XtWR5.png)
# fsck's Iris Layout
+45
View File
@@ -0,0 +1,45 @@
/* Copyright 2019 Thomas Baart <[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/>.
*/
#pragma once
#ifdef OLED_DRIVER_ENABLE
#define OLED_DISPLAY_128X64
#endif
#ifdef RGBLIGHT_ENABLE
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
#endif
// The Leader key allows to flexibly assign macros to key sequences.
#define LEADER_PER_KEY_TIMING
#define LEADER_TIMEOUT 350
#define TAPPING_TERM 200
// Turn off on slave
#define WAIT_FOR_USB
// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
#define SPLIT_USB_DETECT
#define NO_USB_STARTUP_CHECK
// Allows to use either side as the master. Look at the documentation for info:
// https://docs.qmk.fm/#/config_options?id=setting-handedness
#define EE_HANDS
+321
View File
@@ -0,0 +1,321 @@
/* Copyright 2019 Thomas Baart <[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/>.
*/
#include QMK_KEYBOARD_H
typedef union {
uint32_t raw;
struct {
bool osIsWindows;
};
} user_config_t;
user_config_t user_config;
enum layers {
_QWERTY = 0,
_COLEMAK,
_NAV,
_SYMBOLS,
_NUM,
_ADJUST
};
enum custom_keycodes {
Qwerty = SAFE_RANGE,
Colemak,
Undo,
Cut,
Copy,
Paste,
NxtWord,
PrvWord
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* Base Layer: QWERTY
*
* ,-------------------------------------------. ,-------------------------------------------.
* | TAB | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | NAV | A | S | D | F | G | | H | J | K | L | ; : | ' " |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | LShift | Z | X | C | V | B |Enter | ESC | |ADJUST|Space | N | M | , < | . > | / ? | Del |
* `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
* | LCTL | GUI | RALT | | NUM | | NUM | | SYMB | NAV |LEADER|
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_QWERTY] = LAYOUT(
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC,
MO(_NAV), 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 , XXXXXXX, KC_ESC , MO(_ADJUST), XXXXXXX, KC_N, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, RSFT_T(KC_DEL),
KC_LCTL, KC_LGUI, KC_RALT, KC_ENT ,TT(_NUM),TT(_NUM), KC_SPC, MO(_SYMBOLS), MO(_NAV), KC_LEAD
),
/*
* Base Layer: Colemak
*
* ,-------------------------------------------. ,-------------------------------------------.
* | TAB | Q | W | F | P | G | | J | L | U | Y | ; : | Bksp |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | NAV | A | R | S | T | D | | H | N | E | I | O | ' " |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | LShift | Z | X | C | V | B |Enter | ESC | |ADJUST|Space | K | M | , < | . > | / ? | Del |
* `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
* | LCTL | GUI | RALT | | NUM | | NUM | | SYMB | NAV |LEADER|
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_COLEMAK] = LAYOUT(
KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J, KC_L , KC_U , KC_Y ,KC_SCLN, KC_BSPC,
MO(_NAV), KC_A , KC_R , KC_S , KC_T , KC_D , KC_H, KC_N , KC_E , KC_I , KC_O , KC_QUOT,
KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , XXXXXXX, KC_ESC , MO(_ADJUST), XXXXXXX, KC_K, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, RSFT_T(KC_DEL),
KC_LCTL, KC_LGUI, KC_RALT, KC_ENT ,TT(_NUM),TT(_NUM), KC_SPC, MO(_SYMBOLS), MO(_NAV), KC_LEAD
),
/*
* Navigation Layer: Cursor, Text Navigation
*
* ,-------------------------------------------. ,-------------------------------------------.
* | | | |WheelU| | | | |PrvWord| Up |NxtWord| | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | | LCTL |WheelD|LSFT | Bksp | | Bksp | Left | Down |Right | Del | |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | Undo | Cut | Copy |Paste | | | | | | | | Home | | End | | |
* `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
* | | | | |Space | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_NAV] = LAYOUT(
_______, _______, _______, KC_WH_U, _______, _______, _______, PrvWord, KC_UP , NxtWord, _______, _______,
_______, _______, KC_LCTL, KC_WH_D, KC_LSFT, KC_BSPC, KC_BSPC, KC_LEFT, KC_DOWN,KC_RIGHT, KC_DEL , _______,
_______, Undo , Cut , Copy , Paste , _______, XXXXXXX, _______, _______, XXXXXXX, _______, KC_HOME, _______, KC_END , _______, _______,
_______, _______, _______, _______, KC_SPC , _______, _______, _______, _______, _______
),
/*
* Symbol Layer
*
* ,-------------------------------------------. ,-------------------------------------------.
* | ` ~ | ! | @ | # | $ | % | | ^ | { | } | | € | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | ~ | | | - _ | = + | & | | * | ( | ) | | | | |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | | | _ | + | | | | | | | | [ { | ] } | | \ | | |
* `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
* | | | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_SYMBOLS] = LAYOUT(
KC_GRV, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_LCBR, KC_RCBR, _______,ALGR(KC_5),_______,
KC_TILD, _______, _______, KC_MINS, KC_EQL , KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, KC_PIPE, _______,
_______, _______, _______, KC_UNDS, KC_PLUS, _______, XXXXXXX, _______, _______, XXXXXXX, _______, KC_LBRC, KC_RBRC, _______, KC_BSLS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/*
* Num Layer
*
* ,-------------------------------------------. ,-------------------------------------------.
* | | 1 ! | 2 @ | 3 # | 4 $ | 5 % | | / | 7 & | 8 * | 9 ( | - | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | | * | 4 $ | 5 % | 6 ^ | + | Space |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | | | | | | | | | | | 0 ) | 1 ! | 2 @ | 3 # | = | Enter |
* `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
* | | | | | | | | | | , | . |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_NUM] = LAYOUT(
_______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_PSLS, KC_7 , KC_8 , KC_9 , KC_PMNS, _______,
_______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_PAST, KC_4 , KC_5 , KC_6 , KC_PLUS, KC_SPC ,
_______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, XXXXXXX, KC_0 , KC_1 , KC_2 , KC_3 , KC_PEQL, KC_ENT ,
_______, _______, _______, _______, _______, _______, _______, _______, KC_PCMM, KC_DOT
),
/*
* Adjust Layer: Media
*
* ,-------------------------------------------. ,-------------------------------------------.
* | | F9 | F10 | F11 | F12 | | | SAI | | Vol+ | | Play | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | F5 | F6 | F7 | F8 | | | HUI | Prev | Vol- | Nxt | | |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | F1 | F2 | F3 | F4 | | | | | | | VAI | Mute | | | | |
* `----------------------+------+------+------+ +------| |------+ +------+------+------+----------------------'
* |Qwerty|Colemak| | | | | RGB | | RGB | | |
* | Dflt | Dflt | | | | |Toggle| | Mode | | |
* `----------------------------------' `----------------------------------'
*/
[_ADJUST] = LAYOUT(
_______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, RGB_SAI, _______, KC_VOLU, _______, KC_MPLY, _______,
_______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, RGB_HUI, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______,
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, XXXXXXX, _______, _______, XXXXXXX, RGB_VAI, KC_MUTE, _______, _______, _______, _______,
Qwerty , Colemak, _______, _______, _______, RGB_TOG, _______, RGB_MOD, _______, _______
),
// /*
// * Layer template
// *
// * ,-------------------------------------------. ,-------------------------------------------.
// * | | | | | | | | | | | | | |
// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
// * | | | | | | | | | | | | | |
// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
// * | | | | | | | | | | | | | | | | | |
// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
// * | | | | | | | | | | | |
// * | | | | | | | | | | | |
// * `----------------------------------' `----------------------------------'
// */
// [_LAYERINDEX] = LAYOUT(
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
// ),
};
void keyboard_post_init_user(void) {
// Call the post init code.
// Read the user config from EEPROM
user_config.raw = eeconfig_read_user();
// Default RGB settings, without saving settings
rgblight_enable_noeeprom();
rgblight_sethsv_noeeprom(HSV_CYAN);
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch(keycode) {
case Qwerty:
if (record->event.pressed) {
set_single_persistent_default_layer(_QWERTY);
}
break;
case Colemak:
if (record->event.pressed) {
set_single_persistent_default_layer(_COLEMAK);
}
break;
case Undo:
if (record->event.pressed) {
if (user_config.osIsWindows == 1) {
tap_code16(C(KC_Z));
} else if (user_config.osIsWindows == 0) {
tap_code16(G(KC_Z));
}
}
break;
case Cut:
if (record->event.pressed) {
if (user_config.osIsWindows == 1) {
tap_code16(C(KC_X));
} else if (user_config.osIsWindows == 0) {
tap_code16(G(KC_X));
}
}
break;
case Copy:
if (record->event.pressed) {
if (user_config.osIsWindows == 1) {
tap_code16(C(KC_C));
} else if (user_config.osIsWindows == 0) {
tap_code16(G(KC_C));
}
}
break;
case Paste:
if (record->event.pressed) {
if (user_config.osIsWindows == 1) {
tap_code16(C(KC_V));
} else if (user_config.osIsWindows == 0) {
tap_code16(G(KC_V));
}
}
break;
case PrvWord:
if (record->event.pressed) {
if (user_config.osIsWindows == 1) {
tap_code16(C(KC_LEFT));
} else if (user_config.osIsWindows == 0) {
tap_code16(A(KC_LEFT));
}
}
break;
case NxtWord:
if (record->event.pressed) {
if (user_config.osIsWindows == 1) {
tap_code16(C(KC_RGHT));
} else if (user_config.osIsWindows == 0) {
tap_code16(A(KC_RGHT));
}
}
break;
}
return true;
};
LEADER_EXTERNS();
void matrix_scan_user(void) {
LEADER_DICTIONARY() {
leading = false;
leader_end();
// Set current OS indicator to macOs
SEQ_ONE_KEY(KC_M) {
user_config.osIsWindows = false;
eeconfig_update_user(user_config.raw);
}
// Set current OS indicator to Windows
SEQ_ONE_KEY(KC_W) {
user_config.osIsWindows = true;
eeconfig_update_user(user_config.raw);
}
// Screenshot
SEQ_ONE_KEY(KC_S) {
if (user_config.osIsWindows == 1) {
tap_code16(S(G(KC_S)));
} else if (user_config.osIsWindows == 0) {
tap_code16(S(G(KC_4)));
}
}
// Video
SEQ_ONE_KEY(KC_V) {
if (user_config.osIsWindows == 0) {
tap_code16(S(G(KC_5)));
}
}
// Sleep
SEQ_ONE_KEY(KC_P) {
if (user_config.osIsWindows == 1) {
SEND_STRING(SS_LGUI("x") "u" "h");
} else if (user_config.osIsWindows == 0) {
tap_code16(A(G(KC_PWR)));
}
}
}
}
@@ -0,0 +1,4 @@
# OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
# ENCODER_ENABLE = yes # Enables the use of one or more encoders
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
LEADER_ENABLE = yes # Enables the Leader shortcut funtionality
+1 -1
View File
@@ -8,7 +8,7 @@ from milc import cli
@cli.argument('-o', '--output', arg_only=True, type=Path, help='File to write to') @cli.argument('-o', '--output', arg_only=True, type=Path, help='File to write to')
@cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages") @cli.argument('-q', '--quiet', arg_only=True, action='store_true', help="Quiet mode, only output error messages")
@cli.argument('filename', arg_only=True, help='Configurator JSON file') @cli.argument('filename', arg_only=True, help='Configurator JSON file')
@cli.subcommand('Creates a keymap.c from a QMK Configurator export.') @cli.subcommand('Creates a keymap.c from a QMK Configurator export.', hidden=True)
def json_keymap(cli): def json_keymap(cli):
"""Renamed to `qmk json2c`. """Renamed to `qmk json2c`.
""" """
+199 -150
View File
@@ -13,165 +13,214 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef KEYMAP_UK_H
#define KEYMAP_UK_H #pragma once
#include "keymap.h" #include "keymap.h"
// Normal characters // clang-format off
#define UK_HASH KC_NUHS
#define UK_BSLS KC_NUBS
// Shifted characters /*
#define UK_NOT LSFT(KC_GRV) * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
#define UK_DQUO LSFT(KC_2) * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │       │
#define UK_PND LSFT(KC_3) * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
#define UK_AT LSFT(KC_QUOT) * │     │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │     │
#define UK_TILD LSFT(KC_NUHS) * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
#define UK_PIPE LSFT(KC_NUBS) * │      │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │    │
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │    │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │          │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │    │    │    │                        │    │    │    │    │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
#define UK_GRV KC_GRV // `
#define UK_1 KC_1 // 1
#define UK_2 KC_2 // 2
#define UK_3 KC_3 // 3
#define UK_4 KC_4 // 4
#define UK_5 KC_5 // 5
#define UK_6 KC_6 // 6
#define UK_7 KC_7 // 7
#define UK_8 KC_8 // 8
#define UK_9 KC_9 // 9
#define UK_0 KC_0 // 0
#define UK_MINS KC_MINS // -
#define UK_EQL KC_EQL // =
// Row 2
#define UK_Q KC_Q // Q
#define UK_W KC_W // W
#define UK_E KC_E // E
#define UK_R KC_R // R
#define UK_T KC_T // T
#define UK_Y KC_Y // Y
#define UK_U KC_U // U
#define UK_I KC_I // I
#define UK_O KC_O // O
#define UK_P KC_P // P
#define UK_LBRC KC_LBRC // [
#define UK_RBRC KC_RBRC // ]
// Row 3
#define UK_A KC_A // A
#define UK_S KC_S // S
#define UK_D KC_D // D
#define UK_F KC_F // F
#define UK_G KC_G // G
#define UK_H KC_H // H
#define UK_J KC_J // J
#define UK_K KC_K // K
#define UK_L KC_L // L
#define UK_SCLN KC_SCLN // ;
#define UK_QUOT KC_QUOT // '
#define UK_HASH KC_NUHS // #
// Row 4
#define UK_BSLS KC_NUBS // (backslash)
#define UK_Z KC_Z // Z
#define UK_X KC_X // X
#define UK_C KC_C // C
#define UK_V KC_V // V
#define UK_B KC_B // B
#define UK_N KC_N // N
#define UK_M KC_M // M
#define UK_COMM KC_COMM // ,
#define UK_DOT KC_DOT // .
#define UK_SLSH KC_SLSH // /
// Alt Gr-ed characters /* Shifted symbols
#define UK_BRKP ALGR(KC_GRV) * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
#define UK_EURO ALGR(KC_4) * │ ¬ │ ! │ " │ £ │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │       │
#define UK_EACT ALGR(KC_E) * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
#define UK_UACT ALGR(KC_U) * │     │   │   │   │   │   │   │   │   │   │   │ { │ } │     │
#define UK_IACT ALGR(KC_I) * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
#define UK_OACT ALGR(KC_O) * │      │   │   │   │   │   │   │   │   │   │ : │ @ │ ~ │    │
#define UK_AACT ALGR(KC_A) * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
* │    │ | │   │   │   │   │   │   │   │ < │ > │ ? │          │
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
* │    │    │    │                        │    │    │    │    │
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
*/
// Row 1
#define UK_NOT S(UK_GRV) // ¬
#define UK_EXLM S(UK_1) // !
#define UK_DQUO S(UK_2) // "
#define UK_PND S(UK_3) // £
#define UK_DLR S(UK_4) // $
#define UK_PERC S(UK_5) // %
#define UK_CIRC S(UK_6) // ^
#define UK_AMPR S(UK_7) // &
#define UK_ASTR S(UK_8) // *
#define UK_LPRN S(UK_9) // (
#define UK_RPRN S(UK_0) // )
#define UK_UNDS S(UK_MINS) // _
#define UK_PLUS S(UK_EQL) // +
// Row 2
#define UK_LCBR S(UK_LBRC) // {
#define UK_RCBR S(UK_RBRC) // }
// Row 3
#define UK_COLN S(UK_SCLN) // :
#define UK_AT S(UK_QUOT) // @
#define UK_TILD S(UK_HASH) // ~
// Row 4
#define UK_PIPE S(UK_BSLS) // |
#define UK_LABK S(UK_COMM) // <
#define UK_RABK S(UK_DOT) // >
#define UK_QUES S(UK_SLSH) // ?
// Duplicate US keyboard so that we don't have to use it /* AltGr symbols
#define UK_A KC_A * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
#define UK_B KC_B * │ ¦ │   │   │   │ € │   │   │   │   │   │   │   │   │       │
#define UK_C KC_C * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
#define UK_D KC_D * │     │   │   │ É │   │   │   │ Ú │ Í │ Ó │   │   │   │     │
#define UK_E KC_E * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
#define UK_F KC_F * │      │ Á │   │   │   │   │   │   │   │   │   │   │   │    │
#define UK_G KC_G * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
#define UK_H KC_H * │    │   │   │   │   │   │   │   │   │   │   │   │          │
#define UK_I KC_I * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
#define UK_J KC_J * │    │    │    │                        │    │    │    │    │
#define UK_K KC_K * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
#define UK_L KC_L */
#define UK_M KC_M // Row 1
#define UK_N KC_N #define UK_BRKP ALGR(UK_GRV) // ¦
#define UK_O KC_O #define UK_EURO ALGR(UK_4) // €
#define UK_P KC_P // Row 2
#define UK_Q KC_Q #define UK_EACU ALGR(KC_E) // É
#define UK_R KC_R #define UK_UACU ALGR(KC_U) // Ú
#define UK_S KC_S #define UK_IACU ALGR(KC_I) // Í
#define UK_T KC_T #define UK_OACU ALGR(KC_O) // Ó
#define UK_U KC_U // Row 3
#define UK_V KC_V #define UK_AACU ALGR(KC_A) // Á
#define UK_W KC_W
#define UK_X KC_X
#define UK_Y KC_Y
#define UK_Z KC_Z
#define UK_1 KC_1 // DEPRECATED
#define UK_2 KC_2 #define UK_ESC KC_ESC
#define UK_3 KC_3 #define UK_F1 KC_F1
#define UK_4 KC_4 #define UK_F2 KC_F2
#define UK_5 KC_5 #define UK_F3 KC_F3
#define UK_6 KC_6 #define UK_F4 KC_F4
#define UK_7 KC_7 #define UK_F5 KC_F5
#define UK_8 KC_8 #define UK_F6 KC_F6
#define UK_9 KC_9 #define UK_F7 KC_F7
#define UK_0 KC_0 #define UK_F8 KC_F8
#define UK_F9 KC_F9
#define UK_F1 KC_F1 #define UK_F10 KC_F10
#define UK_F2 KC_F2 #define UK_F11 KC_F11
#define UK_F3 KC_F3 #define UK_F12 KC_F12
#define UK_F4 KC_F4 #define UK_PSCR KC_PSCR
#define UK_F5 KC_F5 #define UK_SLCK KC_SLCK
#define UK_F6 KC_F6 #define UK_PAUS KC_PAUS
#define UK_F7 KC_F7 #define UK_BSPC KC_BSPC
#define UK_F8 KC_F8 #define UK_TAB KC_TAB
#define UK_F9 KC_F9 #define UK_ENT KC_ENT
#define UK_F10 KC_F10 #define UK_LSFT KC_LSFT
#define UK_F11 KC_F11 #define UK_RSFT KC_RSFT
#define UK_F12 KC_F12 #define UK_LCTL KC_LCTL
#define UK_F13 KC_F13 #define UK_LGUI KC_LGUI
#define UK_F14 KC_F14 #define UK_LALT KC_LALT
#define UK_F15 KC_F15 #define UK_SPC KC_SPC
#define UK_F16 KC_F16 #define UK_RALT KC_RALT
#define UK_F17 KC_F17 #define UK_RGUI KC_RGUI
#define UK_F18 KC_F18 #define UK_RCTL KC_RCTL
#define UK_F19 KC_F19 #define UK_INS KC_INS
#define UK_F20 KC_F20 #define UK_DEL KC_DEL
#define UK_F21 KC_F21 #define UK_HOME KC_HOME
#define UK_F22 KC_F22 #define UK_END KC_END
#define UK_F23 KC_F23 #define UK_PGUP KC_PGUP
#define UK_F24 KC_F24 #define UK_PGDN KC_PGDN
#define UK_UP KC_UP
#define UK_SCLN KC_SCLN #define UK_LEFT KC_LEFT
#define UK_COMM KC_COMM #define UK_DOWN KC_DOWN
#define UK_DOT KC_DOT #define UK_RGHT KC_RGHT
#define UK_SLSH KC_SLSH
#define UK_EXLM KC_EXLM
#define UK_UNDS KC_UNDS
#define UK_MINS KC_MINS
#define UK_LCBR KC_LCBR
#define UK_RCBR KC_RCBR
#define UK_DLR KC_DLR
#define UK_PERC KC_PERC
#define UK_PLUS KC_PLUS
#define UK_EQL KC_EQL
#define UK_LPRN KC_LPRN
#define UK_RPRN KC_RPRN
#define UK_CIRC KC_CIRC
#define UK_AMPR KC_AMPR
#define UK_LABK KC_LABK
#define UK_LBRC KC_LBRC
#define UK_RBRC KC_RBRC
#define UK_RABK KC_RABK
#define UK_GRV KC_GRV
#define UK_ASTR KC_ASTR
#define UK_QUOT KC_QUOT
#define UK_P1 KC_P1
#define UK_P2 KC_P2
#define UK_P3 KC_P3
#define UK_P4 KC_P4
#define UK_P5 KC_P5
#define UK_P6 KC_P6
#define UK_P7 KC_P7
#define UK_P8 KC_P8
#define UK_P9 KC_P9
#define UK_P0 KC_P0
#define UK_PDOT KC_PDOT
#define UK_PCMM KC_PCMM
#define UK_PSLS KC_PSLS #define UK_PSLS KC_PSLS
#define UK_PAST KC_PAST #define UK_PAST KC_PAST
#define UK_PMNS KC_PMNS #define UK_PMNS KC_PMNS
#define UK_PPLS KC_PPLS #define UK_PPLS KC_PPLS
#define UK_PEQL KC_PEQL
#define UK_PENT KC_PENT #define UK_PENT KC_PENT
#define UK_P1 KC_P1
#define UK_TAB KC_TAB #define UK_P2 KC_P2
#define UK_ENT KC_ENT #define UK_P3 KC_P3
#define UK_LSFT KC_LSFT #define UK_P4 KC_P4
#define UK_LCTL KC_LCTL #define UK_P5 KC_P5
#define UK_LALT KC_LALT #define UK_P6 KC_P6
#define UK_LGUI KC_LGUI #define UK_P7 KC_P7
#define UK_SPC KC_SPC #define UK_P8 KC_P8
#define UK_DEL KC_DEL #define UK_P9 KC_P9
#define UK_BSPC KC_BSPC #define UK_P0 KC_P0
#define UK_RSFT KC_RSFT #define UK_PDOT KC_PDOT
#define UK_RCTL KC_RCTL #define UK_PEQL KC_PEQL
#define UK_RALT KC_RALT #define UK_PCMM KC_PCMM
#define UK_RGUI KC_RGUI #define UK_F13 KC_F13
#define UK_ESC KC_ESC #define UK_F14 KC_F14
#define UK_PSCR KC_PSCR #define UK_F15 KC_F15
#define UK_SLCK KC_SLCK #define UK_F16 KC_F16
#define UK_PAUS KC_PAUS #define UK_F17 KC_F17
#define UK_INS KC_INS #define UK_F18 KC_F18
#define UK_HOME KC_HOME #define UK_F19 KC_F19
#define UK_PGUP KC_PGUP #define UK_F20 KC_F20
#define UK_END KC_END #define UK_F21 KC_F21
#define UK_PGDN KC_PGDN #define UK_F22 KC_F22
#define UK_LEFT KC_LEFT #define UK_F23 KC_F23
#define UK_RGHT KC_RGHT #define UK_F24 KC_F24
#define UK_UP KC_UP #define UK_EACT UK_EACU
#define UK_DOWN KC_DOWN #define UK_UACT UK_UACU
#define UK_IACT UK_IACU
#endif #define UK_OACT UK_OACU
#define UK_AACT UK_OACU
+2 -2
View File
@@ -40,7 +40,7 @@ const uint8_t ascii_to_shift_lut[16] PROGMEM = {
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0), KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0)
}; };
const uint8_t ascii_to_keycode_lut[128] PROGMEM = { const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
@@ -54,7 +54,7 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
// ! " # $ % & ' // ! " # $ % & '
UK_SPC, UK_1, UK_2, UK_HASH, UK_4, UK_5, UK_7, UK_QUOT, KC_SPC, UK_1, UK_2, UK_HASH, UK_4, UK_5, UK_7, UK_QUOT,
// ( ) * + , - . / // ( ) * + , - . /
UK_9, UK_0, UK_8, UK_EQL, UK_COMM, UK_MINS, UK_DOT, UK_SLSH, UK_9, UK_0, UK_8, UK_EQL, UK_COMM, UK_MINS, UK_DOT, UK_SLSH,
// 0 1 2 3 4 5 6 7 // 0 1 2 3 4 5 6 7
+4 -4
View File
@@ -164,11 +164,11 @@ enum alfrdmalr_keycodes {
* ,-----------------------------------------------------------------------------------. * ,-----------------------------------------------------------------------------------.
* | TRNS | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | TRNS | * | TRNS | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | TRNS |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | ! | @ | { | } | | | ^ | $ | & | | | DEL | * | TRNS | ! | # | { | } | | | ^ | $ | & | | | DEL |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | < | > | ( | ) | | | - | + | = | \ | ` | * | TRNS | < | > | ( | ) | | | - | + | = | \ | ` |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | ~ | # | [ | ] | | | _ | * | % | / | TRNS | * | TRNS | ~ | @ | [ | ] | | | _ | * | % | / | TRNS |
* |------+------+------+------+------+------+------+------+------+------+------+------| * |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | * | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |
* `-----------------------------------------------------------------------------------' * `-----------------------------------------------------------------------------------'
@@ -176,9 +176,9 @@ enum alfrdmalr_keycodes {
// LEFT // LEFT
// - CORE // - CORE
#define ____SYMBOL_L1____ KC_EXCLAIM, KC_AT, KC_LCBR, KC_RCBR, KC_NO #define ____SYMBOL_L1____ KC_EXCLAIM, KC_HASH, KC_LCBR, KC_RCBR, KC_NO
#define ____SYMBOL_L2____ KC_LABK, KC_RABK, KC_LPRN, KC_RPRN, KC_NO #define ____SYMBOL_L2____ KC_LABK, KC_RABK, KC_LPRN, KC_RPRN, KC_NO
#define ____SYMBOL_L3____ KC_TILD, KC_HASH, KC_LBRC, KC_RBRC, KC_NO #define ____SYMBOL_L3____ KC_TILD, KC_AT, KC_LBRC, KC_RBRC, KC_NO
// - MODS // - MODS
#define ____SYMBOL_L4____ ______TRANS______ #define ____SYMBOL_L4____ ______TRANS______