forked from mfulz_github/qmk_firmware
Merge branch 'master' into keyboards/trenctyl_manuform
This commit is contained in:
commit
c473110c89
|
@ -0,0 +1,6 @@
|
|||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
|
@ -18,7 +18,7 @@ jobs:
|
|||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
|
|
|
@ -22,12 +22,12 @@ jobs:
|
|||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Bump version and push tag
|
||||
uses: anothrNick/github-tag-action@1.26.0
|
||||
uses: anothrNick/github-tag-action@1.39.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
DEFAULT_BUMP: 'patch'
|
||||
|
|
|
@ -18,7 +18,7 @@ jobs:
|
|||
container: qmkfm/qmk_cli
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -18,7 +18,7 @@ jobs:
|
|||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
persist-credentials: false
|
||||
|
|
|
@ -12,7 +12,7 @@ jobs:
|
|||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
fetch-depth: 0
|
||||
|
|
|
@ -20,7 +20,7 @@ jobs:
|
|||
if: github.repository == 'qmk/qmk_firmware'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
|
@ -34,7 +34,7 @@ jobs:
|
|||
qmk --verbose generate-docs
|
||||
|
||||
- name: Deploy
|
||||
uses: JamesIves/github-pages-deploy-action@3.7.1
|
||||
uses: JamesIves/github-pages-deploy-action@v4.3.4
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
BASE_BRANCH: master
|
||||
|
|
|
@ -17,7 +17,7 @@ jobs:
|
|||
- xap
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
fetch-depth: 0
|
||||
|
|
|
@ -19,7 +19,7 @@ jobs:
|
|||
container: qmkfm/qmk_cli
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ jobs:
|
|||
container: qmkfm/qmk_cli
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
@ -37,7 +37,7 @@ jobs:
|
|||
git config user.email 'hello@qmk.fm'
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
if: ${{ github.repository == 'qmk/qmk_firmware'}}
|
||||
with:
|
||||
token: ${{ secrets.QMK_BOT_TOKEN }}
|
||||
|
|
|
@ -12,7 +12,7 @@ jobs:
|
|||
container: qmkfm/qmk_cli
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ jobs:
|
|||
container: qmkfm/qmk_cli
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Install dependencies
|
||||
|
|
|
@ -14,6 +14,10 @@ Add this to the end of your `.profile` or `.bashrc`:
|
|||
|
||||
If you put `qmk_firmware` into another location you will need to adjust this path.
|
||||
|
||||
Zsh users will need to load `bashcompinit`. The following can be added to `~/.zshrc` file:
|
||||
|
||||
autoload -Uz bashcompinit && bashcompinit
|
||||
|
||||
### System Wide Symlink
|
||||
|
||||
If you want the tab completion available to all users of the system you can add a symlink to the `qmk_tab_complete.sh` script:
|
||||
|
|
|
@ -777,6 +777,7 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master
|
|||
#define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature)
|
||||
#define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right.
|
||||
// If RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR
|
||||
#define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards
|
||||
```
|
||||
|
||||
## EEPROM storage :id=eeprom-storage
|
||||
|
|
|
@ -108,6 +108,8 @@ However, this does rely on the bootloader being set by the keyboard. If this inf
|
|||
|
||||
In this case, you'll have to fall back on specifying the bootloader. See the [Flashing Firmware](flashing.md) Guide for more details.
|
||||
|
||||
!> If your bootloader is not detected by `qmk flash`, try running `qmk doctor` for suggestions on how to fix common problems.
|
||||
|
||||
## Test It Out!
|
||||
|
||||
Congrats! Your custom firmware has been programmed to your keyboard and you're ready to test it out!
|
||||
|
|
|
@ -36,21 +36,15 @@ Alternatively, if you'd like to manually install MSYS2, the following section wi
|
|||
|
||||
#### Prerequisites
|
||||
|
||||
You will need to install MSYS2, Git and Python. Follow the installation instructions on https://www.msys2.org.
|
||||
|
||||
Once MSYS2 is installed, close any open MSYS terminals and open a new MinGW 64-bit terminal.
|
||||
You will need to install [MSYS2](https://www.msys2.org). Once installed, close any open MSYS terminals (purple icon) and open a new MinGW 64-bit terminal (blue icon) from the Start Menu.
|
||||
|
||||
!> **NOTE:** The MinGW 64-bit terminal is *not* the same as the MSYS terminal that opens when installation is completed. Your prompt should say "MINGW64" in purple text, rather than "MSYS". See [this page](https://www.msys2.org/wiki/MSYS2-introduction/#subsystems) for more information on the differences.
|
||||
|
||||
Then run the following command:
|
||||
|
||||
pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python3-pip mingw-w64-x86_64-python-pillow
|
||||
|
||||
#### Installation
|
||||
|
||||
Install the QMK CLI by running:
|
||||
|
||||
python3 -m pip install qmk
|
||||
pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-python-qmk
|
||||
|
||||
</details>
|
||||
|
||||
|
|
|
@ -108,7 +108,58 @@ Example:
|
|||
}
|
||||
```
|
||||
|
||||
### RGB Lighting
|
||||
## Non-RGB LED Lighting
|
||||
|
||||
This section controls basic 2-pin LEDs, which typically pass through keyswitches and are soldered into the PCB, or are placed in PCB sockets.
|
||||
### Backlight
|
||||
|
||||
* `breathing`
|
||||
* Enable backlight breathing, if supported
|
||||
* `breathing_period`
|
||||
* The length of one backlight “breath” in seconds
|
||||
* `levels`
|
||||
* The number of brightness levels (maximum 31, excluding off)
|
||||
* `pin`
|
||||
* The pin that controls the backlight LED(s)
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"backlight": {
|
||||
"breathing": true,
|
||||
"breathing_period": 5,
|
||||
"levels": 15,
|
||||
"pin": "B7"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### LED Indicators
|
||||
|
||||
Used for indicating Num Lock, Caps Lock, and Scroll Lock. May be soldered in-switch or in a dedicated area.
|
||||
|
||||
* `num_lock`
|
||||
* The pin that controls the `Num Lock` LED
|
||||
* `caps_lock`
|
||||
* The pin that controls the `Caps Lock` LED
|
||||
* `scroll_lock`
|
||||
* The pin that controls the `Scroll Lock` LED
|
||||
|
||||
Example:
|
||||
|
||||
```json
|
||||
{
|
||||
"indicators": {
|
||||
"num_lock": "B6",
|
||||
"caps_lock": "D2",
|
||||
"scroll_lock": "A3"
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
## RGB Lighting
|
||||
|
||||
This section controls the legacy WS2812 support in QMK. This should not be confused with the RGB Matrix feature, which can be used to control both WS2812 and ISSI RGB LEDs.
|
||||
|
||||
|
@ -152,7 +203,7 @@ Example:
|
|||
}
|
||||
```
|
||||
|
||||
#### RGBLight Animations
|
||||
### RGBLight Animations
|
||||
|
||||
The following animations can be enabled:
|
||||
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
# Gherkin Layout
|
||||
This is my gherkin layout.
|
||||
It is used as a game pad, and key layout is inspired by spare keys I had lying around.
|
||||
The firmware is very simple, and only includes one layer keymap, and RGB effects.
|
||||
|
||||
# Flashing
|
||||
The following command should be used from the main qmk directory.
|
||||
```
|
||||
make gherkin:bbaserdem
|
||||
sudo avrdude -p atmgea34u4 -P `ls /dev/ttyACM*` -c avr109 -U flash:.build/gherkin_bbaserdem.hex
|
||||
```
|
|
@ -1,9 +0,0 @@
|
|||
#pragma once
|
||||
|
||||
#define RGB_DI_PIN F6
|
||||
#define RGBLED_NUM 10
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#ifdef BACKLIGHT_LEVELS
|
||||
#undef BACKLIGHT_LEVELS
|
||||
#endif
|
||||
#define BACKLIGHT_LEVELS 3
|
|
@ -1,36 +0,0 @@
|
|||
// This is a game-pad gherkin layout with RGB and LED lights
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
backlight_config_t backlight_config;
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Game pad
|
||||
* ,-----------------------------------------------------------.
|
||||
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | Ctl | Alt | ~ |
|
||||
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
|
||||
* | Tab | Q | W | E | R | T | |^| | ; | ' | / |
|
||||
* |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
|
||||
* | Shf | A | S | D | F | <-- | |v| | --> | , | . |
|
||||
* `-----------------------------------------------------------'
|
||||
*/
|
||||
LAYOUT_ortho_3x10(
|
||||
KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_LCTRL, KC_LALT, KC_GRAVE,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_UP, KC_SCLN, KC_QUOTE, KC_SLASH,
|
||||
KC_LSHIFT, KC_A, KC_S, KC_D, KC_F, KC_LEFT, KC_DOWN, KC_RIGHT, KC_COMMA, KC_DOT
|
||||
)
|
||||
};
|
||||
|
||||
void matrix_init_user(void) {
|
||||
// Set LED's to max
|
||||
_delay_us(300);
|
||||
backlight_config.level = 2;
|
||||
backlight_config.enable = 1;
|
||||
eeconfig_update_backlight(backlight_config.raw);
|
||||
backlight_set(backlight_config.level);
|
||||
// Set RGB to rainbow mood light
|
||||
rgblight_enable();
|
||||
rgblight_mode(1);
|
||||
rgblight_sethsv(120,255,255);
|
||||
rgblight_mode(6);
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
USER_NAME := bbaserdem-nouserspace
|
||||
|
||||
STENO_ENABLE = no # Additional protocols for Stenography(+1700), requires VIRTSER
|
||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = no # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
AUDIO_ENABLE = no # Enable audio output from keyboard
|
||||
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
RGBLIGHT_ENABLE = yes # Enable RBG light strips
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
|
@ -40,5 +40,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
#define STM32_HSECLK 8000000
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# MCU name
|
||||
MCU = STM32F411
|
||||
BOARD = GENERIC_STM32_F411XE
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = stm32-dfu
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright 2021 Manna Harbour
|
||||
// https://github.com/manna-harbour/miryoku
|
||||
|
||||
// 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 LAYOUT_miryoku( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
|
||||
N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
|
||||
) \
|
||||
LAYOUT( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
|
||||
K33, K34, K35, K36 \
|
||||
)
|
|
@ -0,0 +1,4 @@
|
|||
// Copyright 2019 Manna Harbour
|
||||
// https://github.com/manna-harbour/miryoku
|
||||
|
||||
// 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,4 @@
|
|||
# Copyright 2021 Manna Harbour
|
||||
# https://github.com/manna-harbour/miryoku
|
||||
|
||||
MIRYOKU_KLUDGE_THUMBCOMBOS=yes
|
|
@ -47,8 +47,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define BREATHING_PERIOD 5
|
||||
#define BACKLIGHT_ON_STATE 1
|
||||
|
||||
#define STM32_HSECLK 8000000
|
||||
|
||||
#define RGB_DI_PIN B15
|
||||
#define RGBLED_NUM 24
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
|
|
|
@ -17,19 +17,6 @@
|
|||
#pragma once
|
||||
|
||||
#include_next <mcuconf.h>
|
||||
#undef STM32_PLLM_VALUE
|
||||
#undef STM32_PLLN_VALUE
|
||||
#undef STM32_PLLP_VALUE
|
||||
#undef STM32_PLLQ_VALUE
|
||||
#undef STM32_PPRE1
|
||||
#undef STM32_PPRE2
|
||||
|
||||
#define STM32_PLLM_VALUE 4
|
||||
#define STM32_PLLN_VALUE 96
|
||||
#define STM32_PLLP_VALUE 2
|
||||
#define STM32_PLLQ_VALUE 4
|
||||
#define STM32_PPRE1 STM32_PPRE1_DIV2
|
||||
#define STM32_PPRE2 STM32_PPRE2_DIV1
|
||||
|
||||
#undef STM32_I2C_USE_I2C1
|
||||
#define STM32_I2C_USE_I2C1 TRUE
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
MCU = STM32F411
|
||||
BOARD = GENERIC_STM32_F411XE
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = stm32-dfu
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
"keyboard_name": "ADM42 rev4",
|
||||
"url": "https://adm42.dev/",
|
||||
"maintainer": "lleonini",
|
||||
"layouts": {
|
||||
"LAYOUT_adm42_3x12_6": {
|
||||
"layout": [
|
||||
{"label":"GUI/`~", "x":0, "y":0.8},
|
||||
{"label":"Q", "x":1, "y":0.8},
|
||||
{"label":"W", "x":2, "y":0},
|
||||
{"label":"E", "x":3, "y":0},
|
||||
{"label":"R", "x":4, "y":0.5},
|
||||
{"label":"T", "x":5, "y":0.5},
|
||||
{"label":"Y", "x":7.5, "y":0.5},
|
||||
{"label":"U", "x":8.5, "y":0.5},
|
||||
{"label":"I", "x":9.5, "y":0},
|
||||
{"label":"O", "x":10.5, "y":0},
|
||||
{"label":"P", "x":11.5, "y":0.8},
|
||||
{"label":"GUI/=+", "x":12.5, "y":0.8},
|
||||
|
||||
{"label":"Ctrl/Tab", "x":0, "y":1.8},
|
||||
{"label":"A", "x":1, "y":1.8},
|
||||
{"label":"S", "x":2, "y":1},
|
||||
{"label":"D", "x":3, "y":1},
|
||||
{"label":"F", "x":4, "y":1.5},
|
||||
{"label":"G", "x":5, "y":1.5},
|
||||
{"label":"H", "x":7.5, "y":1.5},
|
||||
{"label":"J", "x":8.5, "y":1.5},
|
||||
{"label":"K", "x":9.5, "y":1},
|
||||
{"label":"L", "x":10.5, "y":1},
|
||||
{"label":";:", "x":11.5, "y":1.8},
|
||||
{"label":"Ctrl/'\"", "x":12.5, "y":1.8},
|
||||
|
||||
{"label":"Alt", "x":0, "y":2.8},
|
||||
{"label":"Z", "x":1, "y":2.8},
|
||||
{"label":"X", "x":2, "y":2},
|
||||
{"label":"C", "x":3, "y":2},
|
||||
{"label":"V", "x":4, "y":2.5},
|
||||
{"label":"B", "x":5, "y":2.5},
|
||||
{"label":"N", "x":7.5, "y":2.5},
|
||||
{"label":"M", "x":8.5, "y":2.5},
|
||||
{"label":",<", "x":9.5, "y":2},
|
||||
{"label":".>", "x":10.5, "y":2},
|
||||
{"label":"/?", "x":11.5, "y":2.8},
|
||||
{"label":"Alt", "x":12.5, "y":2.8},
|
||||
|
||||
{"label":"Special/Esc", "x":4.25, "y":3.55},
|
||||
{"label":"Shift/Backspace", "x":5.25, "y":3.65},
|
||||
{"label":"Adm/Delete", "x":6.25, "y":1.875, "h":1.25},
|
||||
{"label":"Extra/Enter", "x":6.25, "y":4.05},
|
||||
{"label":"Shift/Space", "x":7.25, "y":3.65},
|
||||
{"label":"Special/Alt", "x":8.25, "y":3.55}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
/* Copyright 2021 Steven Phillips (Spooknik)
|
||||
*
|
||||
* 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
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xBBEB
|
||||
#define PRODUCT_ID 0xD4C4
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER AlfredsLab
|
||||
#define PRODUCT Swift65
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { B1, B2, B3, D6, D4 }
|
||||
#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, C7, C6, B6, B5, B4, D7, D5, D3, D1 }
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define RGB_DI_PIN D2
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLED_NUM 22
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
#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
|
||||
#endif
|
|
@ -0,0 +1,19 @@
|
|||
/* Copyright 2021 Steven Phillips (spooknik)
|
||||
*
|
||||
* 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 "hotswap.h"
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
/* Copyright 2022 Steven Phillips (spooknik)
|
||||
*
|
||||
* 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
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define XXX KC_NO
|
||||
|
||||
#define LAYOUT_7u_space( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
|
||||
K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
|
||||
K40, K41, K42, K46, K4B, K4C, K4D, K4E \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \
|
||||
{ XXX, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX }, \
|
||||
{ K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, XXX, K4B, K4C, K4D, K4E }, \
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
{
|
||||
"keyboard_name": "hotswap",
|
||||
"url": "https://swiftcables.net/",
|
||||
"maintainer": "Spooknik",
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_7u_space",
|
||||
"LAYOUT_all": "LAYOUT_7u_space"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_7u_space": {
|
||||
"layout": [
|
||||
{ "label": "K00 (B1,F7)", "x": 0, "y": 0 },
|
||||
{ "label": "K01 (B1,F6)", "x": 1, "y": 0 },
|
||||
{ "label": "K02 (B1,F5)", "x": 2, "y": 0 },
|
||||
{ "label": "K03 (B1,F4)", "x": 3, "y": 0 },
|
||||
{ "label": "K04 (B1,F1)", "x": 4, "y": 0 },
|
||||
{ "label": "K05 (B1,F0)", "x": 5, "y": 0 },
|
||||
{ "label": "K06 (B1,C7)", "x": 6, "y": 0 },
|
||||
{ "label": "K07 (B1,C6)", "x": 7, "y": 0 },
|
||||
{ "label": "K08 (B1,B6)", "x": 8, "y": 0 },
|
||||
{ "label": "K09 (B1,B5)", "x": 9, "y": 0 },
|
||||
{ "label": "K0A (B1,B4)", "x": 10, "y": 0 },
|
||||
{ "label": "K0B (B1,D7)", "x": 11, "y": 0 },
|
||||
{ "label": "K0C (B1,D5)", "x": 12, "y": 0 },
|
||||
{ "label": "K0D (B1,D3)", "x": 13, "y": 0, "w": 2 },
|
||||
{ "label": "K0E (B1,D1)", "x": 15.25, "y": 0 },
|
||||
{ "label": "K10 (B2,F7)", "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "K11 (B2,F6)", "x": 1.5, "y": 1 },
|
||||
{ "label": "K12 (B2,F5)", "x": 2.5, "y": 1 },
|
||||
{ "label": "K13 (B2,F4)", "x": 3.5, "y": 1 },
|
||||
{ "label": "K14 (B2,F1)", "x": 4.5, "y": 1 },
|
||||
{ "label": "K15 (B2,F0)", "x": 5.5, "y": 1 },
|
||||
{ "label": "K16 (B2,C7)", "x": 6.5, "y": 1 },
|
||||
{ "label": "K17 (B2,C6)", "x": 7.5, "y": 1 },
|
||||
{ "label": "K18 (B2,B6)", "x": 8.5, "y": 1 },
|
||||
{ "label": "K19 (B2,B5)", "x": 9.5, "y": 1 },
|
||||
{ "label": "K1A (B2,B4)", "x": 10.5, "y": 1 },
|
||||
{ "label": "K1B (B2,D7)", "x": 11.5, "y": 1 },
|
||||
{ "label": "K1C (B2,D5)", "x": 12.5, "y": 1 },
|
||||
{ "label": "K1D (B2,D3)", "x": 13.5, "y": 1, "w": 1.5 },
|
||||
{ "label": "K1E (B2,D1)", "x": 15.25, "y": 1 },
|
||||
{ "label": "K20 (B3,F7)", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "K21 (B3,F6)", "x": 1.75, "y": 2 },
|
||||
{ "label": "K22 (B3,F5)", "x": 2.75, "y": 2 },
|
||||
{ "label": "K23 (B3,F4)", "x": 3.75, "y": 2 },
|
||||
{ "label": "K24 (B3,F1)", "x": 4.75, "y": 2 },
|
||||
{ "label": "K25 (B3,F0)", "x": 5.75, "y": 2 },
|
||||
{ "label": "K26 (B3,C7)", "x": 6.75, "y": 2 },
|
||||
{ "label": "K27 (B3,C6)", "x": 7.75, "y": 2 },
|
||||
{ "label": "K28 (B3,B6)", "x": 8.75, "y": 2 },
|
||||
{ "label": "K29 (B3,B5)", "x": 9.75, "y": 2 },
|
||||
{ "label": "K2A (B3,B4)", "x": 10.75, "y": 2 },
|
||||
{ "label": "K2B (B3,D7)", "x": 11.75, "y": 2 },
|
||||
{ "label": "K2D (B3,D3)", "x": 12.75, "y": 2, "w": 2.25 },
|
||||
{ "label": "K2E (B3,D1)", "x": 15.25, "y": 2 },
|
||||
{ "label": "K31 (D6,F6)", "x": 0, "y": 3, "w": 2.25 },
|
||||
{ "label": "K32 (D6,F5)", "x": 2.25, "y": 3 },
|
||||
{ "label": "K33 (D6,F4)", "x": 3.25, "y": 3 },
|
||||
{ "label": "K34 (D6,F1)", "x": 4.25, "y": 3 },
|
||||
{ "label": "K35 (D6,F0)", "x": 5.25, "y": 3 },
|
||||
{ "label": "K36 (D6,C7)", "x": 6.25, "y": 3 },
|
||||
{ "label": "K37 (D6,C6)", "x": 7.25, "y": 3 },
|
||||
{ "label": "K38 (D6,B6)", "x": 8.25, "y": 3 },
|
||||
{ "label": "K39 (D6,B5)", "x": 9.25, "y": 3 },
|
||||
{ "label": "K3A (D6,B4)", "x": 10.25, "y": 3 },
|
||||
{ "label": "K3B (D6,D7)", "x": 11.25, "y": 3 },
|
||||
{ "label": "K3C (D6,D5)", "x": 12.25, "y": 3, "w": 1.75 },
|
||||
{ "label": "K3D (D6,D3)", "x": 14, "y": 3 },
|
||||
{ "label": "K40 (D4,F7)", "x": 0, "y": 4, "w": 1.25 },
|
||||
{ "label": "K41 (D4,F6)", "x": 1.25, "y": 4, "w": 1.25 },
|
||||
{ "label": "K42 (D4,F5)", "x": 2.5, "y": 4, "w": 1.25 },
|
||||
{ "label": "K46 (D4,C7)", "x": 3.75, "y": 4, "w": 7.25 },
|
||||
{ "label": "K4B (D4,D7)", "x": 11, "y": 4, "w": 1.5 },
|
||||
{ "label": "K4C (D4,D5)", "x": 13, "y": 4 },
|
||||
{ "label": "K4D (D4,D3)", "x": 14, "y": 4 },
|
||||
{ "label": "K4E (D4,D1)", "x": 15, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
/* Copyright 2022 Steven Phillips (spooknik)
|
||||
*
|
||||
* 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_7u_space(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
|
||||
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_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_7u_space(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
|
||||
_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
|
||||
),
|
||||
|
||||
};
|
|
@ -0,0 +1,53 @@
|
|||
/* Copyright 2021 Steven Phillips (spooknik)
|
||||
*
|
||||
* 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_7u_space(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
|
||||
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_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_7u_space(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
|
||||
_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
|
||||
),
|
||||
|
||||
|
||||
[2] = LAYOUT_7u_space(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[3] = LAYOUT_7u_space(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
};
|
|
@ -0,0 +1 @@
|
|||
VIA_ENABLE = yes
|
|
@ -0,0 +1,19 @@
|
|||
# Swift65
|
||||
|
||||
A 65% Keyboard from Swiftcables
|
||||
|
||||
* Keyboard Maintainer: [Steven Phillips (spooknik)](https://github.com/keyboardcollective)
|
||||
* Hardware Supported: Swift65 Hotswap
|
||||
* Hardware Availability: Soom from Swiftcables
|
||||
|
||||
To enter bootloader for flashing firmware, press layer change key (MO(1)) and Right Shift simultaneously.
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make alfredslab/swift65/hotswap:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make alfredslab/swift65/hotswap: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).
|
|
@ -0,0 +1,19 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
|
||||
# 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 = yes # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
|
@ -138,6 +138,24 @@ void ap2_led_reset_foreground_color() {
|
|||
ap2_led_mask_set_mono(color);
|
||||
}
|
||||
|
||||
void ap2_led_sticky_set_key(uint8_t row, uint8_t col, ap2_led_t color) {
|
||||
uint8_t payload[] = {row, col, color.p.blue, color.p.green, color.p.red, color.p.alpha};
|
||||
proto_tx(CMD_LED_STICKY_SET_KEY, payload, sizeof(payload), 1);
|
||||
}
|
||||
|
||||
void ap2_led_unset_sticky_key(uint8_t row, uint8_t col) {
|
||||
uint8_t payload[] = {row, col};
|
||||
proto_tx(CMD_LED_STICKY_UNSET_KEY, payload, sizeof(payload), 1);
|
||||
}
|
||||
|
||||
void ap2_led_unset_sticky_row(uint8_t row) {
|
||||
uint8_t payload[] = {row};
|
||||
proto_tx(CMD_LED_STICKY_UNSET_ROW, payload, sizeof(payload), 1);
|
||||
}
|
||||
void ap2_led_unset_sticky_all(void) {
|
||||
proto_tx(CMD_LED_STICKY_UNSET_ALL, NULL, 0, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* Currently keypresses are unified with other messages, still with single 1
|
||||
* byte payload. Transfer is normally fast enough for that to not be a problem -
|
||||
|
|
|
@ -86,6 +86,11 @@ void ap2_led_blink(uint8_t row, uint8_t col, ap2_led_t color, uint8_t count, uin
|
|||
void ap2_led_set_foreground_color(uint8_t red, uint8_t green, uint8_t blue);
|
||||
void ap2_led_reset_foreground_color(void);
|
||||
|
||||
void ap2_led_sticky_set_key(uint8_t row, uint8_t col, ap2_led_t color);
|
||||
void ap2_led_unset_sticky_key(uint8_t row, uint8_t col);
|
||||
void ap2_led_unset_sticky_row(uint8_t row);
|
||||
void ap2_led_unset_sticky_all(void);
|
||||
|
||||
typedef struct {
|
||||
uint8_t amount_of_profiles;
|
||||
uint8_t current_profile;
|
||||
|
|
|
@ -96,7 +96,7 @@ enum anne_pro_layers {
|
|||
*
|
||||
*/
|
||||
[FN2] = LAYOUT_60_ansi( /* FN2 */
|
||||
_______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, KC_AP_LED_OFF, KC_AP_LED_ON, _______, _______, _______, _______,
|
||||
_______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, _______, KC_AP_RGB_MOD, KC_AP_RGB_TOG, KC_AP_RGB_VAD, KC_AP_RGB_VAI, _______,
|
||||
MO(FN2), _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______,
|
||||
|
@ -109,9 +109,11 @@ enum anne_pro_layers {
|
|||
bool led_update_user(led_t leds) {
|
||||
if (leds.caps_lock) {
|
||||
// Set the leds to red
|
||||
ap2_led_set_foreground_color(0xFF, 0x00, 0x00);
|
||||
const ap2_led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0xff};
|
||||
ap2_led_mask_set_mono(color);
|
||||
} else {
|
||||
ap2_led_reset_foreground_color();
|
||||
const ap2_led_t color = {.p.red = 0x00, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0x00};
|
||||
ap2_led_mask_set_mono(color);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
@ -96,7 +96,7 @@ enum anne_pro_layers {
|
|||
*
|
||||
*/
|
||||
[FN2] = LAYOUT_60_ansi( /* FN2 */
|
||||
_______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, _______, KC_AP_LED_TOG, KC_AP_LED_NEXT_INTENSITY, KC_AP_LED_PREV_PROFILE, KC_AP_LED_NEXT_PROFILE, _______,
|
||||
_______, KC_AP2_BT1, KC_AP2_BT2, KC_AP2_BT3, KC_AP2_BT4, _______, _______, _______, _______, KC_AP_RGB_MOD, KC_AP_RGB_TOG, KC_AP_RGB_VAD, KC_AP_RGB_VAI, _______,
|
||||
MO(FN2), _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_HOME, KC_END, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_DEL, _______,
|
||||
|
@ -134,16 +134,12 @@ bool led_update_user(led_t leds) {
|
|||
if (leds.caps_lock) {
|
||||
// Set the caps-lock to red
|
||||
const ap2_led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0xff};
|
||||
|
||||
ap2_led_mask_set_key(2, 0, color);
|
||||
ap2_led_sticky_set_key(2, 0, color);
|
||||
/* NOTE: Instead of colouring the capslock only, you can change the whole
|
||||
keyboard with ap2_led_set_foreground_color */
|
||||
keyboard with ap2_led_mask_set_mono */
|
||||
} else {
|
||||
// Reset the capslock if there is no layer active
|
||||
if (!layer_state_is(FN1) && !layer_state_is(FN2)) {
|
||||
const ap2_led_t color = {.p.red = 0xff, .p.green = 0x00, .p.blue = 0x00, .p.alpha = 0x00};
|
||||
ap2_led_mask_set_key(2, 0, color);
|
||||
}
|
||||
ap2_led_unset_sticky_key(2, 0);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
@ -55,6 +55,14 @@ enum {
|
|||
/* Number of profiles, current profile, on/off state,
|
||||
reactive flag, brightness, errors */
|
||||
CMD_LED_STATUS = 0x41,
|
||||
|
||||
/* Set sticky key, meaning the key will light up even when LEDs are turned off */
|
||||
CMD_LED_STICKY_SET_KEY = 0x50,
|
||||
CMD_LED_STICKY_SET_ROW = 0x51,
|
||||
CMD_LED_STICKY_SET_MONO = 0x52,
|
||||
CMD_LED_STICKY_UNSET_KEY = 0x53,
|
||||
CMD_LED_STICKY_UNSET_ROW = 0x54,
|
||||
CMD_LED_STICKY_UNSET_ALL = 0x55,
|
||||
};
|
||||
|
||||
/* 1 ROW * 14 COLS * 4B (RGBX) = 56 + header prefix. */
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// Copyright 2019 Manna Harbour
|
||||
// https://github.com/manna-harbour/miryoku
|
||||
// generated -*- buffer-read-only: t -*-
|
||||
|
||||
// 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/>.
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
// Copyright 2019 Manna Harbour
|
||||
// https://github.com/manna-harbour/miryoku
|
||||
// generated -*- buffer-read-only: t -*-
|
||||
|
||||
// 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,15 @@
|
|||
/*
|
||||
* 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 "at1.h"
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* 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"
|
||||
|
||||
#define LAYOUT( \
|
||||
k00 \
|
||||
) \
|
||||
{ \
|
||||
{ k00 } \
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED // Atset
|
||||
#define PRODUCT_ID 0x6060
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Atset
|
||||
#define PRODUCT AT1
|
||||
|
||||
/* Key matrix size */
|
||||
#define MATRIX_ROWS 1
|
||||
#define MATRIX_COLS 1
|
||||
|
||||
#define MATRIX_ROW_PINS { D2 }
|
||||
#define MATRIX_COL_PINS { B6 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
|
||||
/* 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
|
||||
|
||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||
*/
|
||||
// #define GRAVE_ESC_CTRL_OVERRIDE
|
||||
|
||||
/*
|
||||
* Force NKRO
|
||||
*
|
||||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||
* makefile for this to work.)
|
||||
*
|
||||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||
* until the next keyboard reset.
|
||||
*
|
||||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||
* fully operational during normal computer usage.
|
||||
*
|
||||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||
* power-up.
|
||||
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"keyboard_name": "AT1",
|
||||
"maintainer": "atset",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [{"label":"k00", "x":0, "y":0}]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* 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_4
|
||||
),
|
||||
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_NO
|
||||
),
|
||||
|
||||
|
||||
[2] = LAYOUT(
|
||||
KC_NO
|
||||
)
|
||||
|
||||
|
||||
};
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* 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_4
|
||||
),
|
||||
[1] =
|
||||
LAYOUT(
|
||||
KC_NO
|
||||
),
|
||||
[2] =
|
||||
LAYOUT(
|
||||
KC_NO
|
||||
),
|
||||
[3] =
|
||||
LAYOUT(
|
||||
KC_NO
|
||||
)
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
# ATSET AT1
|
||||
|
||||
A special 1 key keyboard powered by QMK.
|
||||
|
||||
* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7)
|
||||
* Hardware Supported: ATmega32U4
|
||||
* Hardware Availability: Interest Check
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make atset/at6:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make atset/at6: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 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
|
|
@ -0,0 +1,18 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# 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 = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # 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
|
|
@ -0,0 +1,15 @@
|
|||
/*
|
||||
* 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 "at12.h"
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* 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"
|
||||
|
||||
#define LAYOUT( \
|
||||
k00, k01, k02, \
|
||||
k10, k11, k12, \
|
||||
k20, k21, k22, \
|
||||
k30, k31, k32 \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02 }, \
|
||||
{ k10, k11, k12 }, \
|
||||
{ k20, k21, k22 }, \
|
||||
{ k30, k31, k32 } \
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED // Atset
|
||||
#define PRODUCT_ID 0x6060
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Atset
|
||||
#define PRODUCT AT12
|
||||
|
||||
/* Key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
#define MATRIX_COLS 3
|
||||
|
||||
#define MATRIX_ROW_PINS { D3, D2, D1, D0 }
|
||||
#define MATRIX_COL_PINS { B6, B5, B4 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
|
||||
/* 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
|
||||
|
||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||
*/
|
||||
// #define GRAVE_ESC_CTRL_OVERRIDE
|
||||
|
||||
/*
|
||||
* Force NKRO
|
||||
*
|
||||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||
* makefile for this to work.)
|
||||
*
|
||||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||
* until the next keyboard reset.
|
||||
*
|
||||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||
* fully operational during normal computer usage.
|
||||
*
|
||||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||
* power-up.
|
||||
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"keyboard_name": "AT9",
|
||||
"maintainer": "atset",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* 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_F10, KC_F11, KC_F12,
|
||||
KC_7, KC_8, KC_9,
|
||||
KC_4, KC_5, KC_6,
|
||||
KC_1, KC_2, KC_3
|
||||
),
|
||||
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
|
||||
|
||||
[2] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO
|
||||
)
|
||||
|
||||
};
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* 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_F10, KC_F11, KC_F12,
|
||||
KC_7, KC_8, KC_9,
|
||||
KC_4 , KC_5 , KC_6,
|
||||
KC_1 , KC_2 , KC_3
|
||||
),
|
||||
[1] =
|
||||
LAYOUT(
|
||||
KC_NO , KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO
|
||||
),
|
||||
[2] =
|
||||
LAYOUT(
|
||||
KC_NO , KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO
|
||||
),
|
||||
[3] =
|
||||
LAYOUT(
|
||||
KC_NO , KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO
|
||||
),
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
# ATSET AT12
|
||||
|
||||
A special 12 key keyboard powered by QMK.
|
||||
|
||||
* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7)
|
||||
* Hardware Supported: ATmega32U4
|
||||
* Hardware Availability: Interest Check
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make atset/at3:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make atset/at3: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 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
|
|
@ -0,0 +1,18 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# 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 = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # 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
|
|
@ -0,0 +1,15 @@
|
|||
/*
|
||||
* 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 "at16.h"
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* 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"
|
||||
|
||||
#define LAYOUT_ortho_4x4( \
|
||||
k00, k01, k02, k03, \
|
||||
k10, k11, k12, k13, \
|
||||
k20, k21, k22, k23, \
|
||||
k30, k31, k32, k33 \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03 }, \
|
||||
{ k10, k11, k12, k13 }, \
|
||||
{ k20, k21, k22, k23 }, \
|
||||
{ k30, k31, k32, k33 } \
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED // Atset
|
||||
#define PRODUCT_ID 0x6060
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Atset
|
||||
#define PRODUCT AT16
|
||||
|
||||
/* Key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
#define MATRIX_COLS 4
|
||||
|
||||
#define MATRIX_ROW_PINS { D3, D2, D1, D0 }
|
||||
#define MATRIX_COL_PINS { B6, B5, B4, B2 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
|
||||
/* 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
|
||||
|
||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||
*/
|
||||
// #define GRAVE_ESC_CTRL_OVERRIDE
|
||||
|
||||
/*
|
||||
* Force NKRO
|
||||
*
|
||||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||
* makefile for this to work.)
|
||||
*
|
||||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||
* until the next keyboard reset.
|
||||
*
|
||||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||
* fully operational during normal computer usage.
|
||||
*
|
||||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||
* power-up.
|
||||
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"keyboard_name": "AT9",
|
||||
"maintainer": "atset",
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x4": {
|
||||
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k13", "x":3, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k23", "x":3, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}, {"label":"k33", "x":3, "y":3}]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* 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_ortho_4x4(
|
||||
KC_F10, KC_F11, KC_F12, KC_F5,
|
||||
KC_7, KC_8, KC_9, KC_F1,
|
||||
KC_4, KC_5, KC_6, KC_F2,
|
||||
KC_1, KC_2, KC_3, KC_F3
|
||||
),
|
||||
|
||||
|
||||
[1] = LAYOUT_ortho_4x4(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
|
||||
|
||||
[2] = LAYOUT_ortho_4x4(
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, KC_NO
|
||||
)
|
||||
|
||||
};
|
|
@ -0,0 +1,47 @@
|
|||
/*
|
||||
* 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_ortho_4x4(
|
||||
KC_F10, KC_F11, KC_F12, KC_F5,
|
||||
KC_7, KC_8, KC_9, KC_F1,
|
||||
KC_4, KC_5, KC_6, KC_F2,
|
||||
KC_1, KC_2, KC_3, KC_F3
|
||||
),
|
||||
[1] =
|
||||
LAYOUT_ortho_4x4(
|
||||
KC_NO , KC_NO, KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
[2] =
|
||||
LAYOUT_ortho_4x4(
|
||||
KC_NO , KC_NO, KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
[3] =
|
||||
LAYOUT_ortho_4x4(
|
||||
KC_NO , KC_NO, KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO, KC_NO,
|
||||
KC_NO , KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
# ATSET AT16
|
||||
|
||||
A special 16 key keyboard powered by QMK.
|
||||
|
||||
* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7)
|
||||
* Hardware Supported: ATmega32U4
|
||||
* Hardware Availability: Interest Check
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make atset/at3:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make atset/at3: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 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
|
|
@ -0,0 +1,20 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# 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 = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # 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
|
||||
|
||||
LAYOUTS = ortho_4x4
|
|
@ -0,0 +1,15 @@
|
|||
/*
|
||||
* 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 "at3.h"
|
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
* 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"
|
||||
|
||||
#define LAYOUT( \
|
||||
k00, k01, k02 \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02 } \
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* 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
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED // Atset
|
||||
#define PRODUCT_ID 0x6060
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Atset
|
||||
#define PRODUCT AT3
|
||||
|
||||
/* Key matrix size */
|
||||
#define MATRIX_ROWS 1
|
||||
#define MATRIX_COLS 3
|
||||
|
||||
#define MATRIX_ROW_PINS { D2 }
|
||||
#define MATRIX_COL_PINS { B6, B5, B4 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
|
||||
/* 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
|
||||
|
||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||
*/
|
||||
// #define GRAVE_ESC_CTRL_OVERRIDE
|
||||
|
||||
/*
|
||||
* Force NKRO
|
||||
*
|
||||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||
* makefile for this to work.)
|
||||
*
|
||||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||
* until the next keyboard reset.
|
||||
*
|
||||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||
* fully operational during normal computer usage.
|
||||
*
|
||||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||
* power-up.
|
||||
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"keyboard_name": "AT3",
|
||||
"maintainer": "atset",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* 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_7, KC_8, KC_9
|
||||
),
|
||||
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO
|
||||
),
|
||||
|
||||
|
||||
[2] = LAYOUT(
|
||||
KC_NO, KC_NO, KC_NO
|
||||
)
|
||||
|
||||
|
||||
};
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* 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_7 , KC_8 , KC_9
|
||||
),
|
||||
[1] =
|
||||
LAYOUT(
|
||||
KC_NO , KC_NO, KC_NO
|
||||
),
|
||||
[2] =
|
||||
LAYOUT(
|
||||
KC_NO , KC_NO, KC_NO
|
||||
),
|
||||
[3] =
|
||||
LAYOUT(
|
||||
KC_NO , KC_NO, KC_NO
|
||||
)
|
||||
};
|
|
@ -0,0 +1,25 @@
|
|||
# ATSET AT3
|
||||
|
||||
A special 3 key keyboard powered by QMK.
|
||||
|
||||
* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7)
|
||||
* Hardware Supported: ATmega32U4
|
||||
* Hardware Availability: Interest Check
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make atset/at3:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make atset/at3: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 3 ways:
|
||||
|
||||
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
|
||||
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
|
||||
* **Keycode in layout**: Press the key mapped to `RESET` if it is available
|
|
@ -0,0 +1,18 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# 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 = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # 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
|
|
@ -9,6 +9,8 @@
|
|||
#include "v2.h"
|
||||
#elif KEYBOARD_avalanche_v3
|
||||
#include "v3.h"
|
||||
#elif KEYBOARD_avalanche_v4
|
||||
#include "v4.h"
|
||||
#endif
|
||||
|
||||
#include "quantum.h"
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
// Copyright 2022 Will Winder (@winder)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#define VENDOR_ID 0xCEE2
|
||||
#define PRODUCT_ID 0x0003
|
||||
#define DEVICE_VER 0x0004
|
||||
#define MANUFACTURER vitvlkv
|
||||
#define PRODUCT Avalanche
|
||||
|
||||
#define MATRIX_ROWS 10
|
||||
#define MATRIX_COLS 7
|
||||
|
||||
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
|
||||
#define MATRIX_COL_PINS { F5, F6, F7, B1, B3, B2, B6 }
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define SOFT_SERIAL_PIN D2
|
||||
|
||||
|
||||
#define ENCODERS_PAD_A { B5 }
|
||||
#define ENCODERS_PAD_B { F4 }
|
||||
#define ENCODER_RESOLUTION 2
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
# define RGB_DI_PIN D3
|
||||
# define RGBLED_NUM 64
|
||||
# define RGBLED_SPLIT { 32, 32 }
|
||||
# define RGBLIGHT_SPLIT
|
||||
# define RGBLIGHT_LIMIT_VAL 100 // LED Brightness, high power draw may exceed the USB limitations of 0.6A and cause a crash.
|
||||
# define RGBLIGHT_HUE_STEP 10
|
||||
# define RGBLIGHT_SAT_STEP 17
|
||||
# define RGBLIGHT_VAL_STEP 17
|
||||
|
||||
# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL+2
|
||||
|
||||
# define RGBLIGHT_EFFECT_ALTERNATING
|
||||
# define RGBLIGHT_EFFECT_RGB_TEST
|
||||
# define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
# define RGBLIGHT_EFFECT_BREATHING
|
||||
# define RGBLIGHT_EFFECT_KNIGHT
|
||||
# define RGBLIGHT_EFFECT_SNAKE
|
||||
# define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
|
||||
|
||||
// RGB LED Conversion macro from physical array to electric array. This results in better looking animated effects.
|
||||
# define LED_LAYOUT( \
|
||||
/* LED matrix */ \
|
||||
L01, L02, L03, L04, L05, L06, L011, L012, L013, L014, L015, L016, \
|
||||
L11, L12, L13, L14, L15, L16, L111, L112, L113, L114, L115, L116, \
|
||||
L20, L21, L22, L23, L24, L25, L26, L211, L212, L213, L214, L215, L216, L217, \
|
||||
L31, L32, L33, L34, L35, L36, L37, L38, L39, L310, L311, L312, L313, L314, L315, L316, \
|
||||
L44, L45, L46, L47, L48, L49, L410, L411, L412, L413 )\
|
||||
{ \
|
||||
/* left half - electrical wiring order */ \
|
||||
L47,L48,L38,L37,L36,L26,L16,L06,L05,L15,L25,L35,L46,L45,L34,L24,L14,L04,L03,L13,L23,L33,L44,L32,L22,L12,L02,L01,L11,L21,L31,L20, \
|
||||
/* right half - electrical wiring order */ \
|
||||
L410,L49,L39,L310,L311,L211,L111,L011,L012,L112,L212,L312,L411,L412,L313,L213,L113,L013,L014,L114,L214,L314,L413,L315,L215,L115,L015,L016,L116,L216,L316,L217 \
|
||||
}
|
||||
# define RGBLIGHT_LED_MAP LED_LAYOUT( \
|
||||
/* animation order. */ \
|
||||
4, 8, 12, 17, 22, 27, 40, 45, 50, 54, 58, 62, \
|
||||
3, 7, 11, 16, 21, 26, 39, 44, 49, 53, 57, 61, \
|
||||
0, 2, 6, 10, 15, 20, 25, 38, 43, 48, 52, 56, 60, 63, \
|
||||
1, 5, 9, 14, 19, 24, 29, 31, 33, 35, 37, 42, 47, 51, 55, 59, \
|
||||
13, 18, 23, 28, 30, 32, 34, 36, 41, 46 )
|
||||
#endif
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
# define OLED_DISPLAY_128X64
|
||||
# define OLED_TIMEOUT 30000
|
||||
#endif
|
|
@ -0,0 +1,79 @@
|
|||
{
|
||||
"keyboard_name": "Avalanche v4",
|
||||
"url": "https://github.com/vlkv/avalanche",
|
||||
"maintainer": "vlkv",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"L00", "x":1, "y":0.75},
|
||||
{"label":"L01", "x":2, "y":0.75},
|
||||
{"label":"L02", "x":3, "y":0.25},
|
||||
{"label":"L03", "x":4, "y":0},
|
||||
{"label":"L04", "x":5, "y":0.25},
|
||||
{"label":"L05", "x":6, "y":0.35},
|
||||
{"label":"R05", "x":12, "y":0.35},
|
||||
{"label":"R04", "x":13, "y":0.25},
|
||||
{"label":"R03", "x":14, "y":0},
|
||||
{"label":"R02", "x":15, "y":0.25},
|
||||
{"label":"R01", "x":16, "y":0.75},
|
||||
{"label":"R00", "x":17, "y":0.75},
|
||||
|
||||
{"label":"L10", "x":1, "y":1.75},
|
||||
{"label":"L11", "x":2, "y":1.75},
|
||||
{"label":"L12", "x":3, "y":1.25},
|
||||
{"label":"L13", "x":4, "y":1},
|
||||
{"label":"L14", "x":5, "y":1.25},
|
||||
{"label":"L15", "x":6, "y":1.35},
|
||||
{"label":"R15", "x":12, "y":1.35},
|
||||
{"label":"R14", "x":13, "y":1.25},
|
||||
{"label":"R13", "x":14, "y":1},
|
||||
{"label":"R12", "x":15, "y":1.25},
|
||||
{"label":"R11", "x":16, "y":1.75},
|
||||
{"label":"R10", "x":17, "y":1.75},
|
||||
|
||||
{"label":"L40", "x":0, "y":2.85},
|
||||
{"label":"L20", "x":1, "y":2.75},
|
||||
{"label":"L21", "x":2, "y":2.75},
|
||||
{"label":"L22", "x":3, "y":2.25},
|
||||
{"label":"L23", "x":4, "y":2},
|
||||
{"label":"L24", "x":5, "y":2.25},
|
||||
{"label":"L25", "x":6, "y":2.35},
|
||||
{"label":"R25", "x":12, "y":2.35},
|
||||
{"label":"R24", "x":13, "y":2.25},
|
||||
{"label":"R23", "x":14, "y":2},
|
||||
{"label":"R22", "x":15, "y":2.25},
|
||||
{"label":"R21", "x":16, "y":2.75},
|
||||
{"label":"R20", "x":17, "y":2.75},
|
||||
{"label":"R40", "x":18, "y":2.85},
|
||||
|
||||
{"label":"L30", "x":1, "y":3.75},
|
||||
{"label":"L31", "x":2, "y":3.75},
|
||||
{"label":"L32", "x":3, "y":3.25},
|
||||
{"label":"L33", "x":4, "y":3},
|
||||
{"label":"L34", "x":5, "y":3.25},
|
||||
{"label":"L35", "x":6, "y":3.35},
|
||||
{"label":"L36", "x":7, "y":3.7},
|
||||
{"label":"L26", "x":8, "y":4.05},
|
||||
{"label":"R26", "x":10, "y":4.05},
|
||||
{"label":"R36", "x":11, "y":3.7},
|
||||
{"label":"R35", "x":12, "y":3.35},
|
||||
{"label":"R34", "x":13, "y":3.25},
|
||||
{"label":"R33", "x":14, "y":3},
|
||||
{"label":"R32", "x":15, "y":3.25},
|
||||
{"label":"R31", "x":16, "y":3.75},
|
||||
{"label":"R30", "x":17, "y":3.75},
|
||||
|
||||
{"label":"L42", "x":3.4, "y":4.55},
|
||||
{"label":"L43", "x":4.6, "y":4.45},
|
||||
{"label":"L44", "x":5.8, "y":4.4},
|
||||
{"label":"L45", "x":7, "y":4.7},
|
||||
{"label":"L46", "x":8, "y":5.05},
|
||||
{"label":"R46", "x":10, "y":5.05},
|
||||
{"label":"R45", "x":11, "y":4.7},
|
||||
{"label":"R44", "x":12.2, "y":4.4},
|
||||
{"label":"R43", "x":13.4, "y":4.45},
|
||||
{"label":"R42", "x":14.6, "y":4.55}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
// Copyright 2022 Viatly Volkov (@vlkv)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
/*
|
||||
qmk compile -kb avalanche/v4 -km default
|
||||
qmk flash -kb avalanche/v4 -km default
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer {
|
||||
LAYER_0,
|
||||
LAYER_1,
|
||||
LAYER_2,
|
||||
};
|
||||
|
||||
#define FN_1 MO(LAYER_1)
|
||||
#define LFN_2 LT(LAYER_2, KC_GRV)
|
||||
#define RFN_2 MO(LAYER_2)
|
||||
#define LFN_3 LSFT_T(KC_EQL)
|
||||
#define RFN_3 RSFT_T(KC_MINS)
|
||||
#define EN_LALT LALT_T(KC_ENT)
|
||||
#define EN_RALT RALT_T(KC_ENT)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[LAYER_0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSLS,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
|
||||
KC_CAPS, KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_RBRC,
|
||||
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_LGUI, KC_INS, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL,
|
||||
KC__MUTE,LFN_2, LFN_3, KC_SPC, EN_LALT, EN_RALT, FN_1, RFN_3, RFN_2, KC_PSCR
|
||||
),
|
||||
[LAYER_1] = LAYOUT(
|
||||
_______, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F11,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC, KC_DEL, KC_HOME, KC_UP, KC_END, KC_PGUP, XXXXXXX,
|
||||
_______, _______, KC_APP, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, KC_BSPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_F12,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, XXXXXXX, KC_PGUP, KC_PGDN, XXXXXXX, XXXXXXX, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[LAYER_2] = LAYOUT(
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, KC_0, KC_1, KC_2, KC_3, KC_BSPC, KC_DEL, KC_EXLM, KC_AT, KC_HASH, XXXXXXX, KC_LPRN,
|
||||
_______, _______, KC_0, KC_4, KC_5, KC_6, KC_DEL, KC_BSPC, KC_DLR, KC_PERC, KC_CIRC, XXXXXXX, XXXXXXX, KC_RPRN,
|
||||
_______, KC_0, KC_7, KC_8, KC_9, KC_DOT, _______, _______, _______, _______, XXXXXXX, KC_AMPR, KC_ASTR, XXXXXXX, XXXXXXX, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
// Copyright 2022 Will Winder (@winder)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#undef RGBLIGHT_EFFECT_BREATHING
|
||||
#undef RGBLIGHT_EFFECT_KNIGHT
|
||||
#undef RGBLIGHT_EFFECT_SNAKE
|
||||
#undef RGBLIGHT_EFFECT_CHRISTMAS
|
||||
#undef RGBLIGHT_EFFECT_RGB_TEST
|
||||
#undef RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
#undef RGBLIGHT_EFFECT_ALTERNATING
|
|
@ -0,0 +1,69 @@
|
|||
// Copyright 2022 Will Winder (@winder)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
static const char display [] PROGMEM = {
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0x7f, 0x3f, 0x9f, 0xcf, 0x8f, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0x7f, 0x7f, 0x3f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0xcf, 0xef,
|
||||
0xe7, 0xcf, 0x8f, 0x1e, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf1, 0xe3, 0xf7, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f, 0xbf, 0x9f, 0x1f, 0x3f,
|
||||
0x7b, 0xf0, 0xfe, 0xff, 0xff, 0xfe, 0x7c, 0x78, 0x71, 0x03, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0x3f, 0xff, 0xf3, 0xe3, 0xd7, 0xef, 0xdf, 0x9c, 0x39, 0x73,
|
||||
0xe7, 0xef, 0xcf, 0xcf, 0xce, 0xe0, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0xbf, 0x3f, 0x1f, 0xc8, 0xe1, 0xc7, 0x9f, 0x3f, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0x7f, 0x7f, 0x7f, 0xe7, 0xc7, 0x9f, 0x3f, 0x7d, 0xf0, 0xe3, 0xc7, 0x8f, 0x9f, 0x3e,
|
||||
0x3c, 0xb8, 0x81, 0xc3, 0xff, 0xff, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xbf, 0x1f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xcf, 0xe7,
|
||||
0xf3, 0xf9, 0x71, 0x03, 0x87, 0x8f, 0x1e, 0x3c, 0x79, 0xf3, 0xee, 0x9d, 0xfb, 0xf3, 0xf7, 0xfe,
|
||||
0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xf3,
|
||||
0xf9, 0xfc, 0xf9, 0xf3, 0xe7, 0xcf, 0x9f, 0x3f, 0x7e, 0xfe, 0xfc, 0xfd, 0xf9, 0xf8, 0xf8, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0x9f, 0x3f, 0x7f,
|
||||
0xff, 0xfe, 0xfe, 0xfc, 0xf0, 0xe6, 0xcd, 0x9d, 0x3b, 0x7a, 0xf0, 0xf1, 0xe1, 0xf3, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x47, 0x1f,
|
||||
0x3d, 0xf9, 0xf9, 0xf3, 0x83, 0x30, 0x78, 0x78, 0x71, 0x23, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xef, 0xcf, 0x0e, 0x0c, 0xe1, 0xe3, 0xe7, 0xcf,
|
||||
0x1f, 0x3e, 0x7e, 0xff, 0xef, 0xe7, 0xf3, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf9, 0xf3, 0xe7, 0xcf, 0x9f, 0x3f, 0x7f,
|
||||
0x7f, 0x3f, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xbf, 0x9f, 0xbf, 0x3f, 0x3b, 0x33, 0x87, 0x8f, 0x9f, 0x3f, 0x7f, 0xff, 0xfe,
|
||||
0xfc, 0xb9, 0x83, 0xc7, 0xe7, 0xf3, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xbf, 0x9f, 0xcf, 0xc7, 0x33, 0x7f, 0xfe, 0xfc, 0xfc, 0xf9, 0xf8, 0xf6, 0xe7,
|
||||
0xee, 0xc8, 0x83, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf9, 0xf9, 0xf9, 0xf9,
|
||||
0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf8, 0xfc,
|
||||
0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x07, 0x73,
|
||||
0xfb, 0xfb, 0xf3, 0xe7, 0xcf, 0x9f, 0x3f, 0xf8, 0xf0, 0xe7, 0xe7, 0xe7, 0xe7, 0xf0, 0xf8, 0xfd,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x87, 0x33,
|
||||
0x3b, 0x39, 0x3b, 0x9f, 0x9f, 0x9f, 0x3f, 0x7f, 0xfe, 0xfc, 0xd9, 0xc3, 0xe3, 0xf3, 0xf9, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xdf, 0xdf, 0xdf, 0xbf, 0x7f, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xe7, 0xf3, 0xf9, 0xf8, 0xf1, 0xe3, 0xc7, 0x8f, 0x1f, 0x3e,
|
||||
0x7c, 0xf9, 0xf3, 0xf3, 0xf3, 0xf3, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf3, 0xf9, 0xfc, 0xbe, 0x9c, 0xc1, 0xe3, 0xe7, 0xcf,
|
||||
0x1f, 0x3f, 0xff, 0xf3, 0xf3, 0xfb, 0xf8, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xbf,
|
||||
0xff, 0xff, 0xe7, 0xdb, 0xbb, 0x7b, 0xf7, 0xee, 0xdc, 0xbd, 0xff, 0xf7, 0xf7, 0xf6, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
|
||||
0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xf9, 0xfc,
|
||||
0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfc,
|
||||
0xf9, 0xf3, 0xa7, 0xcf, 0xef, 0xff, 0xfc, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||
};
|
|
@ -0,0 +1,135 @@
|
|||
// Copyright 2022 Viatly Volkov (@vlkv)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
/*
|
||||
qmk compile -kb avalanche/v4 -km default
|
||||
qmk flash -kb avalanche/v4 -km default
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
};
|
||||
|
||||
#define FN_1 MO(_LOWER)
|
||||
#define FN_2 MO(_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_DEL ,
|
||||
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_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_UNDS,
|
||||
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_DEL , KC_LGUI, /**/ KC_INS , KC_BSPC, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
|
||||
KC_LGUI, KC_LALT, KC_LGUI, FN_1 , KC_ENT , /**/ FN_2 , KC_SPC , KC_BSPC, KC_RALT, KC_RGUI
|
||||
),
|
||||
[_LOWER] = LAYOUT(
|
||||
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
|
||||
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DEL ,
|
||||
_______ , KC_TILD, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE, _______,
|
||||
_______, KC_EQL , KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, /**/ _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
|
||||
_______, _______, _______, _______, _______, /**/ _______, _______, _______, _______, _______
|
||||
),
|
||||
[_RAISE] = LAYOUT(
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_VOLU, KC_MUTE, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, KC_0, KC_1, KC_2, KC_3, KC_BSPC, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, KC_0, KC_4, KC_5, KC_6, KC_DEL, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, KC_0, KC_7, KC_8, KC_9, KC_DOT, _______, _______, /**/ _______, _______, KC_PGDN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||
_______, _______, _______, _______, _______, /**/ _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
#include "images.h"
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
return OLED_ROTATION_0;
|
||||
}
|
||||
|
||||
void shiftright(char* buf, int size, int num) {
|
||||
for (int i = size-1; i > 0; i--) {
|
||||
buf[i] >>= 1;
|
||||
if (buf[i-1] & 0x01) {
|
||||
buf[i] |= 0x80;
|
||||
}
|
||||
}
|
||||
buf[0] >>= 1;
|
||||
}
|
||||
|
||||
// right to left, 8 bit vertical strips.
|
||||
void mask(char* enable) {
|
||||
char rowenable[3];
|
||||
const char* data = display;
|
||||
int i = 0;
|
||||
char blockmask[2] = { 0x00, 0x00 };
|
||||
|
||||
while (i < sizeof(display)) {
|
||||
if (i % 128 == 0) {
|
||||
// shift enable-mask right 1 at each row, reinitialize row copy
|
||||
if (i != 0) {
|
||||
shiftright(enable, 3, 2);
|
||||
}
|
||||
rowenable[0] = enable[0];
|
||||
rowenable[1] = enable[1];
|
||||
rowenable[2] = enable[2];
|
||||
}
|
||||
|
||||
if (i % 8 == 0) {
|
||||
if (rowenable[2] & 0x01) {
|
||||
blockmask[1] = 0xff;
|
||||
} else {
|
||||
blockmask[1] = 0x00;
|
||||
}
|
||||
|
||||
if (rowenable[2] & 0x02) {
|
||||
blockmask[0] = 0xff;
|
||||
} else {
|
||||
blockmask[0] = 0x00;
|
||||
}
|
||||
shiftright(rowenable, 3, 2);
|
||||
}
|
||||
|
||||
uint8_t c = pgm_read_byte(data++);
|
||||
oled_write_raw_byte(c & blockmask[1], i++);
|
||||
shiftright(blockmask, 2, 1);
|
||||
}
|
||||
}
|
||||
|
||||
void setmask(char* mask) {
|
||||
mask[0] = 0x00;
|
||||
mask[1] = 0x00;
|
||||
mask[2] = 0x00;
|
||||
|
||||
uint8_t mod = get_mods() | get_oneshot_mods();
|
||||
if (mod & MOD_MASK_CTRL) {
|
||||
mask[1] |= 0xf0;
|
||||
}
|
||||
if (mod & MOD_MASK_ALT) {
|
||||
mask[1] |= 0x0f;
|
||||
}
|
||||
if (mod & MOD_MASK_GUI) {
|
||||
mask[0] |= 0xf0;
|
||||
}
|
||||
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _LOWER:
|
||||
mask[2] |= 0xf0;
|
||||
break;
|
||||
case _RAISE:
|
||||
mask[0] |= 0x0f;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool oled_task_user(void) {
|
||||
char m[3];
|
||||
setmask(m);
|
||||
mask(m);
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1 @@
|
|||
RGBLIGHT_ENABLE = yes
|
|
@ -0,0 +1,23 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = caterina
|
||||
|
||||
# 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
|
||||
OLED_ENABLE = yes
|
||||
OLED_DRIVER = SSD1306
|
||||
|
||||
SPLIT_KEYBOARD = yes
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright 2022 Vitaly Volkov (@vlkv)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "avalanche.h"
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
|
||||
return OLED_ROTATION_180;
|
||||
}
|
||||
|
||||
bool oled_task_kb(void) {
|
||||
if (!oled_task_user()) {
|
||||
return false;
|
||||
}
|
||||
oled_write_P(PSTR("Avalanche\nVersion 4"), false);
|
||||
return true;
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,31 @@
|
|||
// Copyright 2022 Vitaly Volkov (@vlkv)
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "avalanche.h"
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define L__ KC_NO
|
||||
#define R__ KC_NO
|
||||
|
||||
#define LAYOUT( \
|
||||
L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \
|
||||
L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \
|
||||
L40, L20, L21, L22, L23, L24, L25, R25, R24, R23, R22, R21, R20, R40, \
|
||||
L30, L31, L32, L33, L34, L35, L36, L26, R26, R36, R35, R34, R33, R32, R31, R30, \
|
||||
L42, L43, L44, L45, L46, R46, R45, R44, R43, R42 \
|
||||
) \
|
||||
{ \
|
||||
{ L00, L01, L02, L03, L04, L05, L__}, \
|
||||
{ L10, L11, L12, L13, L14, L15, L__}, \
|
||||
{ L20, L21, L22, L23, L24, L25, L26}, \
|
||||
{ L30, L31, L32, L33, L34, L35, L36}, \
|
||||
{ L40, L__, L42, L43, L44, L45, L46}, \
|
||||
{ R00, R01, R02, R03, R04, R05, R__}, \
|
||||
{ R10, R11, R12, R13, R14, R15, R__}, \
|
||||
{ R20, R21, R22, R23, R24, R25, R26}, \
|
||||
{ R30, R31, R32, R33, R34, R35, R36}, \
|
||||
{ R40, R__, R42, R43, R44, R45, R46} \
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
/*
|
||||
Copyright 2021 @cyril279
|
||||
|
||||
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
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x5F10
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER cyril279
|
||||
#define PRODUCT rev41lp
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 7
|
||||
#define MATRIX_COLS 6
|
||||
|
||||
#define MATRIX_ROW_PINS { F4, B2, F5, B3, F6, B1, F7 }
|
||||
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define BACKLIGHT_PIN B6
|
||||
#define BACKLIGHT_ON_STATE 1
|
||||
#define BACKLIGHT_LEVELS 7
|
||||
#define BACKLIGHT_LIMIT_VAL 150
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"keyboard_name": "rev41lp",
|
||||
"url": "https://github.com/cyril279/keyboards/tree/main/revlp/41_1350",
|
||||
"maintainer": "cyril279",
|
||||
"layouts": {
|
||||
"LAYOUT_rev41lp": {
|
||||
"layout": [
|
||||
{"label":"K00", "x":0, "y":0.54},
|
||||
{"label":"K01", "x":1, "y":0.36},
|
||||
{"label":"K02", "x":2, "y":0.18},
|
||||
{"label":"K03", "x":3, "y":0},
|
||||
{"label":"K04", "x":4, "y":0.18},
|
||||
{"label":"K05", "x":5, "y":0.36},
|
||||
|
||||
{"label":"K10", "x":7, "y":0.36},
|
||||
{"label":"K11", "x":8, "y":0.18},
|
||||
{"label":"K12", "x":9, "y":0},
|
||||
{"label":"K13", "x":10, "y":0.18},
|
||||
{"label":"K14", "x":11, "y":0.36},
|
||||
{"label":"K15", "x":12, "y":0.54},
|
||||
|
||||
{"label":"K20", "x":0, "y":1.54},
|
||||
{"label":"K21", "x":1, "y":1.36},
|
||||
{"label":"K22", "x":2, "y":1.18},
|
||||
{"label":"K23", "x":3, "y":1},
|
||||
{"label":"K24", "x":4, "y":1.18},
|
||||
{"label":"K25", "x":5, "y":1.36},
|
||||
|
||||
{"label":"K30", "x":7, "y":1.36},
|
||||
{"label":"K31", "x":8, "y":1.18},
|
||||
{"label":"K32", "x":9, "y":1},
|
||||
{"label":"K33", "x":10, "y":1.18},
|
||||
{"label":"K34", "x":11, "y":1.36},
|
||||
{"label":"K35", "x":12, "y":1.54},
|
||||
|
||||
{"label":"K40", "x":0, "y":2.54},
|
||||
{"label":"K41", "x":1, "y":2.36},
|
||||
{"label":"K42", "x":2, "y":2.18},
|
||||
{"label":"K43", "x":3, "y":2},
|
||||
{"label":"K44", "x":4, "y":2.18},
|
||||
{"label":"K45", "x":5, "y":2.36},
|
||||
|
||||
{"label":"K50", "x":7, "y":2.36},
|
||||
{"label":"K51", "x":8, "y":2.18},
|
||||
{"label":"K52", "x":9, "y":2},
|
||||
{"label":"K53", "x":10, "y":2.18},
|
||||
{"label":"K54", "x":11, "y":2.36},
|
||||
{"label":"K55", "x":12, "y":2.54},
|
||||
|
||||
{"label":"K60", "x":2.875, "y":3.54, "w":1.25},
|
||||
{"label":"K61", "x":4.125, "y":3.54, "w":1.25},
|
||||
{"label":"K62", "x":5.375, "y":3.54, "w":2.25},
|
||||
{"label":"K63", "x":7.625, "y":3.54, "w":1.25},
|
||||
{"label":"K64", "x":8.875, "y":3.54, "w":1.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
Copyright 2021 @cyril279
|
||||
|
||||
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 TAPPING_TERM 150
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
|
@ -0,0 +1,105 @@
|
|||
/*
|
||||
Copyright 2021 @cyril279
|
||||
|
||||
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
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
_NAVIG,
|
||||
_FUNCTION
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
#define ADJUST MO(_ADJUST)
|
||||
#define SPC_NAV LT(_NAVIG,KC_SPC)
|
||||
#define FUNCT MO(_FUNCTION)
|
||||
#define NAVIG MO(_NAVIG)
|
||||
|
||||
#define LGUI_A LGUI_T(KC_A)
|
||||
#define LALT_S LALT_T(KC_S)
|
||||
#define LSFT_D LSFT_T(KC_D)
|
||||
#define LCTL_F LCTL_T(KC_F)
|
||||
#define RCTL_J RCTL_T(KC_J)
|
||||
#define RSFT_K RSFT_T(KC_K)
|
||||
#define RALT_L LALT_T(KC_L)
|
||||
#define RGUI_SCLN RGUI_T(KC_SCLN)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_rev41lp(
|
||||
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, LALT_S, LSFT_D, LCTL_F, KC_G, KC_H, RCTL_J, RSFT_K, RALT_L, KC_SCLN, KC_QUOT,
|
||||
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_LGUI, LOWER, SPC_NAV, RAISE, FUNCT
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_rev41lp(
|
||||
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
_______, _______, _______, _______, _______, _______, KC_TILD, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_PSCR, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_rev41lp(
|
||||
KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
_______, _______, _______, _______, _______, _______, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_PSCR, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_NAVIG] = LAYOUT_rev41lp(
|
||||
KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO,
|
||||
_______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______,
|
||||
_______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_FUNCTION] = LAYOUT_rev41lp(
|
||||
KC_DEL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DEL,
|
||||
_______, _______, _______, _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
_______, _______, KC_LGUI, KC_LALT, KC_CAPS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_rev41lp(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_BRTG, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
|
||||
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case LGUI_A:
|
||||
case RGUI_SCLN:
|
||||
case LALT_S:
|
||||
case RALT_L:
|
||||
case LCTL_F:
|
||||
case RCTL_J:
|
||||
case SPC_NAV:
|
||||
return 225;
|
||||
default:
|
||||
return TAPPING_TERM;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
Copyright 2021 @cyril279
|
||||
|
||||
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_rev41lp(
|
||||
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, 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, RSFT_T(KC_ENT),
|
||||
KC_LALT, MO(1), KC_SPC, MO(2), KC_LGUI
|
||||
),
|
||||
|
||||
[1] = LAYOUT_rev41lp(
|
||||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
_______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, KC_TILD,
|
||||
_______, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, KC_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, RSFT_T(KC_SPC),
|
||||
_______, _______, KC_ENT, MO(3), _______
|
||||
),
|
||||
|
||||
[2] = LAYOUT_rev41lp(
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
_______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
_______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, KC_QUOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, MO(3), KC_BSPC, _______, _______
|
||||
),
|
||||
|
||||
[3] = LAYOUT_rev41lp(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DEC, BL_TOGG, BL_BRTG, BL_INC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
/* Copyright 2022 Jan Lindblom (@janlindblom)
|
||||
*
|
||||
* 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
|
||||
|
||||
#undef BACKLIGHT_LEVELS
|
||||
#define BACKLIGHT_LEVELS 11
|
||||
#undef BACKLIGHT_LIMIT_VAL
|
||||
#define BACKLIGHT_LIMIT_VAL 255
|
||||
#define BACKLIGHT_DEFAULT_LEVEL 3
|
||||
|
||||
#define COMBO_COUNT 3
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
|
||||
#define UNICODE_SELECTED_MODES UC_WINC, UC_WIN, UC_MAC, UC_LNX
|
||||
|
||||
#define TAPPING_FORCE_HOLD
|
||||
#define TAPPING_TERM 200
|
||||
#define TAPPING_TERM_PER_KEY
|
||||
|
||||
#define LAYER_STATE_8BIT
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
#define NO_ACTION_ONESHOT
|
||||
|
||||
/* Bootmagic Lite key configuration */
|
||||
#define BOOTMAGIC_LITE_ROW 0
|
||||
#define BOOTMAGIC_LITE_COLUMN 0
|
||||
|
||||
/* key combination for command */
|
||||
#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || get_mods() == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)))
|
|
@ -0,0 +1,176 @@
|
|||
/* Copyright 2022 Jan Lindblom (@janlindblom)
|
||||
*
|
||||
* 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
|
||||
#include "keymap_swedish.h"
|
||||
#include "sendstring_swedish.h"
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
SK_NOT_EQL = SAFE_RANGE,
|
||||
SK_LEQ,
|
||||
SK_GEQ,
|
||||
};
|
||||
|
||||
// Custom send_string keys
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case SK_NOT_EQL:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("!=");
|
||||
}
|
||||
break;
|
||||
case SK_LEQ:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("<=");
|
||||
}
|
||||
break;
|
||||
case SK_GEQ:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(">=");
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// Combos, if enabled
|
||||
#ifdef COMBO_ENABLE
|
||||
enum combo_events {
|
||||
ZC_COPY,
|
||||
XV_PASTE,
|
||||
ZX_CUT,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM copy_combo[] = {KC_Z, KC_C, COMBO_END};
|
||||
const uint16_t PROGMEM paste_combo[] = {KC_X, KC_V, COMBO_END};
|
||||
const uint16_t PROGMEM cut_combo[] = {KC_Z, KC_X, COMBO_END};
|
||||
|
||||
combo_t key_combos[COMBO_COUNT] = {
|
||||
[ZC_COPY] = COMBO_ACTION(copy_combo),
|
||||
[XV_PASTE] = COMBO_ACTION(paste_combo),
|
||||
[ZX_CUT] = COMBO_ACTION(cut_combo),
|
||||
};
|
||||
|
||||
void process_combo_event(uint16_t combo_index, bool pressed) {
|
||||
switch (combo_index) {
|
||||
case ZC_COPY:
|
||||
if (pressed) {
|
||||
tap_code16(LCTL(KC_C));
|
||||
}
|
||||
break;
|
||||
case XV_PASTE:
|
||||
if (pressed) {
|
||||
tap_code16(LCTL(KC_V));
|
||||
}
|
||||
break;
|
||||
case ZX_CUT:
|
||||
if (pressed) {
|
||||
tap_code16(LCTL(KC_X));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// Tap Dance definitions
|
||||
#ifdef TAP_DANCE_ENABLE
|
||||
enum dances {
|
||||
TD_SHFT_CAPS,
|
||||
TD_DOT_COL,
|
||||
TD_COM_SCL,
|
||||
TD_DASH_USCR,
|
||||
};
|
||||
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
// Tap once for Shift, twice for Caps Lock
|
||||
[TD_SHFT_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
|
||||
[TD_COM_SCL] = ACTION_TAP_DANCE_DOUBLE(KC_COMM, SE_SCLN),
|
||||
[TD_DOT_COL] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, SE_COLN),
|
||||
[TD_DASH_USCR] = ACTION_TAP_DANCE_DOUBLE(SE_MINS, S(SE_MINS)),
|
||||
};
|
||||
# define CK_LSFT TD(TD_SHFT_CAPS)
|
||||
# define CK_COMM TD(TD_COM_SCL)
|
||||
# define CK_DOT TD(TD_DOT_COL)
|
||||
# define CK_DASH TD(TD_DASH_USCR)
|
||||
#else
|
||||
# define CK_LSFT KC_LSFT
|
||||
# define CK_COMM KC_COMM
|
||||
# define CK_DOT KC_DOT
|
||||
# define CK_DASH SE_MINS
|
||||
#endif
|
||||
|
||||
// Some defines for the keys below
|
||||
#define CK_ESC LT(_RAISE, KC_ESC)
|
||||
#define CK_BSPC LCTL_T(KC_BSPC)
|
||||
#define CK_DEL LALT_T(KC_DEL)
|
||||
#define CK_ENT1 LT(_LOWER, KC_ENT)
|
||||
#define CK_ENT2 LT(_RAISE, KC_ENT)
|
||||
#define CK_TAB RALT_T(KC_TAB)
|
||||
#define CK_ADIA RCTL_T(SE_ADIA)
|
||||
#define CK_QUOT RSFT_T(SE_QUOT)
|
||||
#define CK_SPC RSFT_T(KC_SPC)
|
||||
|
||||
// Alt + [-] => – (en-dash)
|
||||
const key_override_t mins_ndash_override = ko_make_basic(MOD_MASK_ALT, SE_MINS, UC(0x2013));
|
||||
// Shift + Alt + [-] => — (em-dash)
|
||||
const key_override_t mins_mdash_override = ko_make_basic(MOD_MASK_SA, SE_MINS, UC(0x2014));
|
||||
|
||||
const key_override_t **key_overrides = (const key_override_t *[]){
|
||||
&mins_ndash_override,
|
||||
&mins_mdash_override,
|
||||
NULL
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_rev41lp(
|
||||
CK_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG,
|
||||
CK_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_ODIA, CK_ADIA,
|
||||
CK_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, SE_COMM, SE_DOT, SE_MINS, CK_QUOT,
|
||||
CK_DEL, CK_ENT1, KC_SPC, CK_ENT2, CK_TAB
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_rev41lp(
|
||||
SK_NOT_EQL, SE_EXLM, SE_AT, SE_HASH, SE_DLR, SE_PERC, SE_CIRC, SE_AMPR, SE_ASTR, SE_LPRN, SE_RPRN, SE_DIAE,
|
||||
SK_LEQ, SE_UNDS, SE_PLUS, SE_LCBR, SE_RCBR, SE_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, SE_GRV, SE_TILD,
|
||||
SK_GEQ, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, SE_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, CK_SPC,
|
||||
_______, _______, KC_ENT, _______, _______
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_rev41lp(
|
||||
_______, SE_1, SE_2, SE_3, SE_4, SE_5, SE_6, SE_7, SE_8, SE_9, SE_0, SE_GRV,
|
||||
_______, SE_MINS, SE_EQL, SE_LBRC, SE_RBRC, SE_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
|
||||
_______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, SE_ACUT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
SE_LABK, SE_RABK, KC_BSPC, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_rev41lp(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, BL_OFF, BL_DEC, BL_TOGG, BL_BRTG, BL_INC, BL_ON, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_STEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, UC_M_WC, UC_M_MA, UC_M_LN, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
# Namnlos custom keymap for Rev41lp
|
||||
|
||||
This is a nordic keymap for the Rev41lp by [cyril](https://github.com/cyril279), it's based on the default keymap but has customisations for nordic languages.
|
|
@ -0,0 +1,7 @@
|
|||
SLEEP_LED_ENABLE = yes
|
||||
NKRO_ENABLE = yes
|
||||
UNICODE_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = yes
|
||||
KEY_OVERRIDE_ENABLE = yes
|
||||
DEBOUNCE_TYPE = sym_defer_pk
|
||||
LTO_ENABLE = yes
|
|
@ -0,0 +1,15 @@
|
|||
# The rev41lp keyboard
|
||||
|
||||
![The rev41lp keyboard by cyril279](https://imgur.com/nZNHSaWh.jpg)
|
||||
|
||||
Inspired by the REVIUNG series by Gtips, the rev41lp is 41-key column staggered keyboard designed for use with low-profile Kailh Choc (pg1350) switches.
|
||||
|
||||
* Keyboard Maintainer: [cyril279](https://github.com/cyril279)
|
||||
* Hardware Supported: The REVlp PCBs, Pro Micro supported, bluetooth controller friendly.
|
||||
* Hardware Availability: [PCB Data](https://github.com/cyril279/keyboards/tree/main/revlp)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make b_sides/rev41lp:default
|
||||
|
||||
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).
|
|
@ -0,0 +1,17 @@
|
|||
/*
|
||||
Copyright 2021 @cyril279
|
||||
|
||||
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 "rev41lp.h"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue