mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-12-05 01:15:19 +00:00
Compare commits
18 Commits
223f84f18c
...
c64c69f335
Author | SHA1 | Date | |
---|---|---|---|
|
c64c69f335 | ||
|
2c19e5d1c3 | ||
|
c5b0e3a6a3 | ||
|
324bf4b90d | ||
|
1690d72906 | ||
|
a1a5dd6ddd | ||
|
f1e352548a | ||
|
8a553954f9 | ||
|
a09ab2f16a | ||
|
da52450152 | ||
|
aace32c80f | ||
|
7b9d471ba0 | ||
|
f16a0fa1e0 | ||
|
6a30f319cf | ||
|
319da117b7 | ||
|
b59f21330f | ||
|
01c61139b9 | ||
|
f8e89a1fe4 |
7
.github/workflows/ci_builds.yml
vendored
7
.github/workflows/ci_builds.yml
vendored
@ -20,7 +20,6 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
keymap: [default, via]
|
keymap: [default, via]
|
||||||
keyboard_folder: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]
|
|
||||||
|
|
||||||
container: ghcr.io/qmk/qmk_cli
|
container: ghcr.io/qmk/qmk_cli
|
||||||
|
|
||||||
@ -35,13 +34,13 @@ jobs:
|
|||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: pip3 install -r requirements.txt
|
run: pip3 install -r requirements.txt
|
||||||
|
|
||||||
- name: Run `qmk mass-compile` (keyboards ${{ matrix.keyboard_folder }}*, keymap ${{ matrix.keymap }})
|
- name: Run `qmk mass-compile` (keymap ${{ matrix.keymap }})
|
||||||
run: qmk mass-compile -j $(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -km ${{ matrix.keymap }} -f 'keyboard_folder=${{ matrix.keyboard_folder }}*'
|
run: qmk mass-compile -j $(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -km ${{ matrix.keymap }}
|
||||||
|
|
||||||
- name: 'Upload binaries'
|
- name: 'Upload binaries'
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: binaries-${{ matrix.keyboard_folder }}-${{ matrix.keymap }}
|
name: binaries-${{ matrix.keymap }}
|
||||||
if-no-files-found: ignore
|
if-no-files-found: ignore
|
||||||
path: |
|
path: |
|
||||||
*.bin
|
*.bin
|
||||||
|
23
keyboards/coban/pad3a/config.h
Normal file
23
keyboards/coban/pad3a/config.h
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/* Copyright 2021 RyanDam (https://github.com/RyanDam)
|
||||||
|
*
|
||||||
|
* 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 ENCODERS_PAD_A { GP5 }
|
||||||
|
#define ENCODERS_PAD_B { GP4 }
|
||||||
|
|
||||||
|
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
|
||||||
|
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
|
28
keyboards/coban/pad3a/info.json
Normal file
28
keyboards/coban/pad3a/info.json
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Coban Pad 3A",
|
||||||
|
"name": "Coban Pad 3A",
|
||||||
|
"url": "https://cobanstationery.com",
|
||||||
|
"maintainer": "Coban Stationery",
|
||||||
|
"manufacturer": "Coban Stationery",
|
||||||
|
"usb": {
|
||||||
|
"pid": "0xCC3A",
|
||||||
|
"vid": "0xCB3A",
|
||||||
|
"device_version": "1.1.0"
|
||||||
|
},
|
||||||
|
"matrix_pins": {
|
||||||
|
"direct": [
|
||||||
|
["GP8", "GP7", "GP6"]
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"processor": "RP2040",
|
||||||
|
"bootloader": "rp2040",
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"Mute", "x":0, "y":0, "matrix": [0, 0]},
|
||||||
|
{"label":"Next", "x":1, "y":0, "matrix": [0, 1]},
|
||||||
|
{"label":"Push", "x":3, "y":0, "matrix": [0, 2]},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
27
keyboards/coban/pad3a/keymaps/default/keymap.c
Normal file
27
keyboards/coban/pad3a/keymaps/default/keymap.c
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/* Copyright 2021 RyanDam (https://github.com/RyanDam)
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(KC_MUTE, KC_MNXT, KC_MPLY),
|
||||||
|
};
|
||||||
|
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
|
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
|
};
|
||||||
|
#endif
|
1
keyboards/coban/pad3a/keymaps/default/rules.mk
Normal file
1
keyboards/coban/pad3a/keymaps/default/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
ENCODER_MAP_ENABLE = yes
|
18
keyboards/coban/pad3a/keymaps/via/config.h
Normal file
18
keyboards/coban/pad3a/keymaps/via/config.h
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/* Copyright 2021 RyanDam (https://github.com/RyanDam)
|
||||||
|
*
|
||||||
|
* 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 DYNAMIC_KEYMAP_LAYER_COUNT 2
|
27
keyboards/coban/pad3a/keymaps/via/keymap.c
Normal file
27
keyboards/coban/pad3a/keymaps/via/keymap.c
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
/* Copyright 2021 RyanDam (https://github.com/RyanDam)
|
||||||
|
*
|
||||||
|
* 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
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(KC_MUTE, KC_MNXT, KC_MPLY),
|
||||||
|
};
|
||||||
|
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
|
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||||
|
};
|
||||||
|
#endif
|
3
keyboards/coban/pad3a/keymaps/via/rules.mk
Normal file
3
keyboards/coban/pad3a/keymaps/via/rules.mk
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
LTO_ENABLE = yes
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
29
keyboards/coban/pad3a/pad3a.c
Normal file
29
keyboards/coban/pad3a/pad3a.c
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/* Copyright 2021 RyanDam (https://github.com/RyanDam)
|
||||||
|
*
|
||||||
|
* 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 "quantum.h"
|
||||||
|
|
||||||
|
#if defined(ENCODER_ENABLE)
|
||||||
|
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||||
|
if (!encoder_update_user(index, clockwise)) { return false; }
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code_delay(KC_VOLU, 10);
|
||||||
|
} else {
|
||||||
|
tap_code_delay(KC_VOLD, 10);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
24
keyboards/coban/pad3a/readme.md
Normal file
24
keyboards/coban/pad3a/readme.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# Coban Pad 3A
|
||||||
|
|
||||||
|
![Coban Pad 3A](https://i.imgur.com/0afuIuYh.png)
|
||||||
|
|
||||||
|
Small macro keyboard with 2 hotswapable button and 1 EC11 rotary encoder
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [RyanDam](https://github.com/RyanDam)
|
||||||
|
* Hardware Supported: Coban Pad 3A
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make coban/pad3a:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make coban/pad3a:default:flash
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader:
|
||||||
|
|
||||||
|
* **boot button**: Hold the BOOT button on the back of the PCB while plug in usb cable
|
3
keyboards/coban/pad3a/rules.mk
Normal file
3
keyboards/coban/pad3a/rules.mk
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
MOUSEKEY_ENABLE = yes
|
||||||
|
EXTRAKEY_ENABLE = yes
|
||||||
|
ENCODER_ENABLE = yes
|
@ -66,51 +66,51 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
// RGB Matrix Animation modes. Explicitly enabled
|
// RGB Matrix Animation modes. Explicitly enabled
|
||||||
// For full list of effects, see:
|
// For full list of effects, see:
|
||||||
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
|
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
|
||||||
// # define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
# undef ENABLE_RGB_MATRIX_ALPHAS_MODS
|
||||||
// # define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
# undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||||
// # define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||||
// # define ENABLE_RGB_MATRIX_BREATHING
|
# undef ENABLE_RGB_MATRIX_BREATHING
|
||||||
// # define ENABLE_RGB_MATRIX_BAND_SAT
|
# undef ENABLE_RGB_MATRIX_BAND_SAT
|
||||||
// # define ENABLE_RGB_MATRIX_BAND_VAL
|
# undef ENABLE_RGB_MATRIX_BAND_VAL
|
||||||
// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||||
// # define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||||
// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||||
// # define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
# undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||||
// # define ENABLE_RGB_MATRIX_CYCLE_ALL
|
# undef ENABLE_RGB_MATRIX_CYCLE_ALL
|
||||||
// # define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
# undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||||
// # define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||||
// # define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
# undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||||
// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||||
// # define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||||
// # define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||||
// # define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
# undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||||
// # define ENABLE_RGB_MATRIX_DUAL_BEACON
|
# undef ENABLE_RGB_MATRIX_DUAL_BEACON
|
||||||
// # define ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||||
// # define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
# undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||||
// # define ENABLE_RGB_MATRIX_RAINDROPS
|
# undef ENABLE_RGB_MATRIX_RAINDROPS
|
||||||
// # define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||||
// # define ENABLE_RGB_MATRIX_HUE_BREATHING
|
# undef ENABLE_RGB_MATRIX_HUE_BREATHING
|
||||||
// # define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
# undef ENABLE_RGB_MATRIX_HUE_PENDULUM
|
||||||
// # define ENABLE_RGB_MATRIX_HUE_WAVE
|
# undef ENABLE_RGB_MATRIX_HUE_WAVE
|
||||||
// # define ENABLE_RGB_MATRIX_PIXEL_RAIN
|
# undef ENABLE_RGB_MATRIX_PIXEL_RAIN
|
||||||
// # define ENABLE_RGB_MATRIX_PIXEL_FLOW
|
# undef ENABLE_RGB_MATRIX_PIXEL_FLOW
|
||||||
// # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
|
||||||
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
|
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
|
||||||
// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
# undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||||
// # define ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||||
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
|
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
|
||||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||||
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||||
// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||||
# define ENABLE_RGB_MATRIX_SPLASH
|
# define ENABLE_RGB_MATRIX_SPLASH
|
||||||
// # define ENABLE_RGB_MATRIX_MULTISPLASH
|
# undef ENABLE_RGB_MATRIX_MULTISPLASH
|
||||||
// # define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
# undef ENABLE_RGB_MATRIX_SOLID_SPLASH
|
||||||
// # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define OLED_FONT_H "keyboards/crkbd/keymaps/toinux/glcdfont.c"
|
#define OLED_FONT_H "keyboards/crkbd/keymaps/toinux/glcdfont.c"
|
||||||
@ -119,3 +119,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
// #define SPLIT_LED_STATE_ENABLE
|
// #define SPLIT_LED_STATE_ENABLE
|
||||||
|
|
||||||
#define LAYER_STATE_16BIT
|
#define LAYER_STATE_16BIT
|
||||||
|
|
||||||
|
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright 2022 toinux
|
/* Copyright 2022 @toinux
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -59,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
|
|
||||||
// Gaming
|
// Gaming
|
||||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||||
// | Esc | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
|
// | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
|
||||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
// | Ctrl | A | S | D | F | G | | H | J | K | L | ;/Mous | ' |
|
// | Ctrl | A | S | D | F | G | | H | J | K | L | ;/Mous | ' |
|
||||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// | LALT |GAMING2 | Space | | Spc/NAV| RAISE |ACCENTS |
|
// | LALT |GAMING2 | Space | | Spc/NAV| RAISE |ACCENTS |
|
||||||
// `--------------------------' `--------------------------'
|
// `--------------------------' `--------------------------'
|
||||||
[_GAMING] = LAYOUT_split_3x6_3(
|
[_GAMING] = LAYOUT_split_3x6_3(
|
||||||
KC_ESC, 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MOSCLN, KC_QUOT,
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MOSCLN, KC_QUOT,
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFTENT,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFTENT,
|
||||||
KC_LALT, GAMING2, KC_SPC, SPCNAV, RAISE, ACCENTS
|
KC_LALT, GAMING2, KC_SPC, SPCNAV, RAISE, ACCENTS
|
||||||
@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
// ,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||||
// | Tab | 1 | 2 | 3 | 4 | 5 | | | | | | | |
|
// | Tab | 1 | 2 | 3 | 4 | 5 | | | | | | | |
|
||||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
// | Ctrl | 6 | 7 | 8 | 9 | 0 | | | | | | | |
|
// | Esc | 6 | 7 | 8 | 9 | 0 | | | | | | | |
|
||||||
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||||
// | LGui | Base | | Vol- | Vol+ | Mute | | | | | | | |
|
// | LGui | Base | | Vol- | Vol+ | Mute | | | | | | | |
|
||||||
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
// `--------+--------+--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------+--------+--------'
|
||||||
@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// `--------------------------' `--------------------------'
|
// `--------------------------' `--------------------------'
|
||||||
[_GAMING2] = LAYOUT_split_3x6_3(
|
[_GAMING2] = LAYOUT_split_3x6_3(
|
||||||
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_LCTL, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
KC_ESC, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
KC_LGUI, BASE, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
KC_LGUI, BASE, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
|
|
||||||
@ -212,7 +212,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// | | | | | | | |
|
// | | | | | | | |
|
||||||
// `--------------------------' `--------------------------'
|
// `--------------------------' `--------------------------'
|
||||||
[_ADJUST] = LAYOUT_split_3x6_3(
|
[_ADJUST] = LAYOUT_split_3x6_3(
|
||||||
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_NUM, KC_CAPS, KC_SCRL, XXXXXXX, XXXXXXX, XXXXXXX,
|
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_NUM, KC_CAPS, KC_SCRL, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||||
_______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______
|
||||||
@ -223,6 +223,15 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
|||||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case CTRLSC:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
|
||||||
#ifdef OLED_ENABLE
|
#ifdef OLED_ENABLE
|
||||||
|
@ -23,6 +23,7 @@ static const char gaming2_leds[] = {23, 18, 17, 10, 9, 22, 19, 16, 11, 8};
|
|||||||
static const char nav_leds[] = {38, 43, 44, 46};
|
static const char nav_leds[] = {38, 43, 44, 46};
|
||||||
static const char fun_leds[] = {45, 44, 37, 46, 43, 38, 47, 42, 39, 40};
|
static const char fun_leds[] = {45, 44, 37, 46, 43, 38, 47, 42, 39, 40};
|
||||||
static const char mouse_leds[] = {11, 16, 17, 19};
|
static const char mouse_leds[] = {11, 16, 17, 19};
|
||||||
|
static const char adjust_leds[] = {6, 33};
|
||||||
|
|
||||||
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
||||||
if (host_keyboard_led_state().caps_lock) {
|
if (host_keyboard_led_state().caps_lock) {
|
||||||
@ -32,7 +33,7 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||||||
case _GAMING:
|
case _GAMING:
|
||||||
if (is_keyboard_master()) {
|
if (is_keyboard_master()) {
|
||||||
for (uint8_t i = 0; i < 4; i++) {
|
for (uint8_t i = 0; i < 4; i++) {
|
||||||
rgb_matrix_set_color(gaming_leds[i], RGB_RED);
|
rgb_matrix_set_color(gaming_leds[i], 0x88, 0x00, 0x00);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -54,7 +55,9 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case _ADJUST:
|
case _ADJUST:
|
||||||
rgb_matrix_set_color(6, RGB_RED);
|
for (uint8_t i = 0; i < 2; i++) {
|
||||||
|
rgb_matrix_set_color(adjust_leds[i], RGB_RED);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case _MOUSE:
|
case _MOUSE:
|
||||||
if (is_keyboard_master()) {
|
if (is_keyboard_master()) {
|
||||||
|
@ -16,19 +16,7 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#ifdef RGB_DI_PIN
|
|
||||||
#define RGBLIGHT_EFFECT_BREATHING
|
|
||||||
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
|
||||||
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
|
||||||
#define RGBLIGHT_EFFECT_SNAKE
|
|
||||||
#define RGBLIGHT_EFFECT_KNIGHT
|
|
||||||
#define RGBLIGHT_EFFECT_CHRISTMAS
|
|
||||||
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
|
||||||
#define RGBLIGHT_EFFECT_RGB_TEST
|
|
||||||
#define RGBLIGHT_EFFECT_ALTERNATING
|
|
||||||
#define RGBLIGHT_EFFECT_TWINKLE
|
|
||||||
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
|
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_EFFECT_RAINBOW_MOOD + 6)
|
||||||
#define RGBLIGHT_DEFAULT_SPD 15
|
#define RGBLIGHT_DEFAULT_SPD 15
|
||||||
#endif
|
|
||||||
|
|
||||||
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
|
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
|
||||||
|
@ -31,7 +31,19 @@
|
|||||||
"led_count": 20,
|
"led_count": 20,
|
||||||
"pin": "B3",
|
"pin": "B3",
|
||||||
"saturation_steps": 10,
|
"saturation_steps": 10,
|
||||||
"sleep": true
|
"sleep": true,
|
||||||
|
"animations": {
|
||||||
|
"alternating": true,
|
||||||
|
"breathing": true,
|
||||||
|
"christmas": true,
|
||||||
|
"knight": true,
|
||||||
|
"rainbow_mood": true,
|
||||||
|
"rainbow_swirl": true,
|
||||||
|
"rgb_test": true,
|
||||||
|
"snake": true,
|
||||||
|
"static_gradient": true,
|
||||||
|
"twinkle": true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"url": "",
|
"url": "",
|
||||||
"usb": {
|
"usb": {
|
||||||
|
10
keyboards/lpad/config.h
Normal file
10
keyboards/lpad/config.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
// Copyright 2023 Laneware Peripherals
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
36
keyboards/lpad/info.json
Normal file
36
keyboards/lpad/info.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "L-PAD",
|
||||||
|
"manufacturer": "Laneware Peripherals",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "qmk",
|
||||||
|
"usb": {
|
||||||
|
"vid": "0x4C50",
|
||||||
|
"pid": "0x2222",
|
||||||
|
"device_version": "0.0.1"
|
||||||
|
},
|
||||||
|
"processor": "atmega32u4",
|
||||||
|
"bootloader": "atmel-dfu",
|
||||||
|
"matrix_pins": {
|
||||||
|
"cols": ["F5", "E6", "D0"],
|
||||||
|
"rows": ["D3", "D4", "D6"]
|
||||||
|
},
|
||||||
|
"diode_direction": "COL2ROW",
|
||||||
|
"encoder": {
|
||||||
|
"rotary": [
|
||||||
|
{
|
||||||
|
"pin_a": "F0",
|
||||||
|
"pin_b": "F1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"layouts":{
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout":[{ "label": "Play", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
|
||||||
|
{ "label": "Mute", "matrix": [0, 1], "w": 1, "x": 1.5, "y": 0.5 },
|
||||||
|
{ "label": "Next", "matrix": [1, 0], "w": 1, "x": 0, "y": 1 },
|
||||||
|
{ "label": "Prev", "matrix": [2, 0], "w": 1, "x": 0, "y": 2 },
|
||||||
|
{ "label": "Left", "matrix": [2, 1], "w": 1, "x": 1, "y": 2 },
|
||||||
|
{ "label": "Rght", "matrix": [2, 2], "w": 1, "x": 2, "y": 2 }]
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
13
keyboards/lpad/keymaps/default/keymap.c
Normal file
13
keyboards/lpad/keymaps/default/keymap.c
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// Copyright 2023 Laneware Peripherals
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT (
|
||||||
|
KC_MPLY, KC_MUTE,
|
||||||
|
KC_MNXT,
|
||||||
|
KC_MPRV, KC_LEFT, KC_RIGHT)
|
||||||
|
};
|
||||||
|
|
36
keyboards/lpad/keymaps/via/keymap.c
Normal file
36
keyboards/lpad/keymaps/via/keymap.c
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
// Copyright 2023 Laneware Peripherals
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[0] = LAYOUT (
|
||||||
|
KC_MPLY, KC_MUTE,
|
||||||
|
KC_MNXT,
|
||||||
|
KC_MPRV, KC_LEFT, KC_RIGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT (
|
||||||
|
KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
[2] = LAYOUT (
|
||||||
|
KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
[3] = LAYOUT (
|
||||||
|
KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
};
|
||||||
|
|
||||||
|
#if defined(ENCODER_MAP_ENABLE)
|
||||||
|
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||||
|
[0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
|
||||||
|
[1] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
|
||||||
|
[2] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
|
||||||
|
[3] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
|
||||||
|
};
|
||||||
|
#endif
|
2
keyboards/lpad/keymaps/via/rules.mk
Normal file
2
keyboards/lpad/keymaps/via/rules.mk
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
|
ENCODER_MAP_ENABLE = yes
|
18
keyboards/lpad/lpad.c
Normal file
18
keyboards/lpad/lpad.c
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// Copyright 2023 Laneware Peripherals
|
||||||
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#ifdef ENCODER_ENABLE
|
||||||
|
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||||
|
if (!encoder_update_user(index, clockwise)) return false;
|
||||||
|
if (index == 0) { /* First encoder */
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_VOLU);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_VOLD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
#endif
|
27
keyboards/lpad/readme.md
Normal file
27
keyboards/lpad/readme.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# LPAD
|
||||||
|
|
||||||
|
![LPAD](https://i.imgur.com/bQgqZC6h.jpg)
|
||||||
|
|
||||||
|
A Macro Keyboard with a RHS rotary encoder, made and sold by Laneware Peripherals.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
|
||||||
|
* Hardware Supported: LPAD
|
||||||
|
* Hardware Availability: [Laneware Peripherals](https://lanewareperipherals.com/),
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make lpad:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make lpad:default:flash
|
||||||
|
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
|
## Bootloader
|
||||||
|
|
||||||
|
Enter the bootloader in 2 ways:
|
||||||
|
|
||||||
|
* **Bootmagic reset**: Hold down the Top Left Switch and plug in the keyboard
|
||||||
|
* **Physical reset button**: Briefly press the button on the back of the PCB
|
14
keyboards/lpad/rules.mk
Normal file
14
keyboards/lpad/rules.mk
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
NKRO_ENABLE = yes # Enable N-Key Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
ENCODER_ENABLE = yes
|
@ -20,33 +20,33 @@
|
|||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
|
|
||||||
// keymap adapted for http://marin.jb.free.fr/qwerty-fr/
|
// keymap adapted for https://qwerty-fr.org/
|
||||||
|
|
||||||
/* AltGr symbols
|
/* AltGr symbols (* symbol = dead key)
|
||||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
* │ ` │ ¹ │ ² │ ³ │ ê │ € │ ^ │ ŷ │ û │ î │ ô │ – │ ≠ │ │
|
* │* `│ ¹ │ ² │ ê │ € │* ¯│* ^│ û │ î │ ô │ ø │ – │ ≠ │ │
|
||||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
* │ │ â │ é │ è │ ® │ π │ ¥ │ ù │ î │ ò │ œ │ « │ » │ │
|
* │ │ â │ é │ è │ ® │ þ │* ̑ │ ù │ î │ ò │ œ │ « │ » │ │
|
||||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||||
* │ │ à │ æ │ ë │ ε │ α │ ÿ │ ü │ ï │ ö │ ¶ │ ´ │ ¦ │ │
|
* │ │ à │ æ │ ë │ │* Ω│ ÿ │ ü │ ï │ ö │ ´ │ ̀ │ │ │
|
||||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||||
* │ │ ≤ │ ä │ × │ ç │ ω │ ß │ ñ │ µ │ ¸ │ ° │ ʕ │ │
|
* │ │ ≤ │ ä │ × │ ç │ │ ß │ ñ │* ∫│* ¸│ · │ ’ │ │
|
||||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||||
* │ │ │ │ │ │ │ │ │
|
* │ │ │ │ non-breaking space │ │ │ │ │
|
||||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||||
*/
|
*/
|
||||||
// Row 1
|
// Row 1
|
||||||
#define QF_DGRV RALT(KC_GRV) // ` (dead)
|
#define QF_DGRV RALT(KC_GRV) // ` (dead)
|
||||||
#define QF_SUP1 RALT(KC_1) // ¹
|
#define QF_SUP1 RALT(KC_1) // ¹
|
||||||
#define QF_SUP2 RALT(KC_2) // ²
|
#define QF_SUP2 RALT(KC_2) // ²
|
||||||
#define QF_SUP3 RALT(KC_3) // ³
|
#define QF_ECIR RALT(KC_3) // ê
|
||||||
#define QF_ECIR RALT(KC_4) // ê
|
#define QF_EURO RALT(KC_4) // €
|
||||||
#define QF_EURO RALT(KC_5) // €
|
#define QF_MACR RALT(KC_5) // ¯ (dead)
|
||||||
#define QF_DCIR RALT(KC_6) // ^ (dead)
|
#define QF_DCIR RALT(KC_6) // ^ (dead)
|
||||||
#define QF_YCIR RALT(KC_7) // ŷ
|
#define QF_UCIR RALT(KC_7) // û
|
||||||
#define QF_UCIR RALT(KC_8) // û
|
#define QF_ICIR RALT(KC_8) // î
|
||||||
#define QF_ICIR RALT(KC_9) // î
|
#define QF_OCIR RALT(KC_9) // ô
|
||||||
#define QF_OCIR RALT(KC_0) // ô
|
#define QF_OSTR RALT(KC_0) // ø
|
||||||
#define QF_DASH RALT(KC_MINUS) // –
|
#define QF_DASH RALT(KC_MINUS) // –
|
||||||
#define QF_NEQL RALT(KC_EQUAL) // ≠
|
#define QF_NEQL RALT(KC_EQUAL) // ≠
|
||||||
// Row 2
|
// Row 2
|
||||||
@ -54,8 +54,8 @@
|
|||||||
#define QF_EACU RALT(KC_W) // é
|
#define QF_EACU RALT(KC_W) // é
|
||||||
#define QF_EGRV RALT(KC_E) // è
|
#define QF_EGRV RALT(KC_E) // è
|
||||||
#define QF_REGD RALT(KC_R) // ®
|
#define QF_REGD RALT(KC_R) // ®
|
||||||
#define QF_PI RALT(KC_T) // π
|
#define QF_THRN RALT(KC_T) // þ
|
||||||
#define QF_YEN RALT(KC_Y) // ¥
|
#define QF_RBRV RALT(KC_Y) // ̑ (dead)
|
||||||
#define QF_UGRV RALT(KC_U) // ù
|
#define QF_UGRV RALT(KC_U) // ù
|
||||||
#define QF_IGRV RALT(KC_I) // ì
|
#define QF_IGRV RALT(KC_I) // ì
|
||||||
#define QF_OGRV RALT(KC_O) // ò
|
#define QF_OGRV RALT(KC_O) // ò
|
||||||
@ -66,65 +66,62 @@
|
|||||||
#define QF_AGRV RALT(KC_A) // à
|
#define QF_AGRV RALT(KC_A) // à
|
||||||
#define QF_AE RALT(KC_S) // æ
|
#define QF_AE RALT(KC_S) // æ
|
||||||
#define QF_EDIA RALT(KC_D) // ë
|
#define QF_EDIA RALT(KC_D) // ë
|
||||||
#define QF_EPSL RALT(KC_F) // ε
|
#define QF_GR RALT(KC_G) // Greek (dead)
|
||||||
#define QF_ALPH RALT(KC_G) // α
|
|
||||||
#define QF_YDIA RALT(KC_H) // ÿ
|
#define QF_YDIA RALT(KC_H) // ÿ
|
||||||
#define QF_UDIA RALT(KC_J) // ü
|
#define QF_UDIA RALT(KC_J) // ü
|
||||||
#define QF_IDIA RALT(KC_K) // ï
|
#define QF_IDIA RALT(KC_K) // ï
|
||||||
#define QF_ODIA RALT(KC_L) // ö
|
#define QF_ODIA RALT(KC_L) // ö
|
||||||
#define QF_PILC RALT(KC_SCLN) // ¶
|
#define QF_ACUT RALT(KC_SCLN) // ´ (dead)
|
||||||
#define QF_ACUT RALT(KC_QUOT) // ´ (dead)
|
#define QF_AGR RALT(KC_QUOT) // ̀ (dead)
|
||||||
#define QF_BRKP RALT(KC_BSLS) // ¦
|
|
||||||
// Row 4
|
// Row 4
|
||||||
#define QF_LTEQ RALT(KC_NUBS) // ≤
|
#define QF_LTEQ RALT(KC_NUBS) // ≤
|
||||||
#define QF_ADIA RALT(KC_Z) // ä
|
#define QF_ADIA RALT(KC_Z) // ä
|
||||||
#define QF_MUL RALT(KC_X) // ×
|
#define QF_MUL RALT(KC_X) // ×
|
||||||
#define QF_CCED RALT(KC_C) // ç
|
#define QF_CCED RALT(KC_C) // ç
|
||||||
#define QF_OMEG RALT(KC_V) // ω
|
|
||||||
#define QF_SS RALT(KC_B) // ß
|
#define QF_SS RALT(KC_B) // ß
|
||||||
#define QF_NTIL RALT(KC_N) // ñ
|
#define QF_NTIL RALT(KC_N) // ñ
|
||||||
#define QF_MICR RALT(KC_M) // µ
|
#define QF_MATH RALT(KC_M) // Math (dead)
|
||||||
#define QF_CEDL RALT(KC_COMM) // ¸ (dead)
|
#define QF_CEDL RALT(KC_COMM) // ¸ (dead)
|
||||||
#define QF_DEG RALT(KC_DOT) // °
|
#define QF_MED RALT(KC_DOT) // ·
|
||||||
#define QF_VOPH RALT(KC_SLSH) // ʕ
|
#define QF_APO RALT(KC_SLSH) // ’
|
||||||
// Row 5
|
// Row 5
|
||||||
#define QF_NBSP RALT(KC_SPC) // (non-breaking space)
|
#define QF_NBSP RALT(KC_SPC) // (non-breaking space)
|
||||||
|
|
||||||
|
|
||||||
/* Shift+AltGr symbols
|
/* Shift+AltGr symbols
|
||||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||||
* │ ~ │ ¡ │ ˝ │ ¯ │ Ê │ £ │ ˇ │ Ŷ │ Û │ Î │ Ô │ — │ ± │ │
|
* │* ~│ ¡ │* ˝│ Ê │* ¤│* ˙│* ˇ│ Û │ Î │ Ô │ Ø │ — │ ≈ │ │
|
||||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||||
* │ │  │ É │ È │ © │ Π │ ¤ │ Ù │ Ì │ Ò │ Œ │ “ │ ” │ │
|
* │ │  │ É │ È │ © │ Þ │* ˘│ Ù │ Ì │ Ò │ Œ │ “ │ ” │ │
|
||||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
|
||||||
* │ │ À │ Æ │ Ë │ Δ │ β │ Ÿ │ Ü │ Ï │ ö │ § │ ¨ │ ø │ │
|
* │ │ À │ Æ │ Ë │ │ │ Ÿ │ Ü │ Ï │ Ö │* °│* ¨│ „ │ │
|
||||||
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
|
||||||
* │ │ ≥ │ Ä │ ÷ │ Ç │ Ω │ þ │ Ñ │ Σ │ ˛ │ ˚ │ ¿ │ │
|
* │ │ ≥ │ Ä │ ÷ │ Ç │ │ ẞ │ Ñ │ │ ˛ │ … │ ¿ │ │
|
||||||
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
|
||||||
* │ │ │ │ │ │ │ │ │
|
* │ │ │ │ narrow non-breaking spc│ │ │ │ │
|
||||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
|
||||||
*/
|
*/
|
||||||
// Row 1
|
// Row 1
|
||||||
#define QF_DTIL S(RALT(KC_GRV)) // ~ (dead)
|
#define QF_DTIL S(RALT(KC_GRV)) // ~ (dead)
|
||||||
#define QF_IEXL S(RALT(KC_1)) // ¡
|
#define QF_IEXL S(RALT(KC_1)) // ¡
|
||||||
#define QF_DACU S(RALT(KC_2)) // ˝ (dead)
|
#define QF_DACU S(RALT(KC_2)) // ˝ (dead)
|
||||||
#define QF_MACR S(RALT(KC_3)) // ¯ (dead)
|
#define QF_ECIU S(RALT(KC_3)) // Ê
|
||||||
#define QF_ECIU S(RALT(KC_4)) // Ê
|
#define QF_CURR S(RALT(KC_4)) // ¤ (dead)
|
||||||
#define QF_PND S(RALT(KC_5)) // £
|
#define QF_NTON S(RALT(KC_5)) // ˙ (dead)
|
||||||
#define QF_CARN S(RALT(KC_6)) // ˇ (dead)
|
#define QF_CARN S(RALT(KC_6)) // ˇ (dead)
|
||||||
#define QF_YCIU S(RALT(KC_7)) // Ŷ
|
#define QF_UCIU S(RALT(KC_7)) // Û
|
||||||
#define QF_UCIU S(RALT(KC_8)) // Û
|
#define QF_ICIU S(RALT(KC_8)) // Î
|
||||||
#define QF_ICIU S(RALT(KC_9)) // Î
|
#define QF_OCIO S(RALT(KC_9)) // Ô
|
||||||
#define QF_OCIO S(RALT(KC_0)) // Ô
|
#define QF_UOST S(RALT(KC_0)) // Ø
|
||||||
#define QF_NDSH S(RALT(KC_MINUS)) // —
|
#define QF_NDSH S(RALT(KC_MINUS)) // —
|
||||||
#define QF_PLMN S(RALT(KC_EQUAL)) // ±
|
#define QF_APPR S(RALT(KC_EQUAL)) // ≈
|
||||||
// Row 2
|
// Row 2
|
||||||
#define QF_ACIU S(RALT(KC_Q)) // Â
|
#define QF_ACIU S(RALT(KC_Q)) // Â
|
||||||
#define QF_ECUU S(RALT(KC_W)) // É
|
#define QF_ECUU S(RALT(KC_W)) // É
|
||||||
#define QF_EGRU S(RALT(KC_E)) // È
|
#define QF_EGRU S(RALT(KC_E)) // È
|
||||||
#define QF_COPY S(RALT(KC_R)) // ©
|
#define QF_COPY S(RALT(KC_R)) // ©
|
||||||
#define QF_PIU S(RALT(KC_T)) // Π
|
#define QF_UTRN S(RALT(KC_T)) // Þ
|
||||||
#define QF_CURR S(RALT(KC_Y)) // ¤
|
#define QF_BRV S(RALT(KC_Y)) // ˘ (dead)
|
||||||
#define QF_UGRU S(RALT(KC_U)) // Ù
|
#define QF_UGRU S(RALT(KC_U)) // Ù
|
||||||
#define QF_IGRU S(RALT(KC_I)) // Ì
|
#define QF_IGRU S(RALT(KC_I)) // Ì
|
||||||
#define QF_OGRU S(RALT(KC_O)) // Ò
|
#define QF_OGRU S(RALT(KC_O)) // Ò
|
||||||
@ -135,24 +132,22 @@
|
|||||||
#define QF_AGRU S(RALT(KC_A)) // À
|
#define QF_AGRU S(RALT(KC_A)) // À
|
||||||
#define QF_AEU S(RALT(KC_S)) // Æ
|
#define QF_AEU S(RALT(KC_S)) // Æ
|
||||||
#define QF_EDIU S(RALT(KC_D)) // Ë
|
#define QF_EDIU S(RALT(KC_D)) // Ë
|
||||||
#define QF_DELT S(RALT(KC_F)) // Δ
|
|
||||||
#define QF_BETA S(RALT(KC_G)) // β
|
|
||||||
#define QF_YDIU S(RALT(KC_H)) // Ÿ
|
#define QF_YDIU S(RALT(KC_H)) // Ÿ
|
||||||
#define QF_UDIU S(RALT(KC_J)) // Ü
|
#define QF_UDIU S(RALT(KC_J)) // Ü
|
||||||
#define QF_IDIU S(RALT(KC_K)) // Ï
|
#define QF_IDIU S(RALT(KC_K)) // Ï
|
||||||
#define QF_ODIU S(RALT(KC_L)) // Ö
|
#define QF_ODIU S(RALT(KC_L)) // Ö
|
||||||
#define QF_SECT S(RALT(KC_SCLN)) // §
|
#define QF_DEG S(RALT(KC_SCLN)) // ° (dead)
|
||||||
#define QF_DIAE S(RALT(KC_QUOT)) // ¨ (dead)
|
#define QF_DIAE S(RALT(KC_QUOT)) // ¨ (dead)
|
||||||
#define QF_OSTR S(RALT(KC_BSLS)) // ø
|
#define QF_DLQM S(RALT(KC_BSLS)) // „
|
||||||
// Row 4
|
// Row 4
|
||||||
#define QF_GTEQ S(RALT(KC_NUBS)) // ≥
|
#define QF_GTEQ S(RALT(KC_NUBS)) // ≥
|
||||||
#define QF_ADIU S(RALT(KC_Z)) // Ä
|
#define QF_ADIU S(RALT(KC_Z)) // Ä
|
||||||
#define QF_DIV S(RALT(KC_X)) // ÷
|
#define QF_DIV S(RALT(KC_X)) // ÷
|
||||||
#define QF_CCDU S(RALT(KC_C)) // Ç
|
#define QF_CCDU S(RALT(KC_C)) // Ç
|
||||||
#define QF_OMEU S(RALT(KC_V)) // Ω
|
#define QF_USS S(RALT(KC_B)) // ẞ
|
||||||
#define QF_THRN S(RALT(KC_B)) // þ
|
|
||||||
#define QF_NTIU S(RALT(KC_N)) // Ñ
|
#define QF_NTIU S(RALT(KC_N)) // Ñ
|
||||||
#define QF_SIGM S(RALT(KC_M)) // Σ
|
|
||||||
#define QF_OGON S(RALT(KC_COMM)) // ˛ (dead)
|
#define QF_OGON S(RALT(KC_COMM)) // ˛ (dead)
|
||||||
#define QF_RNGA S(RALT(KC_DOT)) // ˚ (dead)
|
#define QF_SUSP S(RALT(KC_DOT)) // …
|
||||||
#define QF_IQUE S(RALT(KC_SLSH)) // ¿
|
#define QF_IQUE S(RALT(KC_SLSH)) // ¿
|
||||||
|
// Row 5
|
||||||
|
#define QF_NNBS RALT(KC_SPC) // (narrow non-breaking space)
|
||||||
|
Loading…
Reference in New Issue
Block a user