mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-08-14 18:44:37 +00:00
Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
873a1999bb | ||
![]() |
705cd433c2 | ||
![]() |
724ee24075 | ||
![]() |
4a2062cc01 | ||
![]() |
bc818352a3 | ||
![]() |
ac1d48cbf5 | ||
![]() |
adc7cc5981 | ||
![]() |
02451fcc75 | ||
![]() |
574b3d8a5a | ||
![]() |
2742d0c4c1 | ||
![]() |
ae993dc068 | ||
![]() |
e8b7cee9d3 |
@@ -8,14 +8,16 @@ A hotswap 60% RGB keyboard.
|
||||
* Hardware Supported: DZtech DZ60RGB-ANSI V1 and V2
|
||||
* Hardware Availability: [KBDfans](https://kbdfans.com/)
|
||||
|
||||
There are two versions of the DZ60RGB-ANSI. Please use the appropriate firmware for your board.
|
||||
There are three versions of the DZ60RGB-ANSI. Please use the appropriate firmware for your board.
|
||||
|
||||
* V1: STM32F303 (Arm), takes .bin files
|
||||
* V2: ATmega32U4 (AVR), takes .hex files
|
||||
* V2.1: ATmega32U4 (AVR), takes .bin files
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make dztech/dz60rgb_ansi/v1:default # Arm (STM32F303)
|
||||
make dztech/dz60rgb_ansi/v2:default # AVR (ATmega32U4)
|
||||
make dztech/dz60rgb_ansi/v2_1:default # AVR (ATmega32U4)
|
||||
|
||||
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).
|
||||
|
77
keyboards/dztech/dz60rgb_ansi/v2_1/config.h
Normal file
77
keyboards/dztech/dz60rgb_ansi/v2_1/config.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/* Copyright 2021 QMK
|
||||
*
|
||||
* 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
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x445A
|
||||
#define PRODUCT_ID 0x1221
|
||||
#define DEVICE_VER 0x0002
|
||||
#define MANUFACTURER DZTECH
|
||||
#define PRODUCT DZ60RGB_ANSI
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 14
|
||||
|
||||
/*
|
||||
* 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 { F5, F4, F1, B3, B2 }
|
||||
#define MATRIX_COL_PINS { C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 3
|
||||
|
||||
/* disable these deprecated features by default */
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
|
||||
# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
# define RGB_MATRIX_KEYPRESSES
|
||||
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
# define DISABLE_RGB_MATRIX_BAND_SAT
|
||||
# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
# define DISABLE_RGB_MATRIX_SPLASH
|
||||
# define DISABLE_RGB_MATRIX_MULTISPLASH
|
||||
# define DISABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
# define DISABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
# define DRIVER_ADDR_1 0b1010000
|
||||
# define DRIVER_COUNT 1
|
||||
# define DRIVER_LED_TOTAL 61
|
||||
#endif
|
25
keyboards/dztech/dz60rgb_ansi/v2_1/rules.mk
Normal file
25
keyboards/dztech/dz60rgb_ansi/v2_1/rules.mk
Normal file
@@ -0,0 +1,25 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = lufa-ms
|
||||
BOOTLOADER_SIZE = 6144
|
||||
|
||||
# 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
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
RGB_MATRIX_ENABLE = yes # Use RGB matrix
|
||||
RGB_MATRIX_DRIVER = IS31FL3733
|
||||
LTO_ENABLE = yes
|
@@ -78,6 +78,43 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
#endif // COLEMAK_LAYER_ENABLE
|
||||
};
|
||||
|
||||
#if defined(ENCODER_ENABLE) && !defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality when not using userspace defaults
|
||||
void encoder_action_rgbhue(bool clockwise) {
|
||||
if (clockwise)
|
||||
rgblight_increase_hue_noeeprom();
|
||||
else
|
||||
rgblight_decrease_hue_noeeprom();
|
||||
}
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
uint8_t mods_state = get_mods();
|
||||
if (mods_state & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, encoder changes layers
|
||||
encoder_action_layerchange(clockwise);
|
||||
} else if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, Page up/dn
|
||||
unregister_mods(MOD_BIT(KC_RSFT));
|
||||
encoder_action_navpage(clockwise);
|
||||
register_mods(MOD_BIT(KC_RSFT));
|
||||
} else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word
|
||||
encoder_action_navword(clockwise);
|
||||
} else if (mods_state & MOD_BIT(KC_RCTL)) { // if holding Right Ctrl, change rgb hue/colour
|
||||
encoder_action_rgbhue(clockwise);
|
||||
} else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track
|
||||
encoder_action_mediatrack(clockwise);
|
||||
} else {
|
||||
switch(get_highest_layer(layer_state)) {
|
||||
case _FN1:
|
||||
#ifdef IDLE_TIMEOUT_ENABLE
|
||||
timeout_update_threshold(clockwise);
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
encoder_action_volume(clockwise); // Otherwise it just changes volume
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif // ENCODER_ENABLE && !ENCODER_DEFAULTACTIONS_ENABLE
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
// Capslock, Scroll lock and Numlock indicator on Left side lights.
|
||||
|
@@ -12,6 +12,7 @@
|
||||
- holding Left shift, change layers
|
||||
- holding right shift, Navigate page up/down
|
||||
- holding Left Ctrl, navigate prev/next word
|
||||
- holding Right Ctrl, changes RGB hue/colour
|
||||
- holding Left Alt, change media prev/next track
|
||||
- default is change volume
|
||||
|
||||
|
@@ -6,6 +6,6 @@ BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
|
||||
TD_LSFT_CAPSLOCK_ENABLE = yes
|
||||
IDLE_TIMEOUT_ENABLE = yes
|
||||
STARTUP_NUMLOCK_ON = yes
|
||||
ENCODER_DEFAULTACTIONS_ENABLE = yes
|
||||
ENCODER_DEFAULTACTIONS_ENABLE = no
|
||||
|
||||
COLEMAK_LAYER_ENABLE = yes #Enable Colemak layer / set to no to disable
|
||||
|
@@ -57,46 +57,31 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
};
|
||||
|
||||
#ifdef ENCODER_ENABLE // Encoder Functionality
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
switch (index)
|
||||
{
|
||||
case 0: // first encoder (Left Macro set)
|
||||
if (clockwise) {
|
||||
tap_code(KC_PGDN);
|
||||
} else {
|
||||
tap_code(KC_PGUP);
|
||||
}
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
uint8_t mods_state = get_mods();
|
||||
switch (index) {
|
||||
case 0: // first encoder (Left Macro set)
|
||||
encoder_action_navpage(clockwise);
|
||||
break;
|
||||
|
||||
default: // other encoder (Top right)
|
||||
if ( clockwise ) {
|
||||
if (keyboard_report->mods & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, Page up
|
||||
unregister_mods(MOD_BIT(KC_LSFT));
|
||||
register_code(KC_PGDN);
|
||||
register_mods(MOD_BIT(KC_LSFT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next word
|
||||
tap_code16(LCTL(KC_RGHT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next track
|
||||
tap_code(KC_MEDIA_NEXT_TRACK);
|
||||
default: // other encoder (Top right)
|
||||
if (mods_state & MOD_BIT(KC_LSFT) ) { // If you are holding Left shift, change layers
|
||||
encoder_action_layerchange(clockwise);
|
||||
} else if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding Right shift, Page up
|
||||
unregister_mods(MOD_BIT(KC_RSFT));
|
||||
encoder_action_navpage(clockwise);
|
||||
register_mods(MOD_BIT(KC_RSFT));
|
||||
} else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word
|
||||
encoder_action_navword(clockwise);
|
||||
} else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track
|
||||
encoder_action_mediatrack(clockwise);
|
||||
} else {
|
||||
tap_code(KC_VOLU); // Otherwise it just changes volume
|
||||
}
|
||||
} else {
|
||||
if (keyboard_report->mods & MOD_BIT(KC_LSFT) ) {
|
||||
unregister_mods(MOD_BIT(KC_LSFT));
|
||||
register_code(KC_PGUP);
|
||||
register_mods(MOD_BIT(KC_LSFT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate previous word
|
||||
tap_code16(LCTL(KC_LEFT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media previous track
|
||||
tap_code(KC_MEDIA_PREV_TRACK);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
encoder_action_volume(clockwise); // Otherwise it just changes volume
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
|
142
keyboards/kprepublic/bm80/bm80.c
Normal file
142
keyboards/kprepublic/bm80/bm80.c
Normal file
@@ -0,0 +1,142 @@
|
||||
/* Copyright 2021 peepeetee
|
||||
*
|
||||
* 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 "bm80.h"
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
led_config_t g_led_config = { {
|
||||
// Key Matrix to LED Index
|
||||
{ 0, NO_LED, 1, 2, 3, 4, NO_LED, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15 },
|
||||
{ 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 },
|
||||
{ 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49 },
|
||||
{ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 11, 62, NO_LED, NO_LED, NO_LED },
|
||||
/* ^ this one is f11*/
|
||||
{ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, NO_LED, 74, NO_LED, NO_LED, 75, NO_LED },
|
||||
{ 76, 77, 78, NO_LED, NO_LED, 79, NO_LED, NO_LED, NO_LED, 80, 81, 82, 83, 84, NO_LED, 85, 86 }
|
||||
|
||||
// K0_0, K0_2, K0_3, K0_4, K0_5, K0_7, K0_8, K0_9, K0_A, K0_B, K0_C, K3_C, K0_D, K0_E, K0_F, K0_10,
|
||||
// K1_0, K1_1, K1_2, K1_3, K1_4, K1_5, K1_6, K1_7, K1_8, K1_9, K1_A, K1_B, K1_C, K1_D, K1_E, K1_F, K1_10,
|
||||
// K2_0, K2_1, K2_2, K2_3, K2_4, K2_5, K2_6, K2_7, K2_8, K2_9, K2_A, K2_B, K2_C, K2_D, K2_E, K2_F, K2_10,
|
||||
// K3_0, K3_1, K3_2, K3_3, K3_4, K3_5, K3_6, K3_7, K3_8, K3_9, K3_A, K3_B, K3_D,
|
||||
// K4_0, K4_1, K4_2, K4_3, K4_4, K4_5, K4_6, K4_7, K4_8, K4_9, K4_A, K4_C, K4_F,
|
||||
// K5_0, K5_1, K5_2, K5_5, K5_9, K5_A, K5_B, K5_C, K5_D, K5_F, K5_10
|
||||
|
||||
|
||||
// K0_0, KC_NO, K0_2, K0_3, K0_4, K0_5, KC_NO, K0_7, K0_8, K0_9, K0_A, K0_B, K0_C, K0_D, K0_E, K0_F, K0_10
|
||||
// K1_0, K1_1, K1_2, K1_3, K1_4, K1_5, K1_6, K1_7, K1_8, K1_9, K1_A, K1_B, K1_C, K1_D, K1_E, K1_F, K1_10
|
||||
// K2_0, K2_1, K2_2, K2_3, K2_4, K2_5, K2_6, K2_7, K2_8, K2_9, K2_A, K2_B, K2_C, K2_D, K2_E, K2_F, K2_10
|
||||
// K3_0, K3_1, K3_2, K3_3, K3_4, K3_5, K3_6, K3_7, K3_8, K3_9, K3_A, K3_B, K3_C, K3_D, KC_NO, KC_NO, KC_NO
|
||||
// K4_0, K4_1, K4_2, K4_3, K4_4, K4_5, K4_6, K4_7, K4_8, K4_9, K4_A, KC_NO, K4_C, KC_NO, KC_NO, K4_F, KC_NO
|
||||
// K5_0, K5_1, K5_2, KC_NO, KC_NO, K5_5, KC_NO, KC_NO, KC_NO, K5_9, K5_A, K5_B, K5_C, K5_D, KC_NO, K5_F, K5_10
|
||||
|
||||
/*
|
||||
* ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
|
||||
* │ 0 │ │ 1 │ 2 │ 3 │ 4 │ │ 5 │ 6 │ 7 │ 8 │ │ 9 │ 10│ 11│ 12│ │ 13│ 14│ 15│
|
||||
* └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
|
||||
* │ 16│ 17│ 18│ 19│ 20│ 21│ 22│ 23│ 24│ 25│ 26│ 27│ 28│ 29 │ │ 30│ 31│ 32│
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
|
||||
* │ 33 │ 34│ 35│ 36│ 37│ 38│ 39│ 40│ 41│ 42│ 43│ 44│ 45│ 46 │ │ 47│ 48│ 49│
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘
|
||||
* │ 50 │ 51│ 52│ 53│ 54│ 55│ 56│ 57│ 58│ 59│ 60│ 61│ 62 │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐
|
||||
* │ 63 │ 64│ 65│ 66│ 67│ 68│ 69│ 70│ 71│ 72│ 73│ 74 │ │ 75│
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐
|
||||
* │ 76 │ 77 │ 78 │ 79 │ 80 │ 81 │ 82 │ 83 │ │ 84│ 85│ 86│
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
|
||||
*/
|
||||
|
||||
}, {
|
||||
// LED Index to Physical Position
|
||||
{ 7, 5 }, { 31, 5 }, { 43, 5 }, { 55, 5 }, { 67, 5 }, { 85, 5 }, { 97, 5 }, { 109, 5 }, { 121, 5 }, { 139, 5 }, { 151, 5 }, { 163, 5 }, { 175, 5 }, { 193, 5 }, { 205, 5 }, { 217, 5 },
|
||||
/*
|
||||
* ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
|
||||
* │ 0 │ │ 1 │ 2 │ 3 │ 4 │ │ 5 │ 6 │ 7 │ 8 │ │ 9 │ 10│ 11│ 12│ │ 13│ 14│ 15│
|
||||
* └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
|
||||
*/
|
||||
{ 7, 20 }, { 19, 20 }, { 31, 20 }, { 43, 20 }, { 55, 20 }, { 67, 20 }, { 79, 20 }, { 91, 20 }, { 103, 20 }, { 115, 20 }, { 127, 20 }, { 139, 20 }, { 151, 20 }, { 169, 20 }, { 193, 20 }, { 205, 20 }, { 217, 20 },
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
|
||||
* │ 16│ 17│ 18│ 19│ 20│ 21│ 22│ 23│ 24│ 25│ 26│ 27│ 28│ 29 │ │ 30│ 31│ 32│
|
||||
* └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───────┘ └───┴───┴───┘
|
||||
*/
|
||||
{ 10, 30 }, { 25, 30 }, { 37, 30 }, { 49, 30 }, { 61, 30 }, { 73, 30 }, { 85, 30 }, { 97, 30 }, { 109, 30 }, { 121, 30 }, { 133, 30 }, { 145, 30 }, { 157, 30 }, { 172, 30 }, { 193, 30 }, { 205, 30 }, { 217, 30 },
|
||||
/*
|
||||
* ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ ┌───┬───┬───┐
|
||||
* │ 33 │ 34│ 35│ 36│ 37│ 38│ 39│ 40│ 41│ 42│ 43│ 44│ 45│ 46 │ │ 47│ 48│ 49│
|
||||
* └─────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴─────┘ └───┴───┴───┘
|
||||
*/
|
||||
{ 11, 39 }, { 28, 39 }, { 40, 39 }, { 52, 39 }, { 64, 39 }, { 76, 39 }, { 88, 39 }, { 100, 39 }, { 112, 39 }, { 124, 39 }, { 136, 39 }, { 148, 39 }, { 168, 39 },
|
||||
/*
|
||||
* ┌──────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┐
|
||||
* │ 50 │ 51│ 52│ 53│ 54│ 55│ 56│ 57│ 58│ 59│ 60│ 61│ 62 │
|
||||
* └──────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴────────┘
|
||||
*/
|
||||
{ 14, 49 }, { 34, 49 }, { 46, 49 }, { 58, 49 }, { 70, 49 }, { 82, 49 }, { 94, 49 }, { 106, 49 }, { 118, 49 }, { 130, 49 }, { 142, 49 }, { 165, 49 }, { 205, 49 },
|
||||
/*
|
||||
* ┌────────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────────┐ ┌───┐
|
||||
* │ 63 │ 64│ 65│ 66│ 67│ 68│ 69│ 70│ 71│ 72│ 73│ 74 │ │ 75│
|
||||
* └────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴──────────┘ └───┘
|
||||
*/
|
||||
{ 8, 59 }, { 23, 59 }, { 38, 59 }, { 83, 59 }, { 129, 59 }, { 144, 59 }, { 159, 59 }, { 174, 59 }, { 193, 59 }, { 205, 59 }, { 217, 59 }
|
||||
/*
|
||||
* ┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ ┌───┬───┬───┐
|
||||
* │ 76 │ 77 │ 78 │ 79 │ 80 │ 81 │ 82 │ 83 │ │ 84│ 85│ 86│
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
|
||||
*/
|
||||
}, {
|
||||
// LED Index to Flag
|
||||
1, 4, 4, 4, 4, 1, 1, 1, 1, 4, 4, 4, 4, 1, 9/*scroll lock*/, 1,
|
||||
/*
|
||||
* ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
|
||||
* │ 0 │ │ 1 │ 2 │ 3 │ 4 │ │ 5 │ 6 │ 7 │ 8 │ │ 9 │ 10│ 11│ 12│ │ 13│ 14│ 15│
|
||||
* └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
|
||||
*/
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1,
|
||||
/*
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
|
||||
* │ 16│ 17│ 18│ 19│ 20│ 21│ 22│ 23│ 24│ 25│ 26│ 27│ 28│ 29 │ │ 30│ 31│ 32│
|
||||
* └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───────┘ └───┴───┴───┘
|
||||
*/
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
|
||||
/*
|
||||
* ┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ ┌───┬───┬───┐
|
||||
* │ 33 │ 34│ 35│ 36│ 37│ 38│ 39│ 40│ 41│ 42│ 43│ 44│ 45│ 46 │ │ 47│ 48│ 49│
|
||||
* └─────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴─────┘ └───┴───┴───┘
|
||||
*/
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
//caps lock is 1 instead of 1+8, this board has a dedicated led
|
||||
/*
|
||||
* ┌──────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬────────┐
|
||||
* │ 50 │ 51│ 52│ 53│ 54│ 55│ 56│ 57│ 58│ 59│ 60│ 61│ 62 │
|
||||
* └──────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴────────┘
|
||||
*/
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
||||
/*
|
||||
* ┌────────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────────┐ ┌───┐
|
||||
* │ 63 │ 64│ 65│ 66│ 67│ 68│ 69│ 70│ 71│ 72│ 73│ 74 │ │ 75│
|
||||
* └────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴──────────┘ └───┘
|
||||
*/
|
||||
1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1
|
||||
/*
|
||||
* ┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ ┌───┬───┬───┐
|
||||
* │ 76 │ 77 │ 78 │ 79 │ 80 │ 81 │ 82 │ 83 │ │ 84│ 85│ 86│
|
||||
* └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
|
||||
*/
|
||||
} };
|
||||
|
||||
|
||||
#endif
|
43
keyboards/kprepublic/bm80/bm80.h
Normal file
43
keyboards/kprepublic/bm80/bm80.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/* Copyright 2021 peepeetee
|
||||
*
|
||||
* 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"
|
||||
|
||||
/* This is a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
#define LAYOUT_tkl_ansi( \
|
||||
K0_0, K0_2, K0_3, K0_4, K0_5, K0_7, K0_8, K0_9, K0_A, K0_B, K0_C, K3_C, K0_D, K0_E, K0_F, K0_10, \
|
||||
K1_0, K1_1, K1_2, K1_3, K1_4, K1_5, K1_6, K1_7, K1_8, K1_9, K1_A, K1_B, K1_C, K1_D, K1_E, K1_F, K1_10, \
|
||||
K2_0, K2_1, K2_2, K2_3, K2_4, K2_5, K2_6, K2_7, K2_8, K2_9, K2_A, K2_B, K2_C, K2_D, K2_E, K2_F, K2_10, \
|
||||
K3_0, K3_1, K3_2, K3_3, K3_4, K3_5, K3_6, K3_7, K3_8, K3_9, K3_A, K3_B, K3_D, \
|
||||
K4_0, K4_1, K4_2, K4_3, K4_4, K4_5, K4_6, K4_7, K4_8, K4_9, K4_A, K4_C, K4_F, \
|
||||
K5_0, K5_1, K5_2, K5_5, K5_9, K5_A, K5_B, K5_C, K5_D, K5_F, K5_10 \
|
||||
) { \
|
||||
{ K0_0, KC_NO, K0_2, K0_3, K0_4, K0_5, KC_NO, K0_7, K0_8, K0_9, K0_A, K0_B, K0_C, K0_D, K0_E, K0_F, K0_10 }, \
|
||||
{ K1_0, K1_1, K1_2, K1_3, K1_4, K1_5, K1_6, K1_7, K1_8, K1_9, K1_A, K1_B, K1_C, K1_D, K1_E, K1_F, K1_10 }, \
|
||||
{ K2_0, K2_1, K2_2, K2_3, K2_4, K2_5, K2_6, K2_7, K2_8, K2_9, K2_A, K2_B, K2_C, K2_D, K2_E, K2_F, K2_10 }, \
|
||||
{ K3_0, K3_1, K3_2, K3_3, K3_4, K3_5, K3_6, K3_7, K3_8, K3_9, K3_A, K3_B, K3_C, K3_D, KC_NO, KC_NO, KC_NO }, \
|
||||
{ K4_0, K4_1, K4_2, K4_3, K4_4, K4_5, K4_6, K4_7, K4_8, K4_9, K4_A, KC_NO, K4_C, KC_NO, KC_NO, K4_F, KC_NO }, \
|
||||
{ K5_0, K5_1, K5_2, KC_NO, KC_NO, K5_5, KC_NO, KC_NO, KC_NO, K5_9, K5_A, K5_B, K5_C, K5_D, KC_NO, K5_F, K5_10 } \
|
||||
}
|
99
keyboards/kprepublic/bm80/config.h
Normal file
99
keyboards/kprepublic/bm80/config.h
Normal file
@@ -0,0 +1,99 @@
|
||||
/*
|
||||
Copyright 2021 peepeetee
|
||||
|
||||
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 0x4B50 //KP
|
||||
#define PRODUCT_ID 0xEF83
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER KPRepublic
|
||||
#define PRODUCT BM80HSRGB
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 17
|
||||
|
||||
/*
|
||||
* 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 { B3, B2, B1, B0, C6, C7 }
|
||||
#define MATRIX_COL_PINS { F0, F1, F4, D7, D6, D4, D5, D3, D2, F5, F6, F7, D1, D0, B4, B5, B6 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
|
||||
|
||||
|
||||
#define LED_CAPS_LOCK_PIN E6
|
||||
#define LED_PIN_ON_STATE 0
|
||||
|
||||
|
||||
#define RGB_DI_PIN E2
|
||||
// The number of LEDs connected
|
||||
#define DRIVER_LED_TOTAL 87
|
||||
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLED_NUM 87
|
||||
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
//#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
#define RGB_DISABLE_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off
|
||||
//#define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
|
||||
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
|
||||
// #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
|
||||
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT // Sets the default mode, if none has been set
|
||||
#define RGB_MATRIX_STARTUP_HUE 0 // Sets the default hue value, if none has been set
|
||||
#define RGB_MATRIX_STARTUP_SAT 255 // Sets the default saturation value, if none has been set
|
||||
#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
|
||||
#define RGB_MATRIX_STARTUP_SPD 127 // Sets the default animation speed, if none has been set
|
||||
// #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature)
|
||||
|
||||
|
||||
|
||||
// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
|
||||
// does not work for some reason, might revisit
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
/* 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
|
||||
|
||||
/* disable these deprecated features by default */
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
98
keyboards/kprepublic/bm80/info.json
Normal file
98
keyboards/kprepublic/bm80/info.json
Normal file
@@ -0,0 +1,98 @@
|
||||
{
|
||||
"keyboard_name": "bm80",
|
||||
"url": "",
|
||||
"maintainer": "peepeetee",
|
||||
"layouts": {
|
||||
"LAYOUT_tkl_ansi": {
|
||||
"layout": [
|
||||
{"label":"K0_0 (B3,F0)", "x":0, "y":0},
|
||||
{"label":"K0_2 (B3,F4)", "x":2, "y":0},
|
||||
{"label":"K0_3 (B3,D7)", "x":3, "y":0},
|
||||
{"label":"K0_4 (B3,D6)", "x":4, "y":0},
|
||||
{"label":"K0_5 (B3,D4)", "x":5, "y":0},
|
||||
{"label":"K0_7 (B3,D3)", "x":6.5, "y":0},
|
||||
{"label":"K0_8 (B3,D2)", "x":7.5, "y":0},
|
||||
{"label":"K0_9 (B3,F5)", "x":8.5, "y":0},
|
||||
{"label":"K0_A (B3,F6)", "x":9.5, "y":0},
|
||||
{"label":"K0_B (B3,F7)", "x":11, "y":0},
|
||||
{"label":"K0_C (B3,D1)", "x":12, "y":0},
|
||||
{"label":"K3_C (B0,D1)", "x":13, "y":0},
|
||||
{"label":"K0_D (B3,D0)", "x":14, "y":0},
|
||||
{"label":"K0_E (B3,B4)", "x":15.25, "y":0},
|
||||
{"label":"K0_F (B3,B5)", "x":16.25, "y":0},
|
||||
{"label":"K0_10 (B3,B6)", "x":17.25, "y":0},
|
||||
{"label":"K1_0 (B2,F0)", "x":0, "y":1.5},
|
||||
{"label":"K1_1 (B2,F1)", "x":1, "y":1.5},
|
||||
{"label":"K1_2 (B2,F4)", "x":2, "y":1.5},
|
||||
{"label":"K1_3 (B2,D7)", "x":3, "y":1.5},
|
||||
{"label":"K1_4 (B2,D6)", "x":4, "y":1.5},
|
||||
{"label":"K1_5 (B2,D4)", "x":5, "y":1.5},
|
||||
{"label":"K1_6 (B2,D5)", "x":6, "y":1.5},
|
||||
{"label":"K1_7 (B2,D3)", "x":7, "y":1.5},
|
||||
{"label":"K1_8 (B2,D2)", "x":8, "y":1.5},
|
||||
{"label":"K1_9 (B2,F5)", "x":9, "y":1.5},
|
||||
{"label":"K1_A (B2,F6)", "x":10, "y":1.5},
|
||||
{"label":"K1_B (B2,F7)", "x":11, "y":1.5},
|
||||
{"label":"K1_C (B2,D1)", "x":12, "y":1.5},
|
||||
{"label":"K1_D (B2,D0)", "x":13, "y":1.5, "w":2},
|
||||
{"label":"K1_E (B2,B4)", "x":15.25, "y":1.5},
|
||||
{"label":"K1_F (B2,B5)", "x":16.25, "y":1.5},
|
||||
{"label":"K1_10 (B2,B6)", "x":17.25, "y":1.5},
|
||||
{"label":"K2_0 (B1,F0)", "x":0, "y":2.5, "w":1.5},
|
||||
{"label":"K2_1 (B1,F1)", "x":1.5, "y":2.5},
|
||||
{"label":"K2_2 (B1,F4)", "x":2.5, "y":2.5},
|
||||
{"label":"K2_3 (B1,D7)", "x":3.5, "y":2.5},
|
||||
{"label":"K2_4 (B1,D6)", "x":4.5, "y":2.5},
|
||||
{"label":"K2_5 (B1,D4)", "x":5.5, "y":2.5},
|
||||
{"label":"K2_6 (B1,D5)", "x":6.5, "y":2.5},
|
||||
{"label":"K2_7 (B1,D3)", "x":7.5, "y":2.5},
|
||||
{"label":"K2_8 (B1,D2)", "x":8.5, "y":2.5},
|
||||
{"label":"K2_9 (B1,F5)", "x":9.5, "y":2.5},
|
||||
{"label":"K2_A (B1,F6)", "x":10.5, "y":2.5},
|
||||
{"label":"K2_B (B1,F7)", "x":11.5, "y":2.5},
|
||||
{"label":"K2_C (B1,D1)", "x":12.5, "y":2.5},
|
||||
{"label":"K2_D (B1,D0)", "x":13.5, "y":2.5, "w":1.5},
|
||||
{"label":"K2_E (B1,B4)", "x":15.25, "y":2.5},
|
||||
{"label":"K2_F (B1,B5)", "x":16.25, "y":2.5},
|
||||
{"label":"K2_10 (B1,B6)", "x":17.25, "y":2.5},
|
||||
{"label":"K3_0 (B0,F0)", "x":0, "y":3.5, "w":1.75},
|
||||
{"label":"K3_1 (B0,F1)", "x":1.75, "y":3.5},
|
||||
{"label":"K3_2 (B0,F4)", "x":2.75, "y":3.5},
|
||||
{"label":"K3_3 (B0,D7)", "x":3.75, "y":3.5},
|
||||
{"label":"K3_4 (B0,D6)", "x":4.75, "y":3.5},
|
||||
{"label":"K3_5 (B0,D4)", "x":5.75, "y":3.5},
|
||||
{"label":"K3_6 (B0,D5)", "x":6.75, "y":3.5},
|
||||
{"label":"K3_7 (B0,D3)", "x":7.75, "y":3.5},
|
||||
{"label":"K3_8 (B0,D2)", "x":8.75, "y":3.5},
|
||||
{"label":"K3_9 (B0,F5)", "x":9.75, "y":3.5},
|
||||
{"label":"K3_A (B0,F6)", "x":10.75, "y":3.5},
|
||||
{"label":"K3_B (B0,F7)", "x":11.75, "y":3.5},
|
||||
{"label":"K3_D (B0,D0)", "x":12.75, "y":3.5, "w":2.25},
|
||||
{"label":"K4_0 (C6,F0)", "x":0, "y":4.5, "w":2.25},
|
||||
{"label":"K4_1 (C6,F1)", "x":2.25, "y":4.5},
|
||||
{"label":"K4_2 (C6,F4)", "x":3.25, "y":4.5},
|
||||
{"label":"K4_3 (C6,D7)", "x":4.25, "y":4.5},
|
||||
{"label":"K4_4 (C6,D6)", "x":5.25, "y":4.5},
|
||||
{"label":"K4_5 (C6,D4)", "x":6.25, "y":4.5},
|
||||
{"label":"K4_6 (C6,D5)", "x":7.25, "y":4.5},
|
||||
{"label":"K4_7 (C6,D3)", "x":8.25, "y":4.5},
|
||||
{"label":"K4_8 (C6,D2)", "x":9.25, "y":4.5},
|
||||
{"label":"K4_9 (C6,F5)", "x":10.25, "y":4.5},
|
||||
{"label":"K4_A (C6,F6)", "x":11.25, "y":4.5},
|
||||
{"label":"K4_C (C6,D1)", "x":12.25, "y":4.5, "w":2.75},
|
||||
{"label":"K4_F (C6,B5)", "x":16.25, "y":4.5},
|
||||
{"label":"K5_0 (C7,F0)", "x":0, "y":5.5, "w":1.25},
|
||||
{"label":"K5_1 (C7,F1)", "x":1.25, "y":5.5, "w":1.25},
|
||||
{"label":"K5_2 (C7,F4)", "x":2.5, "y":5.5, "w":1.25},
|
||||
{"label":"K5_5 (C7,D4)", "x":3.75, "y":5.5, "w":6.25},
|
||||
{"label":"K5_9 (C7,F5)", "x":10, "y":5.5, "w":1.25},
|
||||
{"label":"K5_A (C7,F6)", "x":11.25, "y":5.5, "w":1.25},
|
||||
{"label":"K5_B (C7,F7)", "x":12.5, "y":5.5, "w":1.25},
|
||||
{"label":"K5_C (C7,D1)", "x":13.75, "y":5.5, "w":1.25},
|
||||
{"label":"K5_D (C7,D0)", "x":15.25, "y":5.5},
|
||||
{"label":"K5_F (C7,B5)", "x":16.25, "y":5.5},
|
||||
{"label":"K5_10 (C7,B6)", "x":17.25, "y":5.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
51
keyboards/kprepublic/bm80/keymaps/default/keymap.c
Normal file
51
keyboards/kprepublic/bm80/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,51 @@
|
||||
/* Copyright 2021 peepeetee
|
||||
*
|
||||
* 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_tkl_ansi(
|
||||
KC_ESC, 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_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, 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_INS, KC_HOME, KC_PGUP,
|
||||
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_END, KC_PGDN,
|
||||
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_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_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_tkl_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
/*
|
||||
[X] = LAYOUT_tkl_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
*/
|
||||
|
||||
|
||||
};
|
||||
|
1
keyboards/kprepublic/bm80/keymaps/default/readme.md
Normal file
1
keyboards/kprepublic/bm80/keymaps/default/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default keymap for bm80
|
97
keyboards/kprepublic/bm80/keymaps/peepeetee/config.h
Normal file
97
keyboards/kprepublic/bm80/keymaps/peepeetee/config.h
Normal file
@@ -0,0 +1,97 @@
|
||||
/* Copyright 2021 peepeetee
|
||||
*
|
||||
* 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 IS_COMMAND() (get_mods() == MOD_MASK_SHIFT) // Key combination that allows the use of magic commands (useful for debugging)
|
||||
|
||||
// #define TERMINAL_HELP
|
||||
|
||||
#define FORCE_NKRO // NKRO by default requires to be turned on, this forces it on during keyboard startup regardless of EEPROM setting. NKRO can still be turned off but will be turned on again if the keyboard reboots.
|
||||
// #define QMK_KEYS_PER_SCAN 4 // Allows sending more than one key per scan. By default, only one key event gets sent via process_record() per scan. This has little impact on most typing, but if you're doing a lot of chords, or your scan rate is slow to begin with, you can have some delay in processing key events. Each press and release is a separate event. For a keyboard with 1ms or so scan times, even a very fast typist isn't going to produce the 500 keystrokes a second needed to actually get more than a few ms of delay from this. But if you're doing chording on something with 3-4ms scan times? You probably want this.
|
||||
// #define STRICT_LAYER_RELEASE // Force a key release to be evaluated using the current layer stack instead of remembering which layer it came from (used for advanced cases)
|
||||
// #define TAPPING_TERM 200 // How long before a tap becomes a hold, if set above 500, a key tapped during the tapping term will turn it into a hold too
|
||||
// #define TAPPING_TERM_PER_KEY // Enables handling for per key TAPPING_TERM settings
|
||||
// #define RETRO_TAPPING // Tap anyway, even after TAPPING_TERM, if there was no other key interruption between press and release
|
||||
// #define TAPPING_TOGGLE 2 // How many taps before triggering the toggle
|
||||
// #define PERMISSIVE_HOLD // Makes tap and hold keys trigger the hold if another key is pressed before releasing, even if it hasn't hit the TAPPING_TERM. See Permissive Hold for details
|
||||
// #define IGNORE_MOD_TAP_INTERRUPT // Makes it possible to do rolling combos (zx) with keys that convert to other keys on hold, by enforcing the TAPPING_TERM for both keys. See Mod tap interrupt for details
|
||||
// #define TAPPING_FORCE_HOLD // Makes it possible to use a dual role key as modifier shortly after having been tapped. See Hold after tap. Breaks any Tap Toggle functionality (TT or the One Shot Tap Toggle)
|
||||
// #define LEADER_TIMEOUT 300 // How long before the leader key times out. If you're having issues finishing the sequence before it times out, you may need to increase the timeout setting. Or you may want to enable the LEADER_PER_KEY_TIMING option, which resets the timeout after each key is tapped.
|
||||
// #define LEADER_PER_KEY_TIMING // Sets the timer for leader key chords to run on each key press rather than overall
|
||||
// #define LEADER_KEY_STRICT_KEY_PROCESSING // Disables keycode filtering for Mod-Tap and Layer-Tap keycodes. Eg, if you enable this, you would need to specify MT(MOD_CTL, KC_A) if you want to use KC_A.
|
||||
// #define ONESHOT_TIMEOUT 300 // How long before oneshot times out
|
||||
// #define ONESHOT_TAP_TOGGLE 2 // How many taps before oneshot toggle is triggered
|
||||
// #define COMBO_COUNT 2 // Set this to the number of combos that you're using in the Combo feature.
|
||||
// #define COMBO_TERM 200 // How long for the Combo keys to be detected. Defaults to TAPPING_TERM if not defined.
|
||||
// #define TAP_CODE_DELAY 100 // Sets the delay between register_code and unregister_code, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
|
||||
// #define TAP_HOLD_CAPS_DELAY 80 // Sets the delay for Tap Hold keys (LT, MT) when using KC_CAPSLOCK keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 80 ms if not defined. For macOS, you may want to set this to 200 or higher.
|
||||
|
||||
// #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
// #define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
|
||||
// #define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_ALPHAS_MODS // Sets the default mode, if none has been set
|
||||
// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
|
||||
// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
|
||||
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
|
||||
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
|
||||
|
||||
|
||||
// This list in in the correct mode order. Next mode is the following line, previous mode is previous line. Loops around.
|
||||
// #define DISABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support
|
||||
// #define DISABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
|
||||
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
|
||||
#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient top to bottom, speed controls how much gradient changes
|
||||
#define DISABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
|
||||
#define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
|
||||
#define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
|
||||
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
|
||||
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
|
||||
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
|
||||
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
|
||||
//#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
|
||||
#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
|
||||
#define DISABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
|
||||
#define DISABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
|
||||
#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
|
||||
#define DISABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
|
||||
#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
|
||||
#define DISABLE_RGB_MATRIX_HUE_BREATHING // Hue shifts up a slight ammount at the same time, then shifts back
|
||||
#define DISABLE_RGB_MATRIX_HUE_PENDULUM // Hue shifts up a slight ammount in a wave to the right, then back to the left
|
||||
#define DISABLE_RGB_MATRIX_HUE_WAVE // Hue shifts up a slight ammount and then back down in a wave to the right
|
||||
// =================================================== Requires RGB_MATRIX_FRAMEBUFFER_EFFECTS =============================================================
|
||||
// #define DISABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
|
||||
#define DISABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
|
||||
// =================================================== RGB_MATRIX_KEYPRESSES OR RGB_MATRIX_KEYRELEASES =====================================================
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
|
||||
#define DISABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
|
||||
//#define DISABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
|
||||
#define DISABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
|
||||
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
|
51
keyboards/kprepublic/bm80/keymaps/peepeetee/keymap.c
Normal file
51
keyboards/kprepublic/bm80/keymaps/peepeetee/keymap.c
Normal file
@@ -0,0 +1,51 @@
|
||||
/* Copyright 2021 peepeetee
|
||||
*
|
||||
* 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_tkl_ansi(
|
||||
KC_ESC, 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_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, 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_INS, KC_HOME, KC_PGUP,
|
||||
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_END, KC_PGDN,
|
||||
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_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_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_tkl_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RGB_MOD, RGB_HUI, RGB_VAI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RGB_TOG, RGB_HUD, RGB_VAD, RGB_SAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, KC_AUDIO_VOL_UP,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_BRIGHTNESS_DOWN, KC_AUDIO_VOL_DOWN, KC_BRIGHTNESS_UP
|
||||
)
|
||||
|
||||
/*
|
||||
[X] = LAYOUT_tkl_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
*/
|
||||
|
||||
|
||||
};
|
||||
|
57
keyboards/kprepublic/bm80/keymaps/via/keymap.c
Normal file
57
keyboards/kprepublic/bm80/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,57 @@
|
||||
/* Copyright 2021 peepeetee
|
||||
*
|
||||
* 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_tkl_ansi(
|
||||
KC_ESC, 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_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, 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_INS, KC_HOME, KC_PGUP,
|
||||
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_END, KC_PGDN,
|
||||
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_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_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_tkl_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[2] = LAYOUT_tkl_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[3] = LAYOUT_tkl_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
};
|
||||
|
1
keyboards/kprepublic/bm80/keymaps/via/readme.md
Normal file
1
keyboards/kprepublic/bm80/keymaps/via/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default VIA keymap for bm80
|
1
keyboards/kprepublic/bm80/keymaps/via/rules.mk
Normal file
1
keyboards/kprepublic/bm80/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
30
keyboards/kprepublic/bm80/readme.md
Normal file
30
keyboards/kprepublic/bm80/readme.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# bm80
|
||||
|
||||

|
||||
|
||||
A tkl, hotswap, in switch RGB keyboard from KPRepublic.
|
||||
|
||||
* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee)
|
||||
* Hardware Supported: BM80
|
||||
* Hardware Availability: [KP Republic](https://kprepublic.com/collections/new-arrival/products/bm80rgb-bm80-rgb-80-hot-swappable-custom-mechanical-keyboard-pcb-programmed-qmk-via-firmware-full-rgb-switch-underglow-type-c)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make kprepublic/bm80:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make kprepublic/bm80:default:flash
|
||||
|
||||
To reset the board into bootloader mode, do one of the following:
|
||||
|
||||
* Short the two-pad footprint between the "delete" key and the "end" key while the board is plugged in
|
||||
* Press the switch labled RST on the back of the PCB, near the MCU, while the board is plugged in
|
||||
* Hold the Esc key while connecting the USB cable (also erases persistent settings)
|
||||
|
||||
All of the RGB matrix effects are enabled by default. To disable specific ones, see [this section](https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects) for more information.
|
||||
|
||||
|
||||
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).
|
||||
|
||||
|
26
keyboards/kprepublic/bm80/rules.mk
Normal file
26
keyboards/kprepublic/bm80/rules.mk
Normal file
@@ -0,0 +1,26 @@
|
||||
# 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
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
RGB_MATRIX_DRIVER = WS2812
|
||||
LTO_ENABLE = yes
|
||||
|
||||
LAYOUTS = tkl_ansi
|
@@ -46,4 +46,30 @@
|
||||
{ K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, K4D, K4E }, \
|
||||
}
|
||||
|
||||
#define LAYOUT_all LAYOUT_alice_split_bs
|
||||
#define LAYOUT_alice_split_bs_full_rshift( \
|
||||
K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, K0E,\
|
||||
K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
|
||||
K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
|
||||
K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, \
|
||||
K40, K42, K44, K46, K48, K4A, 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, KC_NO, K2D, K2E }, \
|
||||
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||
{ K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
|
||||
}
|
||||
|
||||
#define LAYOUT_alice_full_rshift( \
|
||||
K1E, K00, K01, K02, K03, K04, K05, K06, K07,K08,K09, K0A, K0B, K0C, K0D, \
|
||||
K2E, K10, K11, K12, K13, K14, K15, K16,K17,K18, K19, K1A, K1B, K1C, K1D,\
|
||||
K3E, K20, K21, K22, K23, K24, K25, K26,K27,K28, K29, K2A, K2B, K2D,\
|
||||
K30, K32, K33, K34, K35, K36, K37,K38,K39, K3A, K3B, K3D, K3C, \
|
||||
K40, K42, K44, K46, K48, K4A, K4E \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO }, \
|
||||
{ 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, KC_NO, K2D, K2E }, \
|
||||
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||
{ K40, KC_NO, K42, KC_NO, K44, KC_NO, K46, KC_NO, K48, KC_NO, K4A, KC_NO, KC_NO, KC_NO, K4E }, \
|
||||
}
|
||||
|
@@ -1,7 +1,10 @@
|
||||
{
|
||||
"keyboard_name": "Adelais",
|
||||
"url": "",
|
||||
"maintainer": "Team Mechlovin'",
|
||||
"maintainer": "mechlovin",
|
||||
"layout_aliases": {
|
||||
"LAYOUT_all": "LAYOUT_alice_split_bs"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_alice_split_bs": {
|
||||
"layout": [
|
||||
@@ -21,6 +24,7 @@
|
||||
{"label":"K0C", "x":15.5, "y":0},
|
||||
{"label":"K0D", "x":16.5, "y":0},
|
||||
{"label":"K0E", "x":17.5, "y":0},
|
||||
|
||||
{"label":"K2E", "x":0, "y":1},
|
||||
{"label":"K10", "x":1.5, "y":1, "w":1.5},
|
||||
{"label":"K11", "x":3, "y":1},
|
||||
@@ -36,6 +40,7 @@
|
||||
{"label":"K1B", "x":15, "y":1},
|
||||
{"label":"K1C", "x":16, "y":1},
|
||||
{"label":"K1D", "x":17, "y":1, "w":1.5},
|
||||
|
||||
{"label":"K3E", "x":0, "y":2},
|
||||
{"label":"K20", "x":1.5, "y":2, "w":1.75},
|
||||
{"label":"K21", "x":3.25, "y":2},
|
||||
@@ -50,6 +55,7 @@
|
||||
{"label":"K2A", "x":14.25, "y":2},
|
||||
{"label":"K2B", "x":15.25, "y":2},
|
||||
{"label":"K2D", "x":16.25, "y":2, "w":2.25},
|
||||
|
||||
{"label":"K30", "x":1.5, "y":3, "w":2.25},
|
||||
{"label":"K32", "x":3.75, "y":3},
|
||||
{"label":"K33", "x":4.75, "y":3},
|
||||
@@ -61,9 +67,10 @@
|
||||
{"label":"K39", "x":11.75, "y":3},
|
||||
{"label":"K3A", "x":12.75, "y":3},
|
||||
{"label":"K3B", "x":13.75, "y":3},
|
||||
{"label":"K4D", "x":14.75, "y":3},
|
||||
{"label":"K3D", "x":14.75, "y":3},
|
||||
{"label":"K3C", "x":15.75, "y":3, "w":1.75},
|
||||
{"label":"K3D", "x":17.5, "y":3},
|
||||
{"label":"K4D", "x":17.5, "y":3},
|
||||
|
||||
{"label":"K40", "x":1.5, "y":4, "w":1.5},
|
||||
{"label":"K42", "x":4.5, "y":4, "w":1.25},
|
||||
{"label":"K44", "x":5.75, "y":4, "w":2.25},
|
||||
@@ -90,6 +97,7 @@
|
||||
{"label":"K0B", "x":14.5, "y":0},
|
||||
{"label":"K0C", "x":15.5, "y":0},
|
||||
{"label":"K0D", "x":16.5, "y":0, "w":2},
|
||||
|
||||
{"label":"K2E", "x":0, "y":1},
|
||||
{"label":"K10", "x":1.5, "y":1, "w":1.5},
|
||||
{"label":"K11", "x":3, "y":1},
|
||||
@@ -105,6 +113,7 @@
|
||||
{"label":"K1B", "x":15, "y":1},
|
||||
{"label":"K1C", "x":16, "y":1},
|
||||
{"label":"K1D", "x":17, "y":1, "w":1.5},
|
||||
|
||||
{"label":"K3E", "x":0, "y":2},
|
||||
{"label":"K20", "x":1.5, "y":2, "w":1.75},
|
||||
{"label":"K21", "x":3.25, "y":2},
|
||||
@@ -119,6 +128,7 @@
|
||||
{"label":"K2A", "x":14.25, "y":2},
|
||||
{"label":"K2B", "x":15.25, "y":2},
|
||||
{"label":"K2D", "x":16.25, "y":2, "w":2.25},
|
||||
|
||||
{"label":"K30", "x":1.5, "y":3, "w":2.25},
|
||||
{"label":"K32", "x":3.75, "y":3},
|
||||
{"label":"K33", "x":4.75, "y":3},
|
||||
@@ -130,9 +140,155 @@
|
||||
{"label":"K39", "x":11.75, "y":3},
|
||||
{"label":"K3A", "x":12.75, "y":3},
|
||||
{"label":"K3B", "x":13.75, "y":3},
|
||||
{"label":"K4D", "x":14.75, "y":3},
|
||||
{"label":"K3D", "x":14.75, "y":3},
|
||||
{"label":"K3C", "x":15.75, "y":3, "w":1.75},
|
||||
{"label":"K3D", "x":17.5, "y":3},
|
||||
{"label":"K4D", "x":17.5, "y":3},
|
||||
|
||||
{"label":"K40", "x":1.5, "y":4, "w":1.5},
|
||||
{"label":"K42", "x":4.5, "y":4, "w":1.25},
|
||||
{"label":"K44", "x":5.75, "y":4, "w":2.25},
|
||||
{"label":"K46", "x":8, "y":4, "w":1.25},
|
||||
{"label":"K48", "x":9.75, "y":4, "w":2.75},
|
||||
{"label":"K4A", "x":12.5, "y":4, "w":1.25},
|
||||
{"label":"K4E", "x":17, "y":4, "w":1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_alice_split_bs_full_rshift": {
|
||||
"layout": [
|
||||
{"label":"K1E", "x":0, "y":0},
|
||||
{"label":"K00", "x":1.5, "y":0},
|
||||
{"label":"K01", "x":2.5, "y":0},
|
||||
{"label":"K02", "x":3.5, "y":0},
|
||||
{"label":"K03", "x":4.5, "y":0},
|
||||
{"label":"K04", "x":5.5, "y":0},
|
||||
{"label":"K05", "x":6.5, "y":0},
|
||||
{"label":"K06", "x":7.5, "y":0},
|
||||
{"label":"K07", "x":10.5, "y":0},
|
||||
{"label":"K08", "x":11.5, "y":0},
|
||||
{"label":"K09", "x":12.5, "y":0},
|
||||
{"label":"K0A", "x":13.5, "y":0},
|
||||
{"label":"K0B", "x":14.5, "y":0},
|
||||
{"label":"K0C", "x":15.5, "y":0},
|
||||
{"label":"K0D", "x":16.5, "y":0},
|
||||
{"label":"K0E", "x":17.5, "y":0},
|
||||
|
||||
{"label":"K2E", "x":0, "y":1},
|
||||
{"label":"K10", "x":1.5, "y":1, "w":1.5},
|
||||
{"label":"K11", "x":3, "y":1},
|
||||
{"label":"K12", "x":4, "y":1},
|
||||
{"label":"K13", "x":5, "y":1},
|
||||
{"label":"K14", "x":6, "y":1},
|
||||
{"label":"K15", "x":7, "y":1},
|
||||
{"label":"K16", "x":10, "y":1},
|
||||
{"label":"K17", "x":11, "y":1},
|
||||
{"label":"K18", "x":12, "y":1},
|
||||
{"label":"K19", "x":13, "y":1},
|
||||
{"label":"K1A", "x":14, "y":1},
|
||||
{"label":"K1B", "x":15, "y":1},
|
||||
{"label":"K1C", "x":16, "y":1},
|
||||
{"label":"K1D", "x":17, "y":1, "w":1.5},
|
||||
|
||||
{"label":"K3E", "x":0, "y":2},
|
||||
{"label":"K20", "x":1.5, "y":2, "w":1.75},
|
||||
{"label":"K21", "x":3.25, "y":2},
|
||||
{"label":"K22", "x":4.25, "y":2},
|
||||
{"label":"K23", "x":5.25, "y":2},
|
||||
{"label":"K24", "x":6.25, "y":2},
|
||||
{"label":"K25", "x":7.25, "y":2},
|
||||
{"label":"K26", "x":10.25, "y":2},
|
||||
{"label":"K27", "x":11.25, "y":2},
|
||||
{"label":"K28", "x":12.25, "y":2},
|
||||
{"label":"K29", "x":13.25, "y":2},
|
||||
{"label":"K2A", "x":14.25, "y":2},
|
||||
{"label":"K2B", "x":15.25, "y":2},
|
||||
{"label":"K2D", "x":16.25, "y":2, "w":2.25},
|
||||
|
||||
{"label":"K30", "x":1.5, "y":3, "w":2.25},
|
||||
{"label":"K32", "x":3.75, "y":3},
|
||||
{"label":"K33", "x":4.75, "y":3},
|
||||
{"label":"K34", "x":5.75, "y":3},
|
||||
{"label":"K35", "x":6.75, "y":3},
|
||||
{"label":"K36", "x":7.75, "y":3},
|
||||
{"label":"K37", "x":9.75, "y":3},
|
||||
{"label":"K38", "x":10.75, "y":3},
|
||||
{"label":"K39", "x":11.75, "y":3},
|
||||
{"label":"K3A", "x":12.75, "y":3},
|
||||
{"label":"K3B", "x":13.75, "y":3},
|
||||
{"label":"K3D", "x":14.75, "y":3},
|
||||
{"label":"K3C", "x":15.75, "y":3, "w":2.75},
|
||||
|
||||
{"label":"K40", "x":1.5, "y":4, "w":1.5},
|
||||
{"label":"K42", "x":4.5, "y":4, "w":1.25},
|
||||
{"label":"K44", "x":5.75, "y":4, "w":2.25},
|
||||
{"label":"K46", "x":8, "y":4, "w":1.25},
|
||||
{"label":"K48", "x":9.75, "y":4, "w":2.75},
|
||||
{"label":"K4A", "x":12.5, "y":4, "w":1.25},
|
||||
{"label":"K4E", "x":17, "y":4, "w":1.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_alice_full_rshift": {
|
||||
"layout": [
|
||||
{"label":"K1E", "x":0, "y":0},
|
||||
{"label":"K00", "x":1.5, "y":0},
|
||||
{"label":"K01", "x":2.5, "y":0},
|
||||
{"label":"K02", "x":3.5, "y":0},
|
||||
{"label":"K03", "x":4.5, "y":0},
|
||||
{"label":"K04", "x":5.5, "y":0},
|
||||
{"label":"K05", "x":6.5, "y":0},
|
||||
{"label":"K06", "x":7.5, "y":0},
|
||||
{"label":"K07", "x":10.5, "y":0},
|
||||
{"label":"K08", "x":11.5, "y":0},
|
||||
{"label":"K09", "x":12.5, "y":0},
|
||||
{"label":"K0A", "x":13.5, "y":0},
|
||||
{"label":"K0B", "x":14.5, "y":0},
|
||||
{"label":"K0C", "x":15.5, "y":0},
|
||||
{"label":"K0D", "x":16.5, "y":0, "w":2},
|
||||
|
||||
{"label":"K2E", "x":0, "y":1},
|
||||
{"label":"K10", "x":1.5, "y":1, "w":1.5},
|
||||
{"label":"K11", "x":3, "y":1},
|
||||
{"label":"K12", "x":4, "y":1},
|
||||
{"label":"K13", "x":5, "y":1},
|
||||
{"label":"K14", "x":6, "y":1},
|
||||
{"label":"K15", "x":7, "y":1},
|
||||
{"label":"K16", "x":10, "y":1},
|
||||
{"label":"K17", "x":11, "y":1},
|
||||
{"label":"K18", "x":12, "y":1},
|
||||
{"label":"K19", "x":13, "y":1},
|
||||
{"label":"K1A", "x":14, "y":1},
|
||||
{"label":"K1B", "x":15, "y":1},
|
||||
{"label":"K1C", "x":16, "y":1},
|
||||
{"label":"K1D", "x":17, "y":1, "w":1.5},
|
||||
|
||||
{"label":"K3E", "x":0, "y":2},
|
||||
{"label":"K20", "x":1.5, "y":2, "w":1.75},
|
||||
{"label":"K21", "x":3.25, "y":2},
|
||||
{"label":"K22", "x":4.25, "y":2},
|
||||
{"label":"K23", "x":5.25, "y":2},
|
||||
{"label":"K24", "x":6.25, "y":2},
|
||||
{"label":"K25", "x":7.25, "y":2},
|
||||
{"label":"K26", "x":10.25, "y":2},
|
||||
{"label":"K27", "x":11.25, "y":2},
|
||||
{"label":"K28", "x":12.25, "y":2},
|
||||
{"label":"K29", "x":13.25, "y":2},
|
||||
{"label":"K2A", "x":14.25, "y":2},
|
||||
{"label":"K2B", "x":15.25, "y":2},
|
||||
{"label":"K2D", "x":16.25, "y":2, "w":2.25},
|
||||
|
||||
{"label":"K30", "x":1.5, "y":3, "w":2.25},
|
||||
{"label":"K32", "x":3.75, "y":3},
|
||||
{"label":"K33", "x":4.75, "y":3},
|
||||
{"label":"K34", "x":5.75, "y":3},
|
||||
{"label":"K35", "x":6.75, "y":3},
|
||||
{"label":"K36", "x":7.75, "y":3},
|
||||
{"label":"K37", "x":9.75, "y":3},
|
||||
{"label":"K38", "x":10.75, "y":3},
|
||||
{"label":"K39", "x":11.75, "y":3},
|
||||
{"label":"K3A", "x":12.75, "y":3},
|
||||
{"label":"K3B", "x":13.75, "y":3},
|
||||
{"label":"K3D", "x":14.75, "y":3},
|
||||
{"label":"K3C", "x":15.75, "y":3, "w":2.75},
|
||||
|
||||
{"label":"K40", "x":1.5, "y":4, "w":1.5},
|
||||
{"label":"K42", "x":4.5, "y":4, "w":1.25},
|
||||
{"label":"K44", "x":5.75, "y":4, "w":2.25},
|
||||
@@ -143,5 +299,4 @@
|
||||
]
|
||||
}
|
||||
}
|
||||
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
|
||||
}
|
||||
|
@@ -106,63 +106,48 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
|
||||
#ifdef ENCODER_ENABLE // Encoder Functionality
|
||||
uint8_t selected_layer = 0;
|
||||
void encoder_action_selectkey(bool clockwise) {
|
||||
if ( clockwise ) {
|
||||
if ( selectedkey_idx < MAX_KEYSELECTION-1) {
|
||||
selectedkey_idx ++;
|
||||
} else {
|
||||
// do nothing
|
||||
}
|
||||
} else if ( !clockwise ) {
|
||||
if ( selectedkey_idx > 0){
|
||||
selectedkey_idx --;
|
||||
} else {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
set_selectedkey(selectedkey_idx);
|
||||
}
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
#ifdef OLED_ENABLE
|
||||
oled_clear();
|
||||
oled_render();
|
||||
#endif
|
||||
uint8_t mods_state = get_mods();
|
||||
switch (index) {
|
||||
case 0: // This is the only encoder right now, keeping for consistency
|
||||
switch(get_highest_layer(layer_state)){ // special handling per layer
|
||||
case _FN1: // on Fn layer select what the encoder does when pressed
|
||||
if (!keyboard_report->mods) {
|
||||
if ( clockwise ) {
|
||||
if ( selectedkey_idx < MAX_KEYSELECTION-1) {
|
||||
selectedkey_idx ++;
|
||||
} else {
|
||||
// do nothing
|
||||
}
|
||||
} else if ( !clockwise ) {
|
||||
if ( selectedkey_idx > 0){
|
||||
selectedkey_idx --;
|
||||
} else {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
set_selectedkey(selectedkey_idx);
|
||||
if (!mods_state) {
|
||||
encoder_action_selectkey(clockwise);
|
||||
break;
|
||||
} else {
|
||||
// continue to default
|
||||
}
|
||||
default: // all other layers
|
||||
if ( clockwise ) {
|
||||
if (keyboard_report->mods & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, encoder changes layers
|
||||
if(selected_layer < 3) {
|
||||
selected_layer ++;
|
||||
layer_move(selected_layer);
|
||||
}
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next word
|
||||
tap_code16(LCTL(KC_RGHT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next track
|
||||
tap_code(KC_MEDIA_NEXT_TRACK);
|
||||
} else {
|
||||
tap_code(KC_VOLU); // Otherwise it just changes volume
|
||||
}
|
||||
} else if ( !clockwise ) {
|
||||
if (keyboard_report->mods & MOD_BIT(KC_LSFT) ) {
|
||||
if (selected_layer > 0) {
|
||||
selected_layer --;
|
||||
layer_move(selected_layer);
|
||||
}
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate previous word
|
||||
tap_code16(LCTL(KC_LEFT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media previous track
|
||||
tap_code(KC_MEDIA_PREV_TRACK);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
if (mods_state & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, encoder changes layers
|
||||
encoder_action_layerchange(clockwise);
|
||||
} else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word
|
||||
encoder_action_navword(clockwise);
|
||||
} else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track
|
||||
encoder_action_mediatrack(clockwise);
|
||||
} else {
|
||||
encoder_action_volume(clockwise); // Otherwise it just changes volume
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -205,7 +190,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
void oled_task_user(void) {
|
||||
|
||||
if ( IS_HOST_LED_OFF(USB_LED_NUM_LOCK) && IS_HOST_LED_OFF(USB_LED_CAPS_LOCK) && selected_layer == 0 && get_highest_layer(layer_state) == 0 ) {
|
||||
if ( IS_HOST_LED_OFF(USB_LED_NUM_LOCK) && IS_HOST_LED_OFF(USB_LED_CAPS_LOCK) && get_selected_layer() == 0 && get_highest_layer(layer_state) == 0 ) {
|
||||
render_name();
|
||||
clear_screen = true;
|
||||
} else {
|
||||
@@ -217,7 +202,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
render_logo();
|
||||
oled_set_cursor(8,2);
|
||||
char fn_str[12];
|
||||
switch(selected_layer){
|
||||
switch(get_selected_layer()){
|
||||
case 0:
|
||||
oled_write_P(PSTR("BASE"), false);
|
||||
break;
|
||||
@@ -237,7 +222,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
oled_write_P(keymap_config.no_gui ? PSTR(" WL") : PSTR(" "), false);
|
||||
oled_set_cursor(8,3);
|
||||
if (get_highest_layer(layer_state) == selected_layer) {
|
||||
if (get_highest_layer(layer_state) == get_selected_layer()) {
|
||||
oled_write_P(PSTR(" "), false);
|
||||
} else {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
|
@@ -144,67 +144,52 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
|
||||
#ifdef ENCODER_ENABLE // Encoder Functionality
|
||||
uint8_t selected_layer = 0;
|
||||
void encoder_action_selectkey(bool clockwise) {
|
||||
if ( clockwise ) {
|
||||
if ( selectedkey_idx < MAX_KEYSELECTION-1) {
|
||||
selectedkey_idx ++;
|
||||
} else {
|
||||
// do nothing
|
||||
}
|
||||
} else if ( !clockwise ) {
|
||||
if ( selectedkey_idx > 0){
|
||||
selectedkey_idx --;
|
||||
} else {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
set_selectedkey(selectedkey_idx);
|
||||
}
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
#ifdef OLED_ENABLE
|
||||
oled_clear();
|
||||
oled_render();
|
||||
#endif
|
||||
uint8_t mods_state = get_mods();
|
||||
switch (index) {
|
||||
case 0: // This is the only encoder right now, keeping for consistency
|
||||
switch(get_highest_layer(layer_state)){ // special handling per layer
|
||||
case _FN1: // on Fn layer select what the encoder does when pressed
|
||||
if (!keyboard_report->mods) {
|
||||
if ( clockwise ) {
|
||||
if ( selectedkey_idx < MAX_KEYSELECTION-1) {
|
||||
selectedkey_idx ++;
|
||||
} else {
|
||||
// do nothing
|
||||
}
|
||||
} else if ( !clockwise ) {
|
||||
if ( selectedkey_idx > 0){
|
||||
selectedkey_idx --;
|
||||
} else {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
set_selectedkey(selectedkey_idx);
|
||||
break;
|
||||
} else {
|
||||
// continue to default
|
||||
}
|
||||
default: // all other layers
|
||||
if ( clockwise ) {
|
||||
if (keyboard_report->mods & MOD_BIT(KC_RSFT) ) { // If you are holding Right Shift, encoder changes layers
|
||||
if(selected_layer < (DYNAMIC_KEYMAP_LAYER_COUNT-1)) {
|
||||
selected_layer ++;
|
||||
layer_move(selected_layer);
|
||||
}
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_RCTL)) { // if holding Right Ctrl, navigate next word
|
||||
tap_code16(LCTL(KC_RGHT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_RALT)) { // if holding Right Alt, change media next track
|
||||
tap_code(KC_MEDIA_NEXT_TRACK);
|
||||
} else {
|
||||
tap_code(KC_VOLU); // Otherwise it just changes volume
|
||||
}
|
||||
} else if ( !clockwise ) {
|
||||
if (keyboard_report->mods & MOD_BIT(KC_RSFT) ) {
|
||||
if (selected_layer > 0) {
|
||||
selected_layer --;
|
||||
layer_move(selected_layer);
|
||||
}
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_RCTL)) { // if holding Right Ctrl, navigate previous word
|
||||
tap_code16(LCTL(KC_LEFT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_RALT)) { // if holding Right Alt, change media previous track
|
||||
tap_code(KC_MEDIA_PREV_TRACK);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
}
|
||||
switch(get_highest_layer(layer_state)){ // special handling per layer
|
||||
case _FN1: // on Fn layer select what the encoder does when pressed
|
||||
if (!mods_state) {
|
||||
encoder_action_selectkey(clockwise);
|
||||
break;
|
||||
} else {
|
||||
// continue to default
|
||||
}
|
||||
default: // all other layers
|
||||
if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, encoder changes layers
|
||||
encoder_action_layerchange(clockwise);
|
||||
} else if (mods_state & MOD_BIT(KC_RCTL)) { // if holding Right Ctrl, navigate next/prev word
|
||||
encoder_action_navword(clockwise);
|
||||
} else if (mods_state & MOD_BIT(KC_RALT)) { // if holding Right Alt, change media next/prev track
|
||||
encoder_action_mediatrack(clockwise);
|
||||
} else {
|
||||
encoder_action_volume(clockwise); // Otherwise it just changes volume
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -232,7 +217,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
|
||||
render_logo();
|
||||
oled_set_cursor(8,2);
|
||||
switch(selected_layer){
|
||||
switch(get_selected_layer()){
|
||||
case _BASE:
|
||||
oled_write_P(PSTR("BASE"), false);
|
||||
break;
|
||||
@@ -257,7 +242,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||
}
|
||||
oled_write_P(keymap_config.no_gui ? PSTR(" WL") : PSTR(" "), false);
|
||||
oled_set_cursor(8,3);
|
||||
if (get_highest_layer(layer_state) == selected_layer) {
|
||||
if (get_highest_layer(layer_state) == get_selected_layer()) {
|
||||
oled_write_P(PSTR(" "), false);
|
||||
} else {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
|
17
keyboards/owlab/suit80/ansi/ansi.c
Normal file
17
keyboards/owlab/suit80/ansi/ansi.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
Copyright 2021 owlab
|
||||
|
||||
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 "ansi.h"
|
36
keyboards/owlab/suit80/ansi/ansi.h
Normal file
36
keyboards/owlab/suit80/ansi/ansi.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
Copyright 2021 owlab
|
||||
|
||||
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 LAYOUT_ansi( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K114, K214, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K313, K314, K412, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K413, K414, K510, \
|
||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \
|
||||
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K511, \
|
||||
K500, K501, K502, K504, K507, K508, K509, K512, K513, K514 \
|
||||
) { \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
|
||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
|
||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
|
||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
|
||||
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414 }, \
|
||||
{ K500, K501, K502, KC_NO, K504, KC_NO, KC_NO, K507, K508, K509, K510, K511, K512, K513, K514 } \
|
||||
}
|
46
keyboards/owlab/suit80/ansi/config.h
Normal file
46
keyboards/owlab/suit80/ansi/config.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
Copyright 2021 owlab
|
||||
|
||||
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 0x4F53 //0x4F53 OS for owl studio
|
||||
#define PRODUCT_ID 0x5355 //0x5355 SU for SUIT
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER OwLab
|
||||
#define PRODUCT SUIT80
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
/* Keyboard Matrix Assignments */
|
||||
#define MATRIX_ROW_PINS { E6, B0, B7, D0, D1, D2 }
|
||||
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F4, F7, F6, F5, F1, F0 }
|
||||
|
||||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* NKRO */
|
||||
#ifdef NKRO_ENABLE
|
||||
# define FORCE_NKRO
|
||||
#endif
|
98
keyboards/owlab/suit80/ansi/info.json
Normal file
98
keyboards/owlab/suit80/ansi/info.json
Normal file
@@ -0,0 +1,98 @@
|
||||
{
|
||||
"keyboard_name": "suit80",
|
||||
"url": "",
|
||||
"maintainer": "Owlab",
|
||||
"layouts": {
|
||||
"LAYOUT_ansi": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
{"x":5.5, "y":0},
|
||||
{"x":6.5, "y":0},
|
||||
{"x":7.5, "y":0},
|
||||
{"x":8.5, "y":0},
|
||||
{"x":9.75, "y":0},
|
||||
{"x":10.75, "y":0},
|
||||
{"x":11.75, "y":0},
|
||||
{"x":12.75, "y":0},
|
||||
{"x":14, "y":0},
|
||||
{"x":15.25, "y":0},
|
||||
{"x":16.25, "y":0},
|
||||
{"x":17.25, "y":0},
|
||||
{"x":0, "y":1.25},
|
||||
{"x":1, "y":1.25},
|
||||
{"x":2, "y":1.25},
|
||||
{"x":3, "y":1.25},
|
||||
{"x":4, "y":1.25},
|
||||
{"x":5, "y":1.25},
|
||||
{"x":6, "y":1.25},
|
||||
{"x":7, "y":1.25},
|
||||
{"x":8, "y":1.25},
|
||||
{"x":9, "y":1.25},
|
||||
{"x":10, "y":1.25},
|
||||
{"x":11, "y":1.25},
|
||||
{"x":12, "y":1.25},
|
||||
{"x":13, "y":1.25, "w":2},
|
||||
{"x":15.25, "y":1.25},
|
||||
{"x":16.25, "y":1.25},
|
||||
{"x":17.25, "y":1.25},
|
||||
{"x":0, "y":2.25, "w":1.5},
|
||||
{"x":1.5, "y":2.25},
|
||||
{"x":2.5, "y":2.25},
|
||||
{"x":3.5, "y":2.25},
|
||||
{"x":4.5, "y":2.25},
|
||||
{"x":5.5, "y":2.25},
|
||||
{"x":6.5, "y":2.25},
|
||||
{"x":7.5, "y":2.25},
|
||||
{"x":8.5, "y":2.25},
|
||||
{"x":9.5, "y":2.25},
|
||||
{"x":10.5, "y":2.25},
|
||||
{"x":11.5, "y":2.25},
|
||||
{"x":12.5, "y":2.25},
|
||||
{"x":13.5, "y":2.25, "w":1.5},
|
||||
{"x":15.25, "y":2.25},
|
||||
{"x":16.25, "y":2.25},
|
||||
{"x":17.25, "y":2.25},
|
||||
{"x":0, "y":3.25, "w":1.75},
|
||||
{"x":1.75, "y":3.25},
|
||||
{"x":2.75, "y":3.25},
|
||||
{"x":3.75, "y":3.25},
|
||||
{"x":4.75, "y":3.25},
|
||||
{"x":5.75, "y":3.25},
|
||||
{"x":6.75, "y":3.25},
|
||||
{"x":7.75, "y":3.25},
|
||||
{"x":8.75, "y":3.25},
|
||||
{"x":9.75, "y":3.25},
|
||||
{"x":10.75, "y":3.25},
|
||||
{"x":11.75, "y":3.25},
|
||||
{"x":12.75, "y":3.25, "w":2.25},
|
||||
{"x":0, "y":4.25, "w":2.25},
|
||||
{"x":2.25, "y":4.25},
|
||||
{"x":3.25, "y":4.25},
|
||||
{"x":4.25, "y":4.25},
|
||||
{"x":5.25, "y":4.25},
|
||||
{"x":6.25, "y":4.25},
|
||||
{"x":7.25, "y":4.25},
|
||||
{"x":8.25, "y":4.25},
|
||||
{"x":9.25, "y":4.25},
|
||||
{"x":10.25, "y":4.25},
|
||||
{"x":11.25, "y":4.25},
|
||||
{"x":12.25, "y":4.25, "w":2.75},
|
||||
{"x":16.25, "y":4.25},
|
||||
{"x":0, "y":5.25, "w":1.5},
|
||||
{"x":1.5, "y":5.25},
|
||||
{"x":2.5, "y":5.25, "w":1.5},
|
||||
{"x":4, "y":5.25, "w":7},
|
||||
{"x":11, "y":5.25, "w":1.5},
|
||||
{"x":12.5, "y":5.25},
|
||||
{"x":13.5, "y":5.25, "w":1.5},
|
||||
{"x":15.25, "y":5.25},
|
||||
{"x":16.25, "y":5.25},
|
||||
{"x":17.25, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
41
keyboards/owlab/suit80/ansi/keymaps/default/keymap.c
Normal file
41
keyboards/owlab/suit80/ansi/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
Copyright 2021 owlab
|
||||
|
||||
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_ansi(
|
||||
KC_ESC, 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_F13, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, 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_INS, KC_HOME, KC_PGUP,
|
||||
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_END, KC_PGDN,
|
||||
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_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_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
[1] = LAYOUT_ansi(
|
||||
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, RESET, 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
|
||||
)
|
||||
};
|
57
keyboards/owlab/suit80/ansi/keymaps/via/keymap.c
Normal file
57
keyboards/owlab/suit80/ansi/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
Copyright 2021 owlab
|
||||
|
||||
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_ansi(
|
||||
KC_ESC, 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_F13, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, 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_INS, KC_HOME, KC_PGUP,
|
||||
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_END, KC_PGDN,
|
||||
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_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_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
[1] = LAYOUT_ansi(
|
||||
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, RESET, 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
|
||||
),
|
||||
|
||||
[2] = LAYOUT_ansi(
|
||||
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, 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_ansi(
|
||||
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, 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
|
||||
)
|
||||
};
|
2
keyboards/owlab/suit80/ansi/keymaps/via/rules.mk
Normal file
2
keyboards/owlab/suit80/ansi/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
21
keyboards/owlab/suit80/ansi/readme.md
Normal file
21
keyboards/owlab/suit80/ansi/readme.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Suit80 - ANSI PCB
|
||||
|
||||

|
||||
|
||||
A 80% made by Owlab.
|
||||
|
||||
* Keyboard Maintainer: [owlab](https://github.com/owlab-git)
|
||||
* Hardware Supported: Suit80 ANSI PCB
|
||||
* Hardware Availability: Ended groupbuy: https://www.zfrontier.com/app/flow/2Q1YEKykXmYZ
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make owlab/suit80/ansi:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make owlab/suit80/ansi:default:flash
|
||||
|
||||
**Bootloader:** Press the physical reset button on the bottom side of the PCB (labeled SW1) or hold down ESC while plugging in the board.
|
||||
|
||||
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).
|
21
keyboards/owlab/suit80/ansi/rules.mk
Normal file
21
keyboards/owlab/suit80/ansi/rules.mk
Normal file
@@ -0,0 +1,21 @@
|
||||
# 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
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
46
keyboards/owlab/suit80/iso/config.h
Normal file
46
keyboards/owlab/suit80/iso/config.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
Copyright 2021 owlab
|
||||
|
||||
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 0x4F53 // 0x4F53 OS for owl studio
|
||||
#define PRODUCT_ID 0x5349 //0x5355 SI for SUIT ISO
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER OwLab
|
||||
#define PRODUCT SUIT80 ISO
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
/* key matrix pins */
|
||||
#define MATRIX_ROW_PINS { E6, B0, B7, D0, D1, D2 }
|
||||
#define MATRIX_COL_PINS { D5, D4, D6, D7, B4, B5, B6, C6, C7, F4, F7, F6, F5, F1, F0 }
|
||||
|
||||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* NKRO */
|
||||
#ifdef NKRO_ENABLE
|
||||
# define FORCE_NKRO
|
||||
#endif
|
192
keyboards/owlab/suit80/iso/info.json
Normal file
192
keyboards/owlab/suit80/iso/info.json
Normal file
@@ -0,0 +1,192 @@
|
||||
{
|
||||
"keyboard_name": "suit80",
|
||||
"url": "",
|
||||
"maintainer": "Owlab",
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
{"x":5.5, "y":0},
|
||||
{"x":6.5, "y":0},
|
||||
{"x":7.5, "y":0},
|
||||
{"x":8.5, "y":0},
|
||||
{"x":9.75, "y":0},
|
||||
{"x":10.75, "y":0},
|
||||
{"x":11.75, "y":0},
|
||||
{"x":12.75, "y":0},
|
||||
{"x":14, "y":0},
|
||||
{"x":15.25, "y":0},
|
||||
{"x":16.25, "y":0},
|
||||
{"x":17.25, "y":0},
|
||||
{"x":0, "y":1.25},
|
||||
{"x":1, "y":1.25},
|
||||
{"x":2, "y":1.25},
|
||||
{"x":3, "y":1.25},
|
||||
{"x":4, "y":1.25},
|
||||
{"x":5, "y":1.25},
|
||||
{"x":6, "y":1.25},
|
||||
{"x":7, "y":1.25},
|
||||
{"x":8, "y":1.25},
|
||||
{"x":9, "y":1.25},
|
||||
{"x":10, "y":1.25},
|
||||
{"x":11, "y":1.25},
|
||||
{"x":12, "y":1.25},
|
||||
{"x":13, "y":1.25},
|
||||
{"x":14, "y":1.25},
|
||||
{"x":15.25, "y":1.25},
|
||||
{"x":16.25, "y":1.25},
|
||||
{"x":17.25, "y":1.25},
|
||||
{"x":0, "y":2.25, "w":1.5},
|
||||
{"x":1.5, "y":2.25},
|
||||
{"x":2.5, "y":2.25},
|
||||
{"x":3.5, "y":2.25},
|
||||
{"x":4.5, "y":2.25},
|
||||
{"x":5.5, "y":2.25},
|
||||
{"x":6.5, "y":2.25},
|
||||
{"x":7.5, "y":2.25},
|
||||
{"x":8.5, "y":2.25},
|
||||
{"x":9.5, "y":2.25},
|
||||
{"x":10.5, "y":2.25},
|
||||
{"x":11.5, "y":2.25},
|
||||
{"x":12.5, "y":2.25},
|
||||
{"x":15.25, "y":2.25},
|
||||
{"x":16.25, "y":2.25},
|
||||
{"x":17.25, "y":2.25},
|
||||
{"x":0, "y":3.25, "w":1.75},
|
||||
{"x":1.75, "y":3.25},
|
||||
{"x":2.75, "y":3.25},
|
||||
{"x":3.75, "y":3.25},
|
||||
{"x":4.75, "y":3.25},
|
||||
{"x":5.75, "y":3.25},
|
||||
{"x":6.75, "y":3.25},
|
||||
{"x":7.75, "y":3.25},
|
||||
{"x":8.75, "y":3.25},
|
||||
{"x":9.75, "y":3.25},
|
||||
{"x":10.75, "y":3.25},
|
||||
{"x":11.75, "y":3.25},
|
||||
{"x":12.75, "y":3.25},
|
||||
{"x":13.75, "y":2.25, "w":1.25, "h":2},
|
||||
{"x":0, "y":4.25, "w":1.25},
|
||||
{"x":1.25, "y":4.25},
|
||||
{"x":2.25, "y":4.25},
|
||||
{"x":3.25, "y":4.25},
|
||||
{"x":4.25, "y":4.25},
|
||||
{"x":5.25, "y":4.25},
|
||||
{"x":6.25, "y":4.25},
|
||||
{"x":7.25, "y":4.25},
|
||||
{"x":8.25, "y":4.25},
|
||||
{"x":9.25, "y":4.25},
|
||||
{"x":10.25, "y":4.25},
|
||||
{"x":11.25, "y":4.25},
|
||||
{"x":12.25, "y":4.25, "w":2.75},
|
||||
{"x":16.25, "y":4.25},
|
||||
{"x":0, "y":5.25, "w":1.5},
|
||||
{"x":1.5, "y":5.25},
|
||||
{"x":2.5, "y":5.25, "w":1.5},
|
||||
{"x":4, "y":5.25, "w":7},
|
||||
{"x":11, "y":5.25, "w":1.5},
|
||||
{"x":12.5, "y":5.25},
|
||||
{"x":13.5, "y":5.25, "w":1.5},
|
||||
{"x":15.25, "y":5.25},
|
||||
{"x":16.25, "y":5.25},
|
||||
{"x":17.25, "y":5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
{"x":5.5, "y":0},
|
||||
{"x":6.5, "y":0},
|
||||
{"x":7.5, "y":0},
|
||||
{"x":8.5, "y":0},
|
||||
{"x":9.75, "y":0},
|
||||
{"x":10.75, "y":0},
|
||||
{"x":11.75, "y":0},
|
||||
{"x":12.75, "y":0},
|
||||
{"x":14, "y":0},
|
||||
{"x":15.25, "y":0},
|
||||
{"x":16.25, "y":0},
|
||||
{"x":17.25, "y":0},
|
||||
{"x":0, "y":1.25},
|
||||
{"x":1, "y":1.25},
|
||||
{"x":2, "y":1.25},
|
||||
{"x":3, "y":1.25},
|
||||
{"x":4, "y":1.25},
|
||||
{"x":5, "y":1.25},
|
||||
{"x":6, "y":1.25},
|
||||
{"x":7, "y":1.25},
|
||||
{"x":8, "y":1.25},
|
||||
{"x":9, "y":1.25},
|
||||
{"x":10, "y":1.25},
|
||||
{"x":11, "y":1.25},
|
||||
{"x":12, "y":1.25},
|
||||
{"x":13, "y":1.25, "w":2},
|
||||
{"x":15.25, "y":1.25},
|
||||
{"x":16.25, "y":1.25},
|
||||
{"x":17.25, "y":1.25},
|
||||
{"x":0, "y":2.25, "w":1.5},
|
||||
{"x":1.5, "y":2.25},
|
||||
{"x":2.5, "y":2.25},
|
||||
{"x":3.5, "y":2.25},
|
||||
{"x":4.5, "y":2.25},
|
||||
{"x":5.5, "y":2.25},
|
||||
{"x":6.5, "y":2.25},
|
||||
{"x":7.5, "y":2.25},
|
||||
{"x":8.5, "y":2.25},
|
||||
{"x":9.5, "y":2.25},
|
||||
{"x":10.5, "y":2.25},
|
||||
{"x":11.5, "y":2.25},
|
||||
{"x":12.5, "y":2.25},
|
||||
{"x":15.25, "y":2.25},
|
||||
{"x":16.25, "y":2.25},
|
||||
{"x":17.25, "y":2.25},
|
||||
{"x":0, "y":3.25, "w":1.75},
|
||||
{"x":1.75, "y":3.25},
|
||||
{"x":2.75, "y":3.25},
|
||||
{"x":3.75, "y":3.25},
|
||||
{"x":4.75, "y":3.25},
|
||||
{"x":5.75, "y":3.25},
|
||||
{"x":6.75, "y":3.25},
|
||||
{"x":7.75, "y":3.25},
|
||||
{"x":8.75, "y":3.25},
|
||||
{"x":9.75, "y":3.25},
|
||||
{"x":10.75, "y":3.25},
|
||||
{"x":11.75, "y":3.25},
|
||||
{"x":12.75, "y":3.25},
|
||||
{"x":13.75, "y":2.25, "w":1.25, "h":2},
|
||||
{"x":0, "y":4.25, "w":1.25},
|
||||
{"x":1.25, "y":4.25},
|
||||
{"x":2.25, "y":4.25},
|
||||
{"x":3.25, "y":4.25},
|
||||
{"x":4.25, "y":4.25},
|
||||
{"x":5.25, "y":4.25},
|
||||
{"x":6.25, "y":4.25},
|
||||
{"x":7.25, "y":4.25},
|
||||
{"x":8.25, "y":4.25},
|
||||
{"x":9.25, "y":4.25},
|
||||
{"x":10.25, "y":4.25},
|
||||
{"x":11.25, "y":4.25},
|
||||
{"x":12.25, "y":4.25, "w":2.75},
|
||||
{"x":16.25, "y":4.25},
|
||||
{"x":0, "y":5.25, "w":1.5},
|
||||
{"x":1.5, "y":5.25},
|
||||
{"x":2.5, "y":5.25, "w":1.5},
|
||||
{"x":4, "y":5.25, "w":7},
|
||||
{"x":11, "y":5.25, "w":1.5},
|
||||
{"x":12.5, "y":5.25},
|
||||
{"x":13.5, "y":5.25, "w":1.5},
|
||||
{"x":15.25, "y":5.25},
|
||||
{"x":16.25, "y":5.25},
|
||||
{"x":17.25, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
19
keyboards/owlab/suit80/iso/iso.c
Normal file
19
keyboards/owlab/suit80/iso/iso.c
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
|
||||
/*
|
||||
Copyright 2021 owlab
|
||||
|
||||
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 "iso.h"
|
52
keyboards/owlab/suit80/iso/iso.h
Normal file
52
keyboards/owlab/suit80/iso/iso.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
Copyright 2021 owlab
|
||||
|
||||
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 LAYOUT_all( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K114, K214, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K213, K113, K313, K314, K412, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K413, K414, K510, \
|
||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K506, K312, \
|
||||
K400, K503, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K511, \
|
||||
K500, K501, K502, K504, K507, K508, K509, K512, K513, K514 \
|
||||
) { \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
|
||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
|
||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
|
||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
|
||||
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414 }, \
|
||||
{ K500, K501, K502, K503, K504, KC_NO, K506, K507, K508, K509, K510, K511, K512, K513, K514 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_iso( \
|
||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K114, K214, \
|
||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K313, K314, K412, \
|
||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K413, K414, K510, \
|
||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K506, K312, \
|
||||
K400, K503, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K511, \
|
||||
K500, K501, K502, K504, K507, K508, K509, K512, K513, K514 \
|
||||
) { \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
|
||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
|
||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214 }, \
|
||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
|
||||
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414 }, \
|
||||
{ K500, K501, K502, K503, K504, KC_NO, K506, K507, K508, K509, K510, K511, K512, K513, K514 } \
|
||||
}
|
41
keyboards/owlab/suit80/iso/keymaps/default/keymap.c
Normal file
41
keyboards/owlab/suit80/iso/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
Copyright 2021 owlab
|
||||
|
||||
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_iso(
|
||||
KC_ESC, 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_F13, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, 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_INS, KC_HOME, KC_PGUP,
|
||||
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_DEL, KC_END, KC_PGDN,
|
||||
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_NUHS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, 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_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
[1] = LAYOUT_iso(
|
||||
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, RESET, 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
|
||||
)
|
||||
};
|
||||
|
||||
|
56
keyboards/owlab/suit80/iso/keymaps/via/keymap.c
Normal file
56
keyboards/owlab/suit80/iso/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
Copyright 2021 owlab
|
||||
|
||||
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_all(
|
||||
KC_ESC, 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_F13, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||
KC_GRV, 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_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||
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_DEL, KC_END, KC_PGDN,
|
||||
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_NUHS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, 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_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
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, RESET, 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
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
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,
|
||||
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
|
||||
),
|
||||
[1] = LAYOUT_all(
|
||||
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,
|
||||
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
|
||||
)
|
||||
};
|
2
keyboards/owlab/suit80/iso/keymaps/via/rules.mk
Normal file
2
keyboards/owlab/suit80/iso/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
21
keyboards/owlab/suit80/iso/readme.md
Normal file
21
keyboards/owlab/suit80/iso/readme.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Suit80 - ISO PCB
|
||||
|
||||

|
||||
|
||||
A 80% made by Owlab.
|
||||
|
||||
* Keyboard Maintainer: [owlab](https://github.com/owlab-git)
|
||||
* Hardware Supported: Suit80 ISO PCB
|
||||
* Hardware Availability: Ended groupbuy: https://www.zfrontier.com/app/flow/2Q1YEKykXmYZ
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make owlab/suit80/iso:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make owlab/suit80/iso:default:flash
|
||||
|
||||
**Bootloader:** Press the physical reset button on the bottom side of the PCB (labeled SW1) or hold down ESC while plugging in the board.
|
||||
|
||||
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).
|
21
keyboards/owlab/suit80/iso/rules.mk
Normal file
21
keyboards/owlab/suit80/iso/rules.mk
Normal file
@@ -0,0 +1,21 @@
|
||||
# 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
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
@@ -20,11 +20,11 @@
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = LAYOUT_preonic_grid(
|
||||
M_EHYPR, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, M_EHYPR,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, XXXXXXX,
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, MEDIA, SYMBOL, KC_SPC, M_LMHYP, ARROW, FUNCT, XXXXXXX, KC_RALT, KC_LEAD),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, MEDIA, SYMBOL, KC_SPC, KC_LEAD, ARROW, FUNCT, XXXXXXX, KC_RALT, KC_LEAD),
|
||||
|
||||
[_SYMBOL] = LAYOUT_preonic_grid(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
|
@@ -152,4 +152,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//#define BOOTMAGIC_LITE_ROW 0
|
||||
//#define BOOTMAGIC_LITE_COLUMN 0
|
||||
// for via
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 7
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 7
|
||||
|
||||
//left encoder
|
||||
#define ENCODERS_PAD_A { F5 }
|
||||
#define ENCODERS_PAD_B { F4 }
|
||||
|
||||
//right encoder
|
||||
#define ENCODERS_PAD_A_RIGHT { F4 }
|
||||
#define ENCODERS_PAD_B_RIGHT { F5 }
|
||||
|
||||
//RGB Underglow
|
||||
#define RGB_DI_PIN B6
|
||||
#define RGBLED_NUM 10
|
@@ -32,4 +32,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B,KC_LBRACKET, KC_RBRACKET, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
|
||||
KC_LGUI, KC_BSPC, KC_SPC, KC_SPC, KC_ENT, KC_RALT
|
||||
)};
|
||||
)};
|
||||
|
@@ -81,4 +81,61 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
#ifdef OLED_DRIVER_ENABLE
|
||||
|
||||
static void render_logo(void) {
|
||||
static const char PROGMEM qmk_logo[] = {
|
||||
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
|
||||
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
|
||||
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
|
||||
};
|
||||
|
||||
oled_write_P(qmk_logo, false);
|
||||
}
|
||||
static void render_status(void){
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _QWERTY:
|
||||
oled_write_P(PSTR("Default\n"), false);
|
||||
break;
|
||||
case _SYMB:
|
||||
oled_write_P(PSTR("Symbol\n"), false);
|
||||
break;
|
||||
case _NAV:
|
||||
oled_write_P(PSTR("Nav\n"), false);
|
||||
break;
|
||||
case _ADJUST:
|
||||
oled_write_P(PSTR("Adjust\n"), false);
|
||||
break;
|
||||
case _MOUSE:
|
||||
oled_write_P(PSTR("Mouse\n"), false);
|
||||
break;
|
||||
case _NUMB:
|
||||
oled_write_P(PSTR("Number\n"), false);
|
||||
break;
|
||||
case _FNR:
|
||||
oled_write_P(PSTR("FunR\n"), false);
|
||||
break;
|
||||
default:
|
||||
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||
oled_write_ln_P(PSTR("Undefined"), false);
|
||||
}
|
||||
|
||||
// Host Keyboard LED Status
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||
}
|
||||
void oled_task_user(void) {
|
||||
if (is_keyboard_master()) {
|
||||
render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
|
||||
} else {
|
||||
render_logo(); // Renders a static logo
|
||||
oled_scroll_left(); // Turns on scrolling
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@@ -1 +1 @@
|
||||
# Default keymap for Redox Wireless
|
||||
# Default keymap for via
|
@@ -1,2 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
|
@@ -14,4 +14,53 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "pteron36.h"
|
||||
#include "pteron36.h"
|
||||
|
||||
//common encoder setup
|
||||
|
||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||
if (!encoder_update_user(index, clockwise)) { return false; }
|
||||
if (index == 0) { /* First encoder */
|
||||
if (clockwise) {
|
||||
tap_code(KC__VOLUP);
|
||||
} else {
|
||||
tap_code(KC__VOLDOWN);
|
||||
}
|
||||
} else if (index == 1) { /* Second encoder */
|
||||
if (clockwise) {
|
||||
tap_code(KC_PGUP);
|
||||
} else {
|
||||
tap_code(KC_PGDN);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//common oled support.
|
||||
#ifdef OLED_DRIVER_ENABLE
|
||||
__attribute__((weak)) void oled_task_user(void) {
|
||||
if (is_keyboard_master()) {
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _QWERTY:
|
||||
oled_write_ln_P(PSTR("Default"), false);
|
||||
break;
|
||||
default:
|
||||
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||
oled_write_ln_P(PSTR("Undefined"), false);
|
||||
}
|
||||
// Host Keyboard LED Status
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||
} else {
|
||||
static const char PROGMEM qmk_logo[] = {
|
||||
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
|
||||
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
|
||||
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
|
||||
};
|
||||
oled_write_P(qmk_logo, false);
|
||||
oled_scroll_left(); // Turns on scrolling
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@@ -20,12 +20,15 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
|
||||
|
||||
## Default Keymap and Miryoku Layout support
|
||||
|
||||
The keyboard was designed with miryoku layout in mind. The default layout is very basic and does not have much use. I will be opening a pr to make the keyboard available with miryoku layout soon. Currently to build the keyboard with miryoku you will have to checkout latest miryoku qmk repo, and add the keyboard folder there manually. After copying the folder run the following command
|
||||
The keyboard was designed with miryoku layout in mind. The default layout is very basic and does not have much use, modify the keymap as you see fit. Build keyboard with manna-harbour_miryoku as keymap, qmk should compile the firmare without any issue.
|
||||
|
||||
make pteron36:manna-harbour_miryoku
|
||||
|
||||
make pteron36:manna-harbour_miryoku
|
||||
|
||||
Add miryoku params as required.
|
||||
Pteron36 uses community layout, hence there is no need for separate keymap folder for any keymap that support 5x3_3 layout.
|
||||
|
||||
## OLED and RotaryEncoder
|
||||
## VIA support
|
||||
|
||||
I am working on adding OLED and RotaryEncoder support in keyboard config.
|
||||
The VIA keymap is working as intended.
|
||||
|
||||
make pteron36:via
|
||||
|
@@ -17,10 +17,10 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
OLED_ENABLE = no # OLED display; work in progress to add support. will be update in future.
|
||||
SPLIT_KEYBOARD = yes
|
||||
OLED_DRIVER_ENABLE = yes # OLED display
|
||||
ENCODER_ENABLE = yes # Encoder support
|
||||
SPLIT_KEYBOARD = yes # Split enable
|
||||
|
||||
LAYOUTS = split_3x5_3
|
||||
|
@@ -5,404 +5,434 @@
|
||||
"layouts": {
|
||||
"LAYOUT_ansi": {
|
||||
"layout": [
|
||||
{"x":0, "y":0.5},
|
||||
{"x":1.25, "y":0.5},
|
||||
{"x":2.25, "y":0.5},
|
||||
{"x":3.25, "y":0.5},
|
||||
{"x":4.25, "y":0.5},
|
||||
{"x":5.5, "y":0.5},
|
||||
{"x":6.5, "y":0.5},
|
||||
{"x":7.5, "y":0.5},
|
||||
{"x":8.5, "y":0.5},
|
||||
{"x":9.75, "y":0.5},
|
||||
{"x":10.75, "y":0.5},
|
||||
{"x":11.75, "y":0.5},
|
||||
{"x":12.75, "y":0.5},
|
||||
{"x":14, "y":0.5},
|
||||
{"x":15.25, "y":0.5},
|
||||
{"x":16.25, "y":0.5},
|
||||
{"x":17.25, "y":0.5},
|
||||
{"x": 0, "y": 0},
|
||||
|
||||
{"x":0, "y":1.75},
|
||||
{"x":1, "y":1.75},
|
||||
{"x":2, "y":1.75},
|
||||
{"x":3, "y":1.75},
|
||||
{"x":4, "y":1.75},
|
||||
{"x":5, "y":1.75},
|
||||
{"x":6, "y":1.75},
|
||||
{"x":7, "y":1.75},
|
||||
{"x":8, "y":1.75},
|
||||
{"x":9, "y":1.75},
|
||||
{"x":10, "y":1.75},
|
||||
{"x":11, "y":1.75},
|
||||
{"x":12, "y":1.75},
|
||||
{"x":13, "y":1.75, "w":2},
|
||||
{"x":15.25, "y":1.75},
|
||||
{"x":16.25, "y":1.75},
|
||||
{"x":17.25, "y":1.75},
|
||||
{"x": 1.25, "y": 0},
|
||||
{"x": 2.25, "y": 0},
|
||||
{"x": 3.25, "y": 0},
|
||||
{"x": 4.25, "y": 0},
|
||||
|
||||
{"x":0, "y":2.75, "w":1.5},
|
||||
{"x":1.5, "y":2.75},
|
||||
{"x":2.5, "y":2.75},
|
||||
{"x":3.5, "y":2.75},
|
||||
{"x":4.5, "y":2.75},
|
||||
{"x":5.5, "y":2.75},
|
||||
{"x":6.5, "y":2.75},
|
||||
{"x":7.5, "y":2.75},
|
||||
{"x":8.5, "y":2.75},
|
||||
{"x":9.5, "y":2.75},
|
||||
{"x":10.5, "y":2.75},
|
||||
{"x":11.5, "y":2.75},
|
||||
{"x":12.5, "y":2.75},
|
||||
{"x":13.5, "y":2.75, "w":1.5},
|
||||
{"x":15.25, "y":2.75},
|
||||
{"x":16.25, "y":2.75},
|
||||
{"x":17.25, "y":2.75},
|
||||
{"x": 5.5, "y": 0},
|
||||
{"x": 6.5, "y": 0},
|
||||
{"x": 7.5, "y": 0},
|
||||
{"x": 8.5, "y": 0},
|
||||
|
||||
{"x":0, "y":3.75, "w":1.75},
|
||||
{"x":1.75, "y":3.75},
|
||||
{"x":2.75, "y":3.75},
|
||||
{"x":3.75, "y":3.75},
|
||||
{"x":4.75, "y":3.75},
|
||||
{"x":5.75, "y":3.75},
|
||||
{"x":6.75, "y":3.75},
|
||||
{"x":7.75, "y":3.75},
|
||||
{"x":8.75, "y":3.75},
|
||||
{"x":9.75, "y":3.75},
|
||||
{"x":10.75, "y":3.75},
|
||||
{"x":11.75, "y":3.75},
|
||||
{"x":12.75, "y":3.75, "w":2.25},
|
||||
{"x": 9.75, "y": 0},
|
||||
{"x": 10.75, "y": 0},
|
||||
{"x": 11.75, "y": 0},
|
||||
{"x": 12.75, "y": 0},
|
||||
|
||||
{"x":0, "y":4.75, "w":2.25},
|
||||
{"x":2.25, "y":4.75},
|
||||
{"x":3.25, "y":4.75},
|
||||
{"x":4.25, "y":4.75},
|
||||
{"x":5.25, "y":4.75},
|
||||
{"x":6.25, "y":4.75},
|
||||
{"x":7.25, "y":4.75},
|
||||
{"x":8.25, "y":4.75},
|
||||
{"x":9.25, "y":4.75},
|
||||
{"x":10.25, "y":4.75},
|
||||
{"x":11.25, "y":4.75},
|
||||
{"x":12.25, "y":4.75, "w":2.75},
|
||||
{"x":16.25, "y":4.75},
|
||||
{"x": 14, "y": 0},
|
||||
|
||||
{"x":0, "y":5.75, "w":1.25},
|
||||
{"x":1.25, "y":5.75, "w":1.25},
|
||||
{"x":2.5, "y":5.75, "w":1.25},
|
||||
{"x":3.75, "y":5.75, "w":6.25},
|
||||
{"x":10, "y":5.75, "w":1.25},
|
||||
{"x":11.25, "y":5.75, "w":1.25},
|
||||
{"x":12.5, "y":5.75, "w":1.25},
|
||||
{"x":13.75, "y":5.75, "w":1.25},
|
||||
{"x":15.25, "y":5.75},
|
||||
{"x":16.25, "y":5.75},
|
||||
{"x":17.25, "y":5.75}
|
||||
{"x": 15.25, "y": 0},
|
||||
{"x": 16.25, "y": 0},
|
||||
{"x": 17.25, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1.25},
|
||||
{"x": 1, "y": 1.25},
|
||||
{"x": 2, "y": 1.25},
|
||||
{"x": 3, "y": 1.25},
|
||||
{"x": 4, "y": 1.25},
|
||||
{"x": 5, "y": 1.25},
|
||||
{"x": 6, "y": 1.25},
|
||||
{"x": 7, "y": 1.25},
|
||||
{"x": 8, "y": 1.25},
|
||||
{"x": 9, "y": 1.25},
|
||||
{"x": 10, "y": 1.25},
|
||||
{"x": 11, "y": 1.25},
|
||||
{"x": 12, "y": 1.25},
|
||||
{"x": 13, "y": 1.25, "w": 2},
|
||||
|
||||
{"x": 15.25, "y": 1.25},
|
||||
{"x": 16.25, "y": 1.25},
|
||||
{"x": 17.25, "y": 1.25},
|
||||
|
||||
{"x": 0, "y": 2.25, "w": 1.5},
|
||||
{"x": 1.5, "y": 2.25},
|
||||
{"x": 2.5, "y": 2.25},
|
||||
{"x": 3.5, "y": 2.25},
|
||||
{"x": 4.5, "y": 2.25},
|
||||
{"x": 5.5, "y": 2.25},
|
||||
{"x": 6.5, "y": 2.25},
|
||||
{"x": 7.5, "y": 2.25},
|
||||
{"x": 8.5, "y": 2.25},
|
||||
{"x": 9.5, "y": 2.25},
|
||||
{"x": 10.5, "y": 2.25},
|
||||
{"x": 11.5, "y": 2.25},
|
||||
{"x": 12.5, "y": 2.25},
|
||||
{"x": 13.5, "y": 2.25, "w": 1.5},
|
||||
|
||||
{"x": 15.25, "y": 2.25},
|
||||
{"x": 16.25, "y": 2.25},
|
||||
{"x": 17.25, "y": 2.25},
|
||||
|
||||
{"x": 0, "y": 3.25, "w": 1.75},
|
||||
{"x": 1.75, "y": 3.25},
|
||||
{"x": 2.75, "y": 3.25},
|
||||
{"x": 3.75, "y": 3.25},
|
||||
{"x": 4.75, "y": 3.25},
|
||||
{"x": 5.75, "y": 3.25},
|
||||
{"x": 6.75, "y": 3.25},
|
||||
{"x": 7.75, "y": 3.25},
|
||||
{"x": 8.75, "y": 3.25},
|
||||
{"x": 9.75, "y": 3.25},
|
||||
{"x": 10.75, "y": 3.25},
|
||||
{"x": 11.75, "y": 3.25},
|
||||
{"x": 12.75, "y": 3.25, "w": 2.25},
|
||||
|
||||
{"x": 0, "y": 4.25, "w": 2.25},
|
||||
{"x": 2.25, "y": 4.25},
|
||||
{"x": 3.25, "y": 4.25},
|
||||
{"x": 4.25, "y": 4.25},
|
||||
{"x": 5.25, "y": 4.25},
|
||||
{"x": 6.25, "y": 4.25},
|
||||
{"x": 7.25, "y": 4.25},
|
||||
{"x": 8.25, "y": 4.25},
|
||||
{"x": 9.25, "y": 4.25},
|
||||
{"x": 10.25, "y": 4.25},
|
||||
{"x": 11.25, "y": 4.25},
|
||||
{"x": 12.25, "y": 4.25, "w": 2.75},
|
||||
|
||||
{"x": 16.25, "y": 4.25},
|
||||
|
||||
{"x": 0, "y": 5.25, "w": 1.25},
|
||||
{"x": 1.25, "y": 5.25, "w": 1.25},
|
||||
{"x": 2.5, "y": 5.25, "w": 1.25},
|
||||
{"x": 3.75, "y": 5.25, "w": 6.25},
|
||||
{"x": 10, "y": 5.25, "w": 1.25},
|
||||
{"x": 11.25, "y": 5.25, "w": 1.25},
|
||||
{"x": 12.5, "y": 5.25, "w": 1.25},
|
||||
{"x": 13.75, "y": 5.25, "w": 1.25},
|
||||
|
||||
{"x": 15.25, "y": 5.25},
|
||||
{"x": 16.25, "y": 5.25},
|
||||
{"x": 17.25, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso": {
|
||||
"layout": [
|
||||
{"x":0, "y":0.5},
|
||||
{"x":1.25, "y":0.5},
|
||||
{"x":2.25, "y":0.5},
|
||||
{"x":3.25, "y":0.5},
|
||||
{"x":4.25, "y":0.5},
|
||||
{"x":5.5, "y":0.5},
|
||||
{"x":6.5, "y":0.5},
|
||||
{"x":7.5, "y":0.5},
|
||||
{"x":8.5, "y":0.5},
|
||||
{"x":9.75, "y":0.5},
|
||||
{"x":10.75, "y":0.5},
|
||||
{"x":11.75, "y":0.5},
|
||||
{"x":12.75, "y":0.5},
|
||||
{"x":14, "y":0.5},
|
||||
{"x":15.25, "y":0.5},
|
||||
{"x":16.25, "y":0.5},
|
||||
{"x":17.25, "y":0.5},
|
||||
{"x": 0, "y": 0},
|
||||
|
||||
{"x":0, "y":1.75},
|
||||
{"x":1, "y":1.75},
|
||||
{"x":2, "y":1.75},
|
||||
{"x":3, "y":1.75},
|
||||
{"x":4, "y":1.75},
|
||||
{"x":5, "y":1.75},
|
||||
{"x":6, "y":1.75},
|
||||
{"x":7, "y":1.75},
|
||||
{"x":8, "y":1.75},
|
||||
{"x":9, "y":1.75},
|
||||
{"x":10, "y":1.75},
|
||||
{"x":11, "y":1.75},
|
||||
{"x":12, "y":1.75},
|
||||
{"x":13, "y":1.75, "w":2},
|
||||
{"x":15.25, "y":1.75},
|
||||
{"x":16.25, "y":1.75},
|
||||
{"x":17.25, "y":1.75},
|
||||
{"x": 1.25, "y": 0},
|
||||
{"x": 2.25, "y": 0},
|
||||
{"x": 3.25, "y": 0},
|
||||
{"x": 4.25, "y": 0},
|
||||
|
||||
{"x":0, "y":2.75, "w":1.5},
|
||||
{"x":1.5, "y":2.75},
|
||||
{"x":2.5, "y":2.75},
|
||||
{"x":3.5, "y":2.75},
|
||||
{"x":4.5, "y":2.75},
|
||||
{"x":5.5, "y":2.75},
|
||||
{"x":6.5, "y":2.75},
|
||||
{"x":7.5, "y":2.75},
|
||||
{"x":8.5, "y":2.75},
|
||||
{"x":9.5, "y":2.75},
|
||||
{"x":10.5, "y":2.75},
|
||||
{"x":11.5, "y":2.75},
|
||||
{"x":12.5, "y":2.75},
|
||||
{"x":15.25, "y":2.75},
|
||||
{"x":16.25, "y":2.75},
|
||||
{"x":17.25, "y":2.75},
|
||||
{"x": 5.5, "y": 0},
|
||||
{"x": 6.5, "y": 0},
|
||||
{"x": 7.5, "y": 0},
|
||||
{"x": 8.5, "y": 0},
|
||||
|
||||
{"x":0, "y":3.75, "w":1.75},
|
||||
{"x":1.75, "y":3.75},
|
||||
{"x":2.75, "y":3.75},
|
||||
{"x":3.75, "y":3.75},
|
||||
{"x":4.75, "y":3.75},
|
||||
{"x":5.75, "y":3.75},
|
||||
{"x":6.75, "y":3.75},
|
||||
{"x":7.75, "y":3.75},
|
||||
{"x":8.75, "y":3.75},
|
||||
{"x":9.75, "y":3.75},
|
||||
{"x":10.75, "y":3.75},
|
||||
{"x":11.75, "y":3.75},
|
||||
{"x":12.75, "y":3.75},
|
||||
{"x":13.75, "y":2.75, "w":1.25, "h":2},
|
||||
{"x": 9.75, "y": 0},
|
||||
{"x": 10.75, "y": 0},
|
||||
{"x": 11.75, "y": 0},
|
||||
{"x": 12.75, "y": 0},
|
||||
|
||||
{"x":0, "y":4.75, "w":1.25},
|
||||
{"x":1.25, "y":4.75},
|
||||
{"x":2.25, "y":4.75},
|
||||
{"x":3.25, "y":4.75},
|
||||
{"x":4.25, "y":4.75},
|
||||
{"x":5.25, "y":4.75},
|
||||
{"x":6.25, "y":4.75},
|
||||
{"x":7.25, "y":4.75},
|
||||
{"x":8.25, "y":4.75},
|
||||
{"x":9.25, "y":4.75},
|
||||
{"x":10.25, "y":4.75},
|
||||
{"x":11.25, "y":4.75},
|
||||
{"x":12.25, "y":4.75, "w":2.75},
|
||||
{"x":16.25, "y":4.75},
|
||||
{"x": 14, "y": 0},
|
||||
|
||||
{"x":0, "y":5.75, "w":1.25},
|
||||
{"x":1.25, "y":5.75, "w":1.25},
|
||||
{"x":2.5, "y":5.75, "w":1.25},
|
||||
{"x":3.75, "y":5.75, "w":6.25},
|
||||
{"x":10, "y":5.75, "w":1.25},
|
||||
{"x":11.25, "y":5.75, "w":1.25},
|
||||
{"x":12.5, "y":5.75, "w":1.25},
|
||||
{"x":13.75, "y":5.75, "w":1.25},
|
||||
{"x":15.25, "y":5.75},
|
||||
{"x":16.25, "y":5.75},
|
||||
{"x":17.25, "y":5.75}
|
||||
{"x": 15.25, "y": 0},
|
||||
{"x": 16.25, "y": 0},
|
||||
{"x": 17.25, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1.25},
|
||||
{"x": 1, "y": 1.25},
|
||||
{"x": 2, "y": 1.25},
|
||||
{"x": 3, "y": 1.25},
|
||||
{"x": 4, "y": 1.25},
|
||||
{"x": 5, "y": 1.25},
|
||||
{"x": 6, "y": 1.25},
|
||||
{"x": 7, "y": 1.25},
|
||||
{"x": 8, "y": 1.25},
|
||||
{"x": 9, "y": 1.25},
|
||||
{"x": 10, "y": 1.25},
|
||||
{"x": 11, "y": 1.25},
|
||||
{"x": 12, "y": 1.25},
|
||||
{"x": 13, "y": 1.25, "w": 2},
|
||||
|
||||
{"x": 15.25, "y": 1.25},
|
||||
{"x": 16.25, "y": 1.25},
|
||||
{"x": 17.25, "y": 1.25},
|
||||
|
||||
{"x": 0, "y": 2.25, "w": 1.5},
|
||||
{"x": 1.5, "y": 2.25},
|
||||
{"x": 2.5, "y": 2.25},
|
||||
{"x": 3.5, "y": 2.25},
|
||||
{"x": 4.5, "y": 2.25},
|
||||
{"x": 5.5, "y": 2.25},
|
||||
{"x": 6.5, "y": 2.25},
|
||||
{"x": 7.5, "y": 2.25},
|
||||
{"x": 8.5, "y": 2.25},
|
||||
{"x": 9.5, "y": 2.25},
|
||||
{"x": 10.5, "y": 2.25},
|
||||
{"x": 11.5, "y": 2.25},
|
||||
{"x": 12.5, "y": 2.25},
|
||||
|
||||
{"x": 15.25, "y": 2.25},
|
||||
{"x": 16.25, "y": 2.25},
|
||||
{"x": 17.25, "y": 2.25},
|
||||
|
||||
{"x": 0, "y": 3.25, "w": 1.75},
|
||||
{"x": 1.75, "y": 3.25},
|
||||
{"x": 2.75, "y": 3.25},
|
||||
{"x": 3.75, "y": 3.25},
|
||||
{"x": 4.75, "y": 3.25},
|
||||
{"x": 5.75, "y": 3.25},
|
||||
{"x": 6.75, "y": 3.25},
|
||||
{"x": 7.75, "y": 3.25},
|
||||
{"x": 8.75, "y": 3.25},
|
||||
{"x": 9.75, "y": 3.25},
|
||||
{"x": 10.75, "y": 3.25},
|
||||
{"x": 11.75, "y": 3.25},
|
||||
{"x": 12.75, "y": 3.25},
|
||||
{"x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
|
||||
|
||||
{"x": 0, "y": 4.25, "w": 1.25},
|
||||
{"x": 1.25, "y": 4.25},
|
||||
{"x": 2.25, "y": 4.25},
|
||||
{"x": 3.25, "y": 4.25},
|
||||
{"x": 4.25, "y": 4.25},
|
||||
{"x": 5.25, "y": 4.25},
|
||||
{"x": 6.25, "y": 4.25},
|
||||
{"x": 7.25, "y": 4.25},
|
||||
{"x": 8.25, "y": 4.25},
|
||||
{"x": 9.25, "y": 4.25},
|
||||
{"x": 10.25, "y": 4.25},
|
||||
{"x": 11.25, "y": 4.25},
|
||||
{"x": 12.25, "y": 4.25, "w": 2.75},
|
||||
|
||||
{"x": 16.25, "y": 4.25},
|
||||
|
||||
{"x": 0, "y": 5.25, "w": 1.25},
|
||||
{"x": 1.25, "y": 5.25, "w": 1.25},
|
||||
{"x": 2.5, "y": 5.25, "w": 1.25},
|
||||
{"x": 3.75, "y": 5.25, "w": 6.25},
|
||||
{"x": 10, "y": 5.25, "w": 1.25},
|
||||
{"x": 11.25, "y": 5.25, "w": 1.25},
|
||||
{"x": 12.5, "y": 5.25, "w": 1.25},
|
||||
{"x": 13.75, "y": 5.25, "w": 1.25},
|
||||
|
||||
{"x": 15.25, "y": 5.25},
|
||||
{"x": 16.25, "y": 5.25},
|
||||
{"x": 17.25, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_jis": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
{"x":5.5, "y":0},
|
||||
{"x":6.5, "y":0},
|
||||
{"x":7.5, "y":0},
|
||||
{"x":8.5, "y":0},
|
||||
{"x":9.75, "y":0},
|
||||
{"x":10.75, "y":0},
|
||||
{"x":11.75, "y":0},
|
||||
{"x":12.75, "y":0},
|
||||
{"x":14, "y":0},
|
||||
{"x":15.25, "y":0},
|
||||
{"x":16.25, "y":0},
|
||||
{"x":17.25, "y":0},
|
||||
|
||||
{"x":0, "y":1.25},
|
||||
{"x":1, "y":1.25},
|
||||
{"x":2, "y":1.25},
|
||||
{"x":3, "y":1.25},
|
||||
{"x":4, "y":1.25},
|
||||
{"x":5, "y":1.25},
|
||||
{"x":6, "y":1.25},
|
||||
{"x":7, "y":1.25},
|
||||
{"x":8, "y":1.25},
|
||||
{"x":9, "y":1.25},
|
||||
{"x":10, "y":1.25},
|
||||
{"x":11, "y":1.25},
|
||||
{"x":12, "y":1.25},
|
||||
{"x":13, "y":1.25},
|
||||
{"x":14, "y":1.25},
|
||||
{"x":15.25, "y":1.25},
|
||||
{"x":16.25, "y":1.25},
|
||||
{"x":17.25, "y":1.25},
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1.25, "y": 0},
|
||||
{"x": 2.25, "y": 0},
|
||||
{"x": 3.25, "y": 0},
|
||||
{"x": 4.25, "y": 0},
|
||||
{"x": 5.5, "y": 0},
|
||||
{"x": 6.5, "y": 0},
|
||||
{"x": 7.5, "y": 0},
|
||||
{"x": 8.5, "y": 0},
|
||||
{"x": 9.75, "y": 0},
|
||||
{"x": 10.75, "y": 0},
|
||||
{"x": 11.75, "y": 0},
|
||||
{"x": 12.75, "y": 0},
|
||||
{"x": 14, "y": 0},
|
||||
{"x": 15.25, "y": 0},
|
||||
{"x": 16.25, "y": 0},
|
||||
{"x": 17.25, "y": 0},
|
||||
|
||||
{"x":0, "y":2.25, "w":1.5},
|
||||
{"x":1.5, "y":2.25},
|
||||
{"x":2.5, "y":2.25},
|
||||
{"x":3.5, "y":2.25},
|
||||
{"x":4.5, "y":2.25},
|
||||
{"x":5.5, "y":2.25},
|
||||
{"x":6.5, "y":2.25},
|
||||
{"x":7.5, "y":2.25},
|
||||
{"x":8.5, "y":2.25},
|
||||
{"x":9.5, "y":2.25},
|
||||
{"x":10.5, "y":2.25},
|
||||
{"x":11.5, "y":2.25},
|
||||
{"x":12.5, "y":2.25},
|
||||
{"x":15.25, "y":2.25},
|
||||
{"x":16.25, "y":2.25},
|
||||
{"x":17.25, "y":2.25},
|
||||
{"x": 0, "y": 1.25},
|
||||
{"x": 1, "y": 1.25},
|
||||
{"x": 2, "y": 1.25},
|
||||
{"x": 3, "y": 1.25},
|
||||
{"x": 4, "y": 1.25},
|
||||
{"x": 5, "y": 1.25},
|
||||
{"x": 6, "y": 1.25},
|
||||
{"x": 7, "y": 1.25},
|
||||
{"x": 8, "y": 1.25},
|
||||
{"x": 9, "y": 1.25},
|
||||
{"x": 10, "y": 1.25},
|
||||
{"x": 11, "y": 1.25},
|
||||
{"x": 12, "y": 1.25},
|
||||
{"x": 13, "y": 1.25},
|
||||
{"x": 14, "y": 1.25},
|
||||
{"x": 15.25, "y": 1.25},
|
||||
{"x": 16.25, "y": 1.25},
|
||||
{"x": 17.25, "y": 1.25},
|
||||
|
||||
{"x":0, "y":3.25, "w":1.75},
|
||||
{"x":1.75, "y":3.25},
|
||||
{"x":2.75, "y":3.25},
|
||||
{"x":3.75, "y":3.25},
|
||||
{"x":4.75, "y":3.25},
|
||||
{"x":5.75, "y":3.25},
|
||||
{"x":6.75, "y":3.25},
|
||||
{"x":7.75, "y":3.25},
|
||||
{"x":8.75, "y":3.25},
|
||||
{"x":9.75, "y":3.25},
|
||||
{"x":10.75, "y":3.25},
|
||||
{"x":11.75, "y":3.25},
|
||||
{"x":12.75, "y":3.25},
|
||||
{"x":13.75, "y":2.25, "w":1.25, "h":2},
|
||||
|
||||
{"x":0, "y":4.25, "w":2.25},
|
||||
{"x":2.25, "y":4.25},
|
||||
{"x":3.25, "y":4.25},
|
||||
{"x":4.25, "y":4.25},
|
||||
{"x":5.25, "y":4.25},
|
||||
{"x":6.25, "y":4.25},
|
||||
{"x":7.25, "y":4.25},
|
||||
{"x":8.25, "y":4.25},
|
||||
{"x":9.25, "y":4.25},
|
||||
{"x":10.25, "y":4.25},
|
||||
{"x":11.25, "y":4.25},
|
||||
{"x":12.25, "y":4.25},
|
||||
{"x":13.25, "y":4.25, "w":1.75},
|
||||
{"x":16.25, "y":4.25},
|
||||
{"x": 0, "y": 2.25, "w": 1.5},
|
||||
{"x": 1.5, "y": 2.25},
|
||||
{"x": 2.5, "y": 2.25},
|
||||
{"x": 3.5, "y": 2.25},
|
||||
{"x": 4.5, "y": 2.25},
|
||||
{"x": 5.5, "y": 2.25},
|
||||
{"x": 6.5, "y": 2.25},
|
||||
{"x": 7.5, "y": 2.25},
|
||||
{"x": 8.5, "y": 2.25},
|
||||
{"x": 9.5, "y": 2.25},
|
||||
{"x": 10.5, "y": 2.25},
|
||||
{"x": 11.5, "y": 2.25},
|
||||
{"x": 12.5, "y": 2.25},
|
||||
{"x": 15.25, "y": 2.25},
|
||||
{"x": 16.25, "y": 2.25},
|
||||
{"x": 17.25, "y": 2.25},
|
||||
|
||||
{"x":0, "y":5.25, "w":1.5},
|
||||
{"x":1.5, "y":5.25},
|
||||
{"x":2.5, "y":5.25, "w":1.5},
|
||||
{"x":4, "y":5.25},
|
||||
{"x":5, "y":5.25},
|
||||
{"x":6, "y":5.25, "w":3},
|
||||
{"x":9, "y":5.25},
|
||||
{"x":10, "y":5.25},
|
||||
{"x":11, "y":5.25, "w":1.5},
|
||||
{"x":12.5, "y":5.25},
|
||||
{"x":13.5, "y":5.25, "w":1.5},
|
||||
{"x":15.25, "y":5.25},
|
||||
{"x":16.25, "y":5.25},
|
||||
{"x":17.25, "y":5.25}
|
||||
{"x": 0, "y": 3.25, "w": 1.75},
|
||||
{"x": 1.75, "y": 3.25},
|
||||
{"x": 2.75, "y": 3.25},
|
||||
{"x": 3.75, "y": 3.25},
|
||||
{"x": 4.75, "y": 3.25},
|
||||
{"x": 5.75, "y": 3.25},
|
||||
{"x": 6.75, "y": 3.25},
|
||||
{"x": 7.75, "y": 3.25},
|
||||
{"x": 8.75, "y": 3.25},
|
||||
{"x": 9.75, "y": 3.25},
|
||||
{"x": 10.75, "y": 3.25},
|
||||
{"x": 11.75, "y": 3.25},
|
||||
{"x": 12.75, "y": 3.25},
|
||||
{"x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
|
||||
|
||||
{"x": 0, "y": 4.25, "w": 2.25},
|
||||
{"x": 2.25, "y": 4.25},
|
||||
{"x": 3.25, "y": 4.25},
|
||||
{"x": 4.25, "y": 4.25},
|
||||
{"x": 5.25, "y": 4.25},
|
||||
{"x": 6.25, "y": 4.25},
|
||||
{"x": 7.25, "y": 4.25},
|
||||
{"x": 8.25, "y": 4.25},
|
||||
{"x": 9.25, "y": 4.25},
|
||||
{"x": 10.25, "y": 4.25},
|
||||
{"x": 11.25, "y": 4.25},
|
||||
{"x": 12.25, "y": 4.25},
|
||||
{"x": 13.25, "y": 4.25, "w": 1.75},
|
||||
|
||||
{"x": 16.25, "y": 4.25},
|
||||
|
||||
{"x": 0, "y": 5.25, "w": 1.5},
|
||||
{"x": 1.5, "y": 5.25},
|
||||
{"x": 2.5, "y": 5.25, "w": 1.5},
|
||||
{"x": 4, "y": 5.25},
|
||||
{"x": 5, "y": 5.25},
|
||||
{"x": 6, "y": 5.25, "w": 3},
|
||||
{"x": 9, "y": 5.25},
|
||||
{"x": 10, "y": 5.25},
|
||||
{"x": 11, "y": 5.25, "w": 1.5},
|
||||
{"x": 12.5, "y": 5.25},
|
||||
{"x": 13.5, "y": 5.25, "w": 1.5},
|
||||
|
||||
{"x": 15.25, "y": 5.25},
|
||||
{"x": 16.25, "y": 5.25},
|
||||
{"x": 17.25, "y": 5.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"x":0, "y":0.5},
|
||||
{"x":1.25, "y":0.5},
|
||||
{"x":2.25, "y":0.5},
|
||||
{"x":3.25, "y":0.5},
|
||||
{"x":4.25, "y":0.5},
|
||||
{"x":5.5, "y":0.5},
|
||||
{"x":6.5, "y":0.5},
|
||||
{"x":7.5, "y":0.5},
|
||||
{"x":8.5, "y":0.5},
|
||||
{"x":9.75, "y":0.5},
|
||||
{"x":10.75, "y":0.5},
|
||||
{"x":11.75, "y":0.5},
|
||||
{"x":12.75, "y":0.5},
|
||||
{"x":14, "y":0.5},
|
||||
{"x":15.25, "y":0.5},
|
||||
{"x":16.25, "y":0.5},
|
||||
{"x":17.25, "y":0.5},
|
||||
{"x": 0, "y": 0.5},
|
||||
|
||||
{"x":0, "y":1.75},
|
||||
{"x":1, "y":1.75},
|
||||
{"x":2, "y":1.75},
|
||||
{"x":3, "y":1.75},
|
||||
{"x":4, "y":1.75},
|
||||
{"x":5, "y":1.75},
|
||||
{"x":6, "y":1.75},
|
||||
{"x":7, "y":1.75},
|
||||
{"x":8, "y":1.75},
|
||||
{"x":9, "y":1.75},
|
||||
{"x":10, "y":1.75},
|
||||
{"x":11, "y":1.75},
|
||||
{"x":12, "y":1.75},
|
||||
{"x":13, "y":1.75},
|
||||
{"x":14, "y":1.75},
|
||||
{"x":15.25, "y":1.75},
|
||||
{"x":16.25, "y":1.75},
|
||||
{"x":17.25, "y":1.75},
|
||||
{"x": 1.25, "y": 0.5},
|
||||
{"x": 2.25, "y": 0.5},
|
||||
{"x": 3.25, "y": 0.5},
|
||||
{"x": 4.25, "y": 0.5},
|
||||
|
||||
{"x":0, "y":2.75, "w":1.5},
|
||||
{"x":1.5, "y":2.75},
|
||||
{"x":2.5, "y":2.75},
|
||||
{"x":3.5, "y":2.75},
|
||||
{"x":4.5, "y":2.75},
|
||||
{"x":5.5, "y":2.75},
|
||||
{"x":6.5, "y":2.75},
|
||||
{"x":7.5, "y":2.75},
|
||||
{"x":8.5, "y":2.75},
|
||||
{"x":9.5, "y":2.75},
|
||||
{"x":10.5, "y":2.75},
|
||||
{"x":11.5, "y":2.75},
|
||||
{"x":12.5, "y":2.75},
|
||||
{"x":13.5, "y":2.75, "w":1.5},
|
||||
{"x":15.25, "y":2.75},
|
||||
{"x":16.25, "y":2.75},
|
||||
{"x":17.25, "y":2.75},
|
||||
{"x": 5.5, "y": 0.5},
|
||||
{"x": 6.5, "y": 0.5},
|
||||
{"x": 7.5, "y": 0.5},
|
||||
{"x": 8.5, "y": 0.5},
|
||||
|
||||
{"x":0, "y":3.75, "w":1.75},
|
||||
{"x":1.75, "y":3.75},
|
||||
{"x":2.75, "y":3.75},
|
||||
{"x":3.75, "y":3.75},
|
||||
{"x":4.75, "y":3.75},
|
||||
{"x":5.75, "y":3.75},
|
||||
{"x":6.75, "y":3.75},
|
||||
{"x":7.75, "y":3.75},
|
||||
{"x":8.75, "y":3.75},
|
||||
{"x":9.75, "y":3.75},
|
||||
{"x":10.75, "y":3.75},
|
||||
{"x":11.75, "y":3.75},
|
||||
{"x":12.75, "y":3.75, "w":2.25},
|
||||
{"x": 9.75, "y": 0.5},
|
||||
{"x": 10.75, "y": 0.5},
|
||||
{"x": 11.75, "y": 0.5},
|
||||
{"x": 12.75, "y": 0.5},
|
||||
|
||||
{"x":0, "y":4.75, "w":1.25},
|
||||
{"x":1.25, "y":4.75},
|
||||
{"x":2.25, "y":4.75},
|
||||
{"x":3.25, "y":4.75},
|
||||
{"x":4.25, "y":4.75},
|
||||
{"x":5.25, "y":4.75},
|
||||
{"x":6.25, "y":4.75},
|
||||
{"x":7.25, "y":4.75},
|
||||
{"x":8.25, "y":4.75},
|
||||
{"x":9.25, "y":4.75},
|
||||
{"x":10.25, "y":4.75},
|
||||
{"x":11.25, "y":4.75},
|
||||
{"x":12.25, "y":4.75, "w":1.75},
|
||||
{"x":14, "y":4.75},
|
||||
{"x":16.25, "y":4.75},
|
||||
{"x": 14, "y": 0.5},
|
||||
|
||||
{"x":0, "y":5.75, "w":1.25},
|
||||
{"x":1.25, "y":5.75, "w":1.25},
|
||||
{"x":2.5, "y":5.75, "w":1.25},
|
||||
{"x":3.75, "y":5.75, "w":2.5},
|
||||
{"x":6.25, "y":5.75},
|
||||
{"x":7.25, "y":5.75, "w":2.75},
|
||||
{"x":10, "y":5.75, "w":1.25},
|
||||
{"x":11.25, "y":5.75, "w":1.25},
|
||||
{"x":12.5, "y":5.75, "w":1.25},
|
||||
{"x":13.75, "y":5.75, "w":1.25},
|
||||
{"x":15.25, "y":5.75},
|
||||
{"x":16.25, "y":5.75},
|
||||
{"x":17.25, "y":5.75},
|
||||
{"x": 15.25, "y": 0.5},
|
||||
{"x": 16.25, "y": 0.5},
|
||||
{"x": 17.25, "y": 0.5},
|
||||
|
||||
{"x":18.5, "y":0},
|
||||
{"x":18.5, "y":1}
|
||||
{"x": 0, "y": 1.75},
|
||||
{"x": 1, "y": 1.75},
|
||||
{"x": 2, "y": 1.75},
|
||||
{"x": 3, "y": 1.75},
|
||||
{"x": 4, "y": 1.75},
|
||||
{"x": 5, "y": 1.75},
|
||||
{"x": 6, "y": 1.75},
|
||||
{"x": 7, "y": 1.75},
|
||||
{"x": 8, "y": 1.75},
|
||||
{"x": 9, "y": 1.75},
|
||||
{"x": 10, "y": 1.75},
|
||||
{"x": 11, "y": 1.75},
|
||||
{"x": 12, "y": 1.75},
|
||||
{"x": 13, "y": 1.75},
|
||||
{"x": 14, "y": 1.75},
|
||||
|
||||
{"x": 15.25, "y": 1.75},
|
||||
{"x": 16.25, "y": 1.75},
|
||||
{"x": 17.25, "y": 1.75},
|
||||
|
||||
{"x": 0, "y": 2.75, "w": 1.5},
|
||||
{"x": 1.5, "y": 2.75},
|
||||
{"x": 2.5, "y": 2.75},
|
||||
{"x": 3.5, "y": 2.75},
|
||||
{"x": 4.5, "y": 2.75},
|
||||
{"x": 5.5, "y": 2.75},
|
||||
{"x": 6.5, "y": 2.75},
|
||||
{"x": 7.5, "y": 2.75},
|
||||
{"x": 8.5, "y": 2.75},
|
||||
{"x": 9.5, "y": 2.75},
|
||||
{"x": 10.5, "y": 2.75},
|
||||
{"x": 11.5, "y": 2.75},
|
||||
{"x": 12.5, "y": 2.75},
|
||||
{"x": 13.5, "y": 2.75, "w": 1.5},
|
||||
|
||||
{"x": 15.25, "y": 2.75},
|
||||
{"x": 16.25, "y": 2.75},
|
||||
{"x": 17.25, "y": 2.75},
|
||||
|
||||
{"x": 0, "y": 3.75, "w": 1.75},
|
||||
{"x": 1.75, "y": 3.75},
|
||||
{"x": 2.75, "y": 3.75},
|
||||
{"x": 3.75, "y": 3.75},
|
||||
{"x": 4.75, "y": 3.75},
|
||||
{"x": 5.75, "y": 3.75},
|
||||
{"x": 6.75, "y": 3.75},
|
||||
{"x": 7.75, "y": 3.75},
|
||||
{"x": 8.75, "y": 3.75},
|
||||
{"x": 9.75, "y": 3.75},
|
||||
{"x": 10.75, "y": 3.75},
|
||||
{"x": 11.75, "y": 3.75},
|
||||
{"x": 12.75, "y": 3.75, "w": 2.25},
|
||||
|
||||
{"x": 0, "y": 4.75, "w": 1.25},
|
||||
{"x": 1.25, "y": 4.75},
|
||||
{"x": 2.25, "y": 4.75},
|
||||
{"x": 3.25, "y": 4.75},
|
||||
{"x": 4.25, "y": 4.75},
|
||||
{"x": 5.25, "y": 4.75},
|
||||
{"x": 6.25, "y": 4.75},
|
||||
{"x": 7.25, "y": 4.75},
|
||||
{"x": 8.25, "y": 4.75},
|
||||
{"x": 9.25, "y": 4.75},
|
||||
{"x": 10.25, "y": 4.75},
|
||||
{"x": 11.25, "y": 4.75},
|
||||
{"x": 12.25, "y": 4.75, "w": 1.75},
|
||||
{"x": 14, "y": 4.75},
|
||||
|
||||
{"x": 16.25, "y": 4.75},
|
||||
|
||||
{"x": 0, "y": 5.75, "w": 1.25},
|
||||
{"x": 1.25, "y": 5.75, "w": 1.25},
|
||||
{"x": 2.5, "y": 5.75, "w": 1.25},
|
||||
{"x": 3.75, "y": 5.75},
|
||||
{"x": 4.75, "y": 5.75, "w": 1.5},
|
||||
{"x": 6.25, "y": 5.75},
|
||||
{"x": 7.25, "y": 5.75, "w": 2.75},
|
||||
{"x": 10, "y": 5.75, "w": 1.25},
|
||||
{"x": 11.25, "y": 5.75, "w": 1.25},
|
||||
{"x": 12.5, "y": 5.75, "w": 1.25},
|
||||
{"x": 13.75, "y": 5.75, "w": 1.25},
|
||||
|
||||
{"x": 15.25, "y": 5.75},
|
||||
{"x": 16.25, "y": 5.75},
|
||||
{"x": 17.25, "y": 5.75},
|
||||
|
||||
{"x": 18.5, "y": 0},
|
||||
{"x": 18.5, "y": 1}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@@ -30,106 +30,98 @@
|
||||
#define ___ KC_NO
|
||||
|
||||
#define LAYOUT_ansi( \
|
||||
k00, k01, k02, k03, k04, k10, k11, k12, k13, k20, k21, k22, k23, k24, k3k, k3l, k3m, \
|
||||
k85, k86, k87, k88, k89, k8a, k8b, k8c, k8d, k8e, k8f, k8g, k8h, k8i, k4k, k4l, k4m, \
|
||||
k95, k96, k97, k98, k99, k9a, k9b, k9c, k9d, k9e, k9f, k9g, k9h, k9j, k5k, k5l, k5m, \
|
||||
ka5, ka6, ka7, ka8, ka9, kaa, kab, kac, kad, kae, kaf, kag, kai, \
|
||||
kb5, kb7, kb8, kb9, kba, kbb, kbc, kbd, kbe, kbf, kbg, kbi, k6l, \
|
||||
kc5, kc6, kc7, kcd, kcf, kcg, kch, kci, k7k, k7l, k7m \
|
||||
k00, k01, k02, k03, k04, k10, k11, k12, k13, k20, k21, k22, k23, k24, k3K, k3L, k3M, \
|
||||
k85, k86, k87, k88, k89, k8A, k8B, k8C, k8D, k8E, k8F, k8G, k8H, k8I, k4K, k4L, k4M, \
|
||||
k95, k96, k97, k98, k99, k9A, k9B, k9C, k9D, k9E, k9F, k9G, k9H, k9J, k5K, k5L, k5M, \
|
||||
kA5, kA6, kA7, kA8, kA9, kAA, kAB, kAC, kAD, kAE, kAF, kAG, kAI, \
|
||||
kB5, kB7, kB8, kB9, kBA, kBB, kBC, kBD, kBE, kBF, kBG, kBI, k6O, \
|
||||
kC5, kC6, kC7, kCD, kCF, kCG, kCI, kCJ, k7N, k7O, k7P \
|
||||
) { \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 */ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p */ \
|
||||
/* 0 | 0 */ { k00, k01, k02, k03, k04, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 1 | 1 */ { k10, k11, k12, k13, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 2 | 2 */ { k20, k21, k22, k23, k24, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 3 | 3 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k3k, k3l, k3m, ___, ___, ___ }, \
|
||||
/* 4 | 4 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k4k, k4l, k4m, ___, ___, ___ }, \
|
||||
/* 5 | 5 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k5k, k5l, k5m, ___, ___, ___ }, \
|
||||
/* 6 | 6 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k6l, ___ }, \
|
||||
/* 7 | 7 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k7k, k7l, k7m }, \
|
||||
/* 8 | 8 */ { ___, ___, ___, ___, ___, k85, k86, k87, k88, k89, k8a, k8b, k8c, k8d, k8e, k8f, k8g, k8h, k8i, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 9 | 9 */ { ___, ___, ___, ___, ___, k95, k96, k97, k98, k99, k9a, k9b, k9c, k9d, k9e, k9f, k9g, k9h, ___, k9j, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 10 | a */ { ___, ___, ___, ___, ___, ka5, ka6, ka7, ka8, ka9, kaa, kab, kac, kad, kae, kaf, kag, ___, kai, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 11 | b */ { ___, ___, ___, ___, ___, kb5, ___, kb7, kb8, kb9, kba, kbb, kbc, kbd, kbe, kbf, kbg, ___, kbi, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 12 | c */ { ___, ___, ___, ___, ___, kc5, kc6, kc7, ___, ___, ___, ___, ___, kcd, ___, kcf, kcg, ___, kch, kci, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 13 | c */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k00, k01, k02, k03, k04, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k10, k11, k12, k13, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k20, k21, k22, k23, k24, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k3K, k3L, k3M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k4K, k4L, k4M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k5K, k5L, k5M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k6O, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k7N, k7O, k7P }, \
|
||||
{ ___, ___, ___, ___, ___, k85, k86, k87, k88, k89, k8A, k8B, k8C, k8D, k8E, k8F, k8G, k8H, k8I, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, k95, k96, k97, k98, k99, k9A, k9B, k9C, k9D, k9E, k9F, k9G, k9H, ___, k9J, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kA5, kA6, kA7, kA8, kA9, kAA, kAB, kAC, kAD, kAE, kAF, kAG, ___, kAI, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kB5, ___, kB7, kB8, kB9, kBA, kBB, kBC, kBD, kBE, kBF, kBG, ___, kBI, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kC5, kC6, kC7, ___, ___, ___, ___, ___, kCD, ___, kCF, kCG, ___, kCI, kCJ, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \
|
||||
}
|
||||
|
||||
#define LAYOUT_iso( \
|
||||
k00, k01, k02, k03, k04, k10, k11, k12, k13, k20, k21, k22, k23, k24, k3k, k3l, k3m, \
|
||||
k85, k86, k87, k88, k89, k8a, k8b, k8c, k8d, k8e, k8f, k8g, k8h, k8i, k4k, k4l, k4m, \
|
||||
k95, k96, k97, k98, k99, k9a, k9b, k9c, k9d, k9e, k9f, k9g, k9h, k5k, k5l, k5m, \
|
||||
ka5, ka6, ka7, ka8, ka9, kaa, kab, kac, kad, kae, kaf, kag, kai, k9j, \
|
||||
kb5, kb6, kb7, kb8, kb9, kba, kbb, kbc, kbd, kbe, kbf, kbg, kbi, k6l, \
|
||||
kc5, kc6, kc7, kcd, kcf, kcg, kch, kci, k7k, k7l, k7m \
|
||||
k00, k01, k02, k03, k04, k10, k11, k12, k13, k20, k21, k22, k23, k24, k3K, k3L, k3M, \
|
||||
k85, k86, k87, k88, k89, k8A, k8B, k8C, k8D, k8E, k8F, k8G, k8H, k8I, k4K, k4L, k4M, \
|
||||
k95, k96, k97, k98, k99, k9A, k9B, k9C, k9D, k9E, k9F, k9G, k9H, k5K, k5L, k5M, \
|
||||
kA5, kA6, kA7, kA8, kA9, kAA, kAB, kAC, kAD, kAE, kAF, kAG, kAI, k9J, \
|
||||
kB5, kB6, kB7, kB8, kB9, kBA, kBB, kBC, kBD, kBE, kBF, kBG, kBI, k6O, \
|
||||
kC5, kC6, kC7, kCD, kCF, kCG, kCI, kCJ, k7N, k7O, k7P \
|
||||
) { \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 */ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p */ \
|
||||
/* 0 | 0 */ { k00, k01, k02, k03, k04, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 1 | 1 */ { k10, k11, k12, k13, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 2 | 2 */ { k20, k21, k22, k23, k24, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 3 | 3 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k3k, k3l, k3m, ___, ___, ___ }, \
|
||||
/* 4 | 4 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k4k, k4l, k4m, ___, ___, ___ }, \
|
||||
/* 5 | 5 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k5k, k5l, k5m, ___, ___, ___ }, \
|
||||
/* 6 | 6 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k6l, ___ }, \
|
||||
/* 7 | 7 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k7k, k7l, k7m }, \
|
||||
/* 8 | 8 */ { ___, ___, ___, ___, ___, k85, k86, k87, k88, k89, k8a, k8b, k8c, k8d, k8e, k8f, k8g, k8h, k8i, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 9 | 9 */ { ___, ___, ___, ___, ___, k95, k96, k97, k98, k99, k9a, k9b, k9c, k9d, k9e, k9f, k9g, k9h, ___, k9j, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 10 | a */ { ___, ___, ___, ___, ___, ka5, ka6, ka7, ka8, ka9, kaa, kab, kac, kad, kae, kaf, kag, ___, kai, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 11 | b */ { ___, ___, ___, ___, ___, kb5, kb6, kb7, kb8, kb9, kba, kbb, kbc, kbd, kbe, kbf, kbg, ___, kbi, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 12 | c */ { ___, ___, ___, ___, ___, kc5, kc6, kc7, ___, ___, ___, ___, ___, kcd, ___, kcf, kcg, ___, kch, kci, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 13 | c */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k00, k01, k02, k03, k04, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k10, k11, k12, k13, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k20, k21, k22, k23, k24, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k3K, k3L, k3M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k4K, k4L, k4M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k5K, k5L, k5M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k6O, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k7N, k7O, k7P }, \
|
||||
{ ___, ___, ___, ___, ___, k85, k86, k87, k88, k89, k8A, k8B, k8C, k8D, k8E, k8F, k8G, k8H, k8I, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, k95, k96, k97, k98, k99, k9A, k9B, k9C, k9D, k9E, k9F, k9G, k9H, ___, k9J, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kA5, kA6, kA7, kA8, kA9, kAA, kAB, kAC, kAD, kAE, kAF, kAG, ___, kAI, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kB5, kB6, kB7, kB8, kB9, kBA, kBB, kBC, kBD, kBE, kBF, kBG, ___, kBI, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kC5, kC6, kC7, ___, ___, ___, ___, ___, kCD, ___, kCF, kCG, ___, kCI, kCJ, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \
|
||||
}
|
||||
|
||||
#define LAYOUT_jis( \
|
||||
k00, k01, k02, k03, k04, k10, k11, k12, k13, k20, k21, k22, k23, k24, k3k, k3l, k3m, \
|
||||
k85, k86, k87, k88, k89, k8a, k8b, k8c, k8d, k8e, k8f, k8g, k8h, k8i, k8j, k4k, k4l, k4m, \
|
||||
k95, k96, k97, k98, k99, k9a, k9b, k9c, k9d, k9e, k9f, k9g, k9h, k5k, k5l, k5m, \
|
||||
ka5, ka6, ka7, ka8, ka9, kaa, kab, kac, kad, kae, kaf, kag, kai, k9j, \
|
||||
kb5, kb7, kb8, kb9, kba, kbb, kbc, kbd, kbe, kbf, kbg, kbi, kbj, k6l, \
|
||||
kc5, kc6, kc7, kc8, kc9, kcd, kce, kcf, kcg, kch, kci, k7k, k7l, k7m \
|
||||
k00, k01, k02, k03, k04, k10, k11, k12, k13, k20, k21, k22, k23, k24, k3K, k3L, k3M, \
|
||||
k85, k86, k87, k88, k89, k8A, k8B, k8C, k8D, k8E, k8F, k8G, k8H, k8I, k8J, k4K, k4L, k4M, \
|
||||
k95, k96, k97, k98, k99, k9A, k9B, k9C, k9D, k9E, k9F, k9G, k9H, k5K, k5L, k5M, \
|
||||
kA5, kA6, kA7, kA8, kA9, kAA, kAB, kAC, kAD, kAE, kAF, kAG, kAI, k9J, \
|
||||
kB5, kB7, kB8, kB9, kBA, kBB, kBC, kBD, kBE, kBF, kBG, kBI, kBJ, k6O, \
|
||||
kC5, kC6, kC7, kC8, kC9, kCD, kCE, kCF, kCG, kCI, kCJ, k7N, k7O, k7P \
|
||||
) { \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 */ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p */ \
|
||||
/* 0 | 0 */ { k00, k01, k02, k03, k04, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 1 | 1 */ { k10, k11, k12, k13, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 2 | 2 */ { k20, k21, k22, k23, k24, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 3 | 3 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k3k, k3l, k3m, ___, ___, ___ }, \
|
||||
/* 4 | 4 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k4k, k4l, k4m, ___, ___, ___ }, \
|
||||
/* 5 | 5 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k5k, k5l, k5m, ___, ___, ___ }, \
|
||||
/* 6 | 6 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k6l, ___ }, \
|
||||
/* 7 | 7 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k7k, k7l, k7m }, \
|
||||
/* 8 | 8 */ { ___, ___, ___, ___, ___, k85, k86, k87, k88, k89, k8a, k8b, k8c, k8d, k8e, k8f, k8g, k8h, k8i, k8j, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 9 | 9 */ { ___, ___, ___, ___, ___, k95, k96, k97, k98, k99, k9a, k9b, k9c, k9d, k9e, k9f, k9g, k9h, ___, k9j, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 10 | a */ { ___, ___, ___, ___, ___, ka5, ka6, ka7, ka8, ka9, kaa, kab, kac, kad, kae, kaf, kag, ___, kai, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 11 | b */ { ___, ___, ___, ___, ___, kb5, ___, kb7, kb8, kb9, kba, kbb, kbc, kbd, kbe, kbf, kbg, ___, kbi, kbj, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 12 | c */ { ___, ___, ___, ___, ___, kc5, kc6, kc7, kc8, kc9, ___, ___, ___, kcd, kce, kcf, kcg, ___, kch, kci, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 13 | c */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k00, k01, k02, k03, k04, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k10, k11, k12, k13, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k20, k21, k22, k23, k24, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k3K, k3L, k3M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k4K, k4L, k4M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k5K, k5L, k5M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k6O, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k7N, k7O, k7P }, \
|
||||
{ ___, ___, ___, ___, ___, k85, k86, k87, k88, k89, k8A, k8B, k8C, k8D, k8E, k8F, k8G, k8H, k8I, k8J, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, k95, k96, k97, k98, k99, k9A, k9B, k9C, k9D, k9E, k9F, k9G, k9H, ___, k9J, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kA5, kA6, kA7, kA8, kA9, kAA, kAB, kAC, kAD, kAE, kAF, kAG, ___, kAI, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kB5, ___, kB7, kB8, kB9, kBA, kBB, kBC, kBD, kBE, kBF, kBG, ___, kBI, kBJ, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kC5, kC6, kC7, kC8, kC9, ___, ___, ___, kCD, kCE, kCF, kCG, ___, kCI, kCJ, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \
|
||||
}
|
||||
|
||||
#define LAYOUT_all( \
|
||||
k00, k01, k02, k03, k04, k10, k11, k12, k13, k20, k21, k22, k23, k24, k3k, k3l, k3m, \
|
||||
k85, k86, k87, k88, k89, k8a, k8b, k8c, k8d, k8e, k8f, k8g, k8h, k8i, k8j, k4k, k4l, k4m, \
|
||||
k95, k96, k97, k98, k99, k9a, k9b, k9c, k9d, k9e, k9f, k9g, k9h, k9j, k5k, k5l, k5m, \
|
||||
ka5, ka6, ka7, ka8, ka9, kaa, kab, kac, kad, kae, kaf, kag, kai, \
|
||||
kb5, kb6, kb7, kb8, kb9, kba, kbb, kbc, kbd, kbe, kbf, kbg, kbi, kbj, k6l, \
|
||||
kc5, kc6, kc7, kc8, kc9, kcd, kce, kcf, kcg, kch, kci, k7k, k7l, k7m, \
|
||||
kc0, kc1 \
|
||||
k00, k01, k02, k03, k04, k10, k11, k12, k13, k20, k21, k22, k23, k24, k3K, k3L, k3M, \
|
||||
k85, k86, k87, k88, k89, k8A, k8B, k8C, k8D, k8E, k8F, k8G, k8H, k8I, k8J, k4K, k4L, k4M, \
|
||||
k95, k96, k97, k98, k99, k9A, k9B, k9C, k9D, k9E, k9F, k9G, k9H, k9J, k5K, k5L, k5M, \
|
||||
kA5, kA6, kA7, kA8, kA9, kAA, kAB, kAC, kAD, kAE, kAF, kAG, kAI, \
|
||||
kB5, kB6, kB7, kB8, kB9, kBA, kBB, kBC, kBD, kBE, kBF, kBG, kBI, kBJ, k6O, \
|
||||
kC5, kC6, kC7, kC8, kC9, kCD, kCE, kCF, kCG, kCI, kCJ, k7N, k7O, k7P, \
|
||||
kD0, kD1 \
|
||||
) { \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 */ \
|
||||
/* 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p */ \
|
||||
/* 0 | 0 */ { k00, k01, k02, k03, k04, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 1 | 1 */ { k10, k11, k12, k13, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 2 | 2 */ { k20, k21, k22, k23, k24, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 3 | 3 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k3k, k3l, k3m, ___, ___, ___ }, \
|
||||
/* 4 | 4 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k4k, k4l, k4m, ___, ___, ___ }, \
|
||||
/* 5 | 5 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k5k, k5l, k5m, ___, ___, ___ }, \
|
||||
/* 6 | 6 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k6l, ___ }, \
|
||||
/* 7 | 7 */ { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k7k, k7l, k7m }, \
|
||||
/* 8 | 8 */ { ___, ___, ___, ___, ___, k85, k86, k87, k88, k89, k8a, k8b, k8c, k8d, k8e, k8f, k8g, k8h, k8i, k8j, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 9 | 9 */ { ___, ___, ___, ___, ___, k95, k96, k97, k98, k99, k9a, k9b, k9c, k9d, k9e, k9f, k9g, k9h, ___, k9j, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 10 | a */ { ___, ___, ___, ___, ___, ka5, ka6, ka7, ka8, ka9, kaa, kab, kac, kad, kae, kaf, kag, ___, kai, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 11 | b */ { ___, ___, ___, ___, ___, kb5, kb6, kb7, kb8, kb9, kba, kbb, kbc, kbd, kbe, kbf, kbg, ___, kbi, kbj, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 12 | c */ { ___, ___, ___, ___, ___, kc5, kc6, kc7, kc8, kc9, ___, ___, ___, kcd, kce, kcf, kcg, ___, kch, kci, ___, ___, ___, ___, ___, ___ }, \
|
||||
/* 13 | c */ { kc0, kc1, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k00, k01, k02, k03, k04, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k10, k11, k12, k13, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ k20, k21, k22, k23, k24, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k3K, k3L, k3M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k4K, k4L, k4M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k5K, k5L, k5M, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k6O, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, k7N, k7O, k7P }, \
|
||||
{ ___, ___, ___, ___, ___, k85, k86, k87, k88, k89, k8A, k8B, k8C, k8D, k8E, k8F, k8G, k8H, k8I, k8J, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, k95, k96, k97, k98, k99, k9A, k9B, k9C, k9D, k9E, k9F, k9G, k9H, ___, k9J, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kA5, kA6, kA7, kA8, kA9, kAA, kAB, kAC, kAD, kAE, kAF, kAG, ___, kAI, ___, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kB5, kB6, kB7, kB8, kB9, kBA, kBB, kBC, kBD, kBE, kBF, kBG, ___, kBI, kBJ, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ ___, ___, ___, ___, ___, kC5, kC6, kC7, kC8, kC9, ___, ___, ___, kCD, kCE, kCF, kCG, ___, kCI, kCJ, ___, ___, ___, ___, ___, ___ }, \
|
||||
{ kD0, kD1, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \
|
||||
}
|
||||
|
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define VENDOR_ID 0x5950 // YP
|
||||
#define PRODUCT_ID 0x8369
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Mattia Dal Ben
|
||||
|
163
keyboards/yampad/keymaps/via/keymap.c
Normal file
163
keyboards/yampad/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,163 @@
|
||||
/* MIT License
|
||||
|
||||
Copyright (c) 2019 Mattia Dal Ben
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
enum layers {
|
||||
_BL,
|
||||
_NV,
|
||||
_FN
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
KC_DBL0 = SAFE_RANGE,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Keymap _BL: (Base Layer) Default Layer
|
||||
* ,-------------------.
|
||||
* | NV | / | * |-/FN|
|
||||
* |----|----|----|----|
|
||||
* | 7 | 8 | 9 | |
|
||||
* |----|----|----| + |
|
||||
* | 4 | 5 | 6 | |
|
||||
* |----|----|----|----|
|
||||
* | 1 | 2 | 3 | |
|
||||
* |----|----|----| En |
|
||||
* | 0 | 00 | . | |
|
||||
* `-------------------'
|
||||
*/
|
||||
[_BL] = LAYOUT(
|
||||
TG(_NV), KC_PSLS, KC_PAST, LT(_FN, KC_PMNS),
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_DBL0, KC_PDOT, KC_PENT
|
||||
),
|
||||
|
||||
/* Keymap _NV: Navigation layer
|
||||
* ,-------------------.
|
||||
* |INS |HOME|PGUP| |
|
||||
* |----|----|----|----|
|
||||
* |DEL |END |PGDN| |
|
||||
* |----|----|----| |
|
||||
* | | | | |
|
||||
* |----|----|----|----|
|
||||
* | | UP | | |
|
||||
* |----|----|----| |
|
||||
* |LEFT|DOWN|RIGH| |
|
||||
* `-------------------'
|
||||
*/
|
||||
[_NV] = LAYOUT(
|
||||
KC_INS, KC_HOME, KC_PGUP, TG(_NV),
|
||||
KC_DEL, KC_END, KC_PGDN,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, KC_UP, XXXXXXX,
|
||||
KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX
|
||||
),
|
||||
|
||||
/* Keymap _FN: RGB Function Layer
|
||||
* ,-------------------.
|
||||
* |RMOD|RGBP|RTOG| FN |
|
||||
* |----|----|----|----|
|
||||
* |HUD |HUI | | |
|
||||
* |----|----|----| |
|
||||
* |SAD |SAI | | |
|
||||
* |----|----|----|----|
|
||||
* |VAD |VAS | | |
|
||||
* |----|----|----| |
|
||||
* |RST | | | |
|
||||
* `-------------------'
|
||||
*/
|
||||
[_FN] = LAYOUT(
|
||||
RGB_MOD, RGB_M_P, RGB_TOG, _______,
|
||||
RGB_HUD, RGB_HUI, XXXXXXX,
|
||||
RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
|
||||
RGB_VAD, RGB_VAI, XXXXXXX,
|
||||
RESET, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
),
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_DBL0:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("00");
|
||||
} else {
|
||||
// when keycode KC_DBL0 is released
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
#ifdef OLED_ENABLE
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
return OLED_ROTATION_270; // flips the display 270 degrees
|
||||
}
|
||||
|
||||
void oled_task_user(void) {
|
||||
// Host Keyboard Layer Status
|
||||
oled_write_P(PSTR("Layer"), false);
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _BL:
|
||||
oled_write_ln_P(PSTR(" BAS"), false);
|
||||
break;
|
||||
case _NV:
|
||||
oled_write_ln_P(PSTR(" NAV"), false);
|
||||
break;
|
||||
case _FN:
|
||||
oled_write_ln_P(PSTR(" RGB"), false);
|
||||
break;
|
||||
default:
|
||||
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||
oled_write_ln_P(PSTR(" UND"), false);
|
||||
}
|
||||
|
||||
// Host Keyboard LED Status
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
oled_write_P(PSTR("-----"), false);
|
||||
oled_write_P(PSTR("Stats"), false);
|
||||
oled_write_P(led_state.num_lock ? PSTR("num:*") : PSTR("num:."), false);
|
||||
oled_write_P(led_state.caps_lock ? PSTR("cap:*") : PSTR("cap:."), false);
|
||||
oled_write_P(led_state.scroll_lock ? PSTR("scr:*") : PSTR("scr:."), false);
|
||||
|
||||
// Host Keyboard RGB backlight status
|
||||
oled_write_P(PSTR("-----"), false);
|
||||
oled_write_P(PSTR("Light"), false);
|
||||
|
||||
static char led_buf[30];
|
||||
snprintf(led_buf, sizeof(led_buf) - 1, "RGB:%cM: %2d\nh: %2ds: %2dv: %2d\n",
|
||||
rgblight_is_enabled() ? '*' : '.', (uint8_t)rgblight_get_mode(),
|
||||
(uint8_t)(rgblight_get_hue() / RGBLIGHT_HUE_STEP),
|
||||
(uint8_t)(rgblight_get_sat() / RGBLIGHT_SAT_STEP),
|
||||
(uint8_t)(rgblight_get_val() / RGBLIGHT_VAL_STEP));
|
||||
oled_write(led_buf, false);
|
||||
}
|
||||
#endif
|
9
keyboards/yampad/keymaps/via/readme.md
Normal file
9
keyboards/yampad/keymaps/via/readme.md
Normal file
@@ -0,0 +1,9 @@
|
||||

|
||||
|
||||
# VIA Yampad Layout
|
||||
|
||||
This is the layout in the VIA enabled firmware.
|
||||
Optional 2U zero key to suit your Yampad build.
|
||||
|
||||
Compile: `make yampad:via`
|
||||
Flash: `make yampad:via:flash`
|
4
keyboards/yampad/keymaps/via/rules.mk
Normal file
4
keyboards/yampad/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,4 @@
|
||||
EXTRAKEY_ENABLE = no
|
||||
LTO_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = no
|
||||
VIA_ENABLE = yes
|
@@ -7,18 +7,17 @@ BOOTLOADER = caterina
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = no # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
DEBOUNCE_TYPE = sym_eager_pk
|
||||
EXTRAKEY_ENABLE = no # Audio control and System control
|
||||
LTO_ENABLE = yes # Link time optimise, reduce firmware size
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
OLED_ENABLE = yes
|
||||
OLED_DRIVER = SSD1306
|
||||
DEBOUNCE_TYPE = sym_eager_pk
|
||||
OLED_ENABLE = yes
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
|
53
keyboards/z12/config.h
Normal file
53
keyboards/z12/config.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/* Copyright 2020 Sergi Meseguer <zigotica@gmail.com>
|
||||
|
||||
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 0x7A74
|
||||
#define PRODUCT_ID 0x0001
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER zigotica
|
||||
#define PRODUCT z12
|
||||
|
||||
#define ENCODERS_PAD_A { B4, B2 }
|
||||
#define ENCODERS_PAD_B { B5, B6 }
|
||||
#define ENCODER_DIRECTION_FLIP
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
#define MATRIX_COLS 4
|
||||
|
||||
/*Keyboard Matrix Assignments */
|
||||
|
||||
#define DIRECT_PINS { \
|
||||
{ NO_PIN, E6, C6, NO_PIN }, \
|
||||
{ D2, D7, D4, D3 }, \
|
||||
{ F7, B1, B3, NO_PIN }, \
|
||||
{ F6, F5, F4, NO_PIN } \
|
||||
}
|
||||
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* 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
|
26
keyboards/z12/info.json
Normal file
26
keyboards/z12/info.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"keyboard_name": "z12",
|
||||
"url": "https://github.com/zigotica/mechanical-keyboards/tree/main/z12",
|
||||
"maintainer": "@zigotica",
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
|
||||
{"x": 0, "y": 0.5},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 0.5},
|
||||
|
||||
{"x": 0.5, "y": 2},
|
||||
{"x": 1.5, "y": 2},
|
||||
{"x": 2.5, "y": 2},
|
||||
|
||||
{"x": 0.5, "y": 3},
|
||||
{"x": 1.5, "y": 3},
|
||||
{"x": 2.5, "y": 3},
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
26
keyboards/z12/keymaps/default/config.h
Normal file
26
keyboards/z12/keymaps/default/config.h
Normal file
@@ -0,0 +1,26 @@
|
||||
/* Copyright 2020 Sergi Meseguer <zigotica@gmail.com>
|
||||
|
||||
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 OLED_DISPLAY_128X32
|
||||
|
||||
// EC11 encoders' resolution.
|
||||
// Reduce the value to 2 if you feel missing values:
|
||||
#define ENCODER_RESOLUTION 4
|
||||
|
||||
// Allows correct registered values by rotary encoder:
|
||||
#define TAP_CODE_DELAY 10
|
59
keyboards/z12/keymaps/default/keymap.c
Normal file
59
keyboards/z12/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,59 @@
|
||||
/* Copyright 2020 Sergi Meseguer <zigotica@gmail.com>
|
||||
|
||||
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 layers {
|
||||
BASE = 0
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
* Base Layer: BASE
|
||||
*
|
||||
* ,-----------------------.
|
||||
* | | o | o | |
|
||||
* |-------+---+---+-------|
|
||||
* | o | o | o | o |
|
||||
* |-------+-------+-------|
|
||||
* | o | o | o |
|
||||
* |-------+-------+-------|
|
||||
* | o | o | o |
|
||||
* |-------+-------+-------|
|
||||
*/
|
||||
[BASE] = LAYOUT(
|
||||
KC_Q, KC_W,
|
||||
KC_E, KC_R, KC_T, KC_Y,
|
||||
KC_U, KC_I, KC_O,
|
||||
KC_P, KC_K, KC_A
|
||||
),
|
||||
|
||||
/*
|
||||
* TEMPLATE
|
||||
*
|
||||
* ,-----------------------.
|
||||
* | | o | o | |
|
||||
* |-------+---+---+-------|
|
||||
* | o | o | o | o |
|
||||
* |-------+-------+-------|
|
||||
* | o | o | o |
|
||||
* |-------+-------+-------|
|
||||
* | o | o | o |
|
||||
* |-------+-------+-------|
|
||||
*/
|
||||
|
||||
};
|
||||
|
3
keyboards/z12/keymaps/default/readme.md
Normal file
3
keyboards/z12/keymaps/default/readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Default z12 Layout
|
||||
|
||||
This is the default layout that comes flashed on every z12.
|
2
keyboards/z12/keymaps/default/rules.mk
Normal file
2
keyboards/z12/keymaps/default/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
OLED_ENABLE = yes # Enables the use of OLED displays
|
||||
MOUSEKEY_ENABLE = yes
|
3
keyboards/z12/readme.md
Normal file
3
keyboards/z12/readme.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# z12
|
||||
|
||||
Firmware for [z12 micropad](https://github.com/zigotica/mechanical-keyboards/tree/main/z12) designed by @zigotica
|
24
keyboards/z12/rules.mk
Normal file
24
keyboards/z12/rules.mk
Normal file
@@ -0,0 +1,24 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = caterina
|
||||
|
||||
# Build Options
|
||||
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
ENCODER_ENABLE = yes # Enables the use of encoders
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
LTO_ENABLE = yes # Enables Link Time Optimization (LTO) which reduces the compiled size
|
||||
OLED_ENABLE = yes # Enables the use of OLED displays
|
||||
OLED_DRIVER = SSD1306 # Enables the use of OLED displays
|
||||
|
39
keyboards/z12/z12.c
Normal file
39
keyboards/z12/z12.c
Normal file
@@ -0,0 +1,39 @@
|
||||
/* Copyright 2020 Sergi Meseguer <zigotica@gmail.com>
|
||||
*
|
||||
* 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 "z12.h"
|
||||
|
||||
#ifdef ENCODER_ENABLE
|
||||
bool encoder_update_kb(uint8_t index, bool clockwise) {
|
||||
if (!encoder_update_user(index, clockwise)) { return false; }
|
||||
if (index == 0) { // LEFT
|
||||
// Scroll
|
||||
if (clockwise) {
|
||||
tap_code_delay(KC_PGDN, 10);
|
||||
} else {
|
||||
tap_code_delay(KC_PGUP, 10);
|
||||
}
|
||||
} else { // RIGHT
|
||||
// Volume control.
|
||||
if (clockwise) {
|
||||
tap_code_delay(KC_VOLU, 10);
|
||||
} else {
|
||||
tap_code_delay(KC_VOLD, 10);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endif
|
34
keyboards/z12/z12.h
Normal file
34
keyboards/z12/z12.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Copyright 2020 Sergi Meseguer <zigotica@gmail.com>
|
||||
*
|
||||
* 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"
|
||||
|
||||
/* This a shortcut to help you visually see your layout */
|
||||
|
||||
#define ___ KC_NO
|
||||
|
||||
#define LAYOUT( \
|
||||
BN4, BN2, \
|
||||
SW7, BN3, BN1, SW8, \
|
||||
SW4, SW5, SW6, \
|
||||
SW3, SW2, SW1 \
|
||||
) \
|
||||
{ \
|
||||
{ ___, BN4, BN2, ___ }, \
|
||||
{ SW7, BN3, BN1, SW8 }, \
|
||||
{ SW4, SW5, SW6, ___ }, \
|
||||
{ SW3, SW2, SW1, ___ }, \
|
||||
}
|
@@ -14,6 +14,7 @@ AUDIO_ENABLE = no # Audio output
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
||||
LTO_ENABLE = no # if firmware size over limit, try this option
|
||||
|
||||
define ZINC_CUSTOMISE_MSG
|
||||
$(info Zinc customize)
|
||||
@@ -35,7 +36,6 @@ RGB_MATRIX = no # RGB LED Matrix
|
||||
RGB_MATRIX_SPLIT_RIGHT = no # RGB Matrix for RIGHT Hand
|
||||
LED_ANIMATIONS = yes # LED animations
|
||||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
|
||||
Link_Time_Optimization = no # if firmware size over limit, try this option
|
||||
|
||||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
|
||||
#### Do not enable these with audio at the same time.
|
||||
@@ -121,10 +121,6 @@ ifeq ($(strip $(RGB_MATRIX_SPLIT_RIGHT)), yes)
|
||||
OPT_DEFS += -DRGB_MATRIX_SPLIT_RIGHT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(Link_Time_Optimization)),yes)
|
||||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
|
||||
endif
|
||||
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
|
@@ -15,6 +15,7 @@ UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
||||
LTO_ENABLE = no # if firmware size over limit, try this option
|
||||
|
||||
define ZINC_CUSTOMISE_MSG
|
||||
$(info Zinc customize)
|
||||
@@ -33,7 +34,6 @@ LED_BOTH_ENABLE = no # LED backlight and underglow
|
||||
LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc
|
||||
LED_ANIMATIONS = yes # LED animations
|
||||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
|
||||
Link_Time_Optimization = no # if firmware size over limit, try this option
|
||||
|
||||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
|
||||
#### Do not enable these with audio at the same time.
|
||||
@@ -104,10 +104,6 @@ ifeq ($(strip $(LED_ANIMATIONS)), yes)
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(Link_Time_Optimization)),yes)
|
||||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
|
||||
endif
|
||||
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
|
@@ -15,6 +15,7 @@ UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
||||
LTO_ENABLE = no # if firmware size over limit, try this option
|
||||
|
||||
define ZINC_CUSTOMISE_MSG
|
||||
$(info Zinc customize)
|
||||
@@ -33,7 +34,6 @@ LED_BOTH_ENABLE = no # LED backlight and underglow
|
||||
LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc
|
||||
LED_ANIMATIONS = yes # LED animations
|
||||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
|
||||
Link_Time_Optimization = no # if firmware size over limit, try this option
|
||||
|
||||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
|
||||
#### Do not enable these with audio at the same time.
|
||||
@@ -104,10 +104,6 @@ ifeq ($(strip $(LED_ANIMATIONS)), yes)
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(Link_Time_Optimization)),yes)
|
||||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
|
||||
endif
|
||||
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
|
@@ -15,6 +15,7 @@ UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
||||
LTO_ENABLE = no # if firmware size over limit, try this option
|
||||
|
||||
define ZINC_CUSTOMISE_MSG
|
||||
$(info Zinc customize)
|
||||
@@ -36,7 +37,6 @@ RGB_MATRIX = no # RGB LED Matrix
|
||||
RGB_MATRIX_SPLIT_RIGHT = no # RGB Matrix for RIGHT Hand
|
||||
LED_ANIMATIONS = yes # LED animations
|
||||
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
|
||||
Link_Time_Optimization = no # if firmware size over limit, try this option
|
||||
|
||||
#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
|
||||
#### Do not enable these with audio at the same time.
|
||||
@@ -122,10 +122,6 @@ ifeq ($(strip $(RGB_MATRIX_SPLIT_RIGHT)), yes)
|
||||
OPT_DEFS += -DRGB_MATRIX_SPLIT_RIGHT
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(Link_Time_Optimization)),yes)
|
||||
EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
|
||||
endif
|
||||
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
|
@@ -88,6 +88,7 @@ endef
|
||||
MSG_AVAILABLE_KEYMAPS = $(eval $(call GENERATE_MSG_AVAILABLE_KEYMAPS))$(MSG_AVAILABLE_KEYMAPS_ACTUAL)
|
||||
|
||||
MSG_CHECK_FILESIZE = Checking file size of $(TARGET).$(FIRMWARE_FORMAT)
|
||||
MSG_CHECK_FILESIZE_SKIPPED = (Firmware size check does not yet support $(MCU_ORIG); skipping)
|
||||
MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT_SIZE)/$(MAX_SIZE) ($(OVER_SIZE) bytes over)\n
|
||||
MSG_FILE_TOO_SMALL = The firmware is too small! $(CURRENT_SIZE)/$(MAX_SIZE)\n
|
||||
MSG_FILE_JUST_RIGHT = The firmware size is fine - $(CURRENT_SIZE)/$(MAX_SIZE) ($(PERCENT_SIZE)%%, $(FREE_SIZE) bytes free)\n
|
||||
|
@@ -484,7 +484,7 @@ check-size:
|
||||
fi
|
||||
else
|
||||
check-size:
|
||||
$(SILENT) || echo "(Firmware size check does not yet support $(MCU) microprocessors; skipping.)"
|
||||
$(SILENT) || echo "$(MSG_CHECK_FILESIZE_SKIPPED)"
|
||||
endif
|
||||
|
||||
check-md5:
|
||||
|
@@ -392,6 +392,10 @@ void matrix_scan_user(void) {
|
||||
// end format functions
|
||||
|
||||
// start fancy functions
|
||||
SEQ_TWO_KEYS(KC_V, KC_P) {
|
||||
SEND_STRING("ggvG}x:set paste\ni");
|
||||
pri_mod_keystroke(KC_V);
|
||||
}
|
||||
SEQ_THREE_KEYS(KC_C, KC_C, KC_ENT) {
|
||||
surround_type(6, KC_GRAVE, false);
|
||||
pri_mod_keystroke(KC_V);
|
||||
|
@@ -104,7 +104,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#endif // IDLE_TIMEOUT_ENABLE
|
||||
|
||||
|
||||
#if defined(ENCODER_ENABLE) && defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality
|
||||
#ifdef ENCODER_ENABLE
|
||||
#ifndef DYNAMIC_KEYMAP_LAYER_COUNT
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 4 //default in case this is not already defined elsewhere
|
||||
#endif
|
||||
@@ -112,67 +112,86 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define ENCODER_DEFAULTACTIONS_INDEX 0 // can select encoder index if there are multiple encoders
|
||||
#endif
|
||||
|
||||
uint8_t selected_layer = 0;
|
||||
void encoder_action_volume(bool clockwise) {
|
||||
if (clockwise)
|
||||
tap_code(KC_VOLU);
|
||||
else
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
|
||||
__attribute__((weak)) bool encoder_update_keymap(uint8_t index, bool clockwise) { return true; }
|
||||
void encoder_action_mediatrack(bool clockwise) {
|
||||
if (clockwise)
|
||||
tap_code(KC_MEDIA_NEXT_TRACK);
|
||||
else
|
||||
tap_code(KC_MEDIA_PREV_TRACK);
|
||||
}
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (!encoder_update_keymap(index, clockwise)) { return false; }
|
||||
if (index != ENCODER_DEFAULTACTIONS_INDEX) {return true;} // exit if the index doesn't match
|
||||
if ( clockwise ) {
|
||||
if (keyboard_report->mods & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, encoder changes layers
|
||||
if(selected_layer < (DYNAMIC_KEYMAP_LAYER_COUNT - 1)) {
|
||||
selected_layer ++;
|
||||
layer_move(selected_layer);
|
||||
}
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, Page up
|
||||
unregister_mods(MOD_BIT(KC_RSFT));
|
||||
register_code(KC_PGDN);
|
||||
register_mods(MOD_BIT(KC_RSFT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next word
|
||||
tap_code16(LCTL(KC_RGHT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next track
|
||||
tap_code(KC_MEDIA_NEXT_TRACK);
|
||||
} else {
|
||||
switch (selected_layer) {
|
||||
case _FN1:
|
||||
#ifdef IDLE_TIMEOUT_ENABLE
|
||||
timeout_update_threshold(true);
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
tap_code(KC_VOLU); // Otherwise it just changes volume
|
||||
break;
|
||||
}
|
||||
void encoder_action_navword(bool clockwise) {
|
||||
if (clockwise)
|
||||
tap_code16(LCTL(KC_RGHT));
|
||||
else
|
||||
tap_code16(LCTL(KC_LEFT));
|
||||
}
|
||||
|
||||
void encoder_action_navpage(bool clockwise) {
|
||||
if (clockwise)
|
||||
tap_code16(KC_PGUP);
|
||||
else
|
||||
tap_code16(KC_PGDN);
|
||||
}
|
||||
|
||||
// LAYER HANDLING
|
||||
uint8_t selected_layer = 0;
|
||||
|
||||
uint8_t get_selected_layer(void) {
|
||||
return selected_layer;
|
||||
}
|
||||
|
||||
void encoder_action_layerchange(bool clockwise) {
|
||||
if (clockwise) {
|
||||
if(selected_layer < (DYNAMIC_KEYMAP_LAYER_COUNT - 1)) {
|
||||
selected_layer ++;
|
||||
layer_move(selected_layer);
|
||||
}
|
||||
} else {
|
||||
if (keyboard_report->mods & MOD_BIT(KC_LSFT) ) {
|
||||
if (selected_layer > 0) {
|
||||
selected_layer --;
|
||||
layer_move(selected_layer);
|
||||
}
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_RSFT) ) {
|
||||
unregister_mods(MOD_BIT(KC_RSFT));
|
||||
register_code(KC_PGUP);
|
||||
register_mods(MOD_BIT(KC_RSFT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate previous word
|
||||
tap_code16(LCTL(KC_LEFT));
|
||||
} else if (keyboard_report->mods & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media previous track
|
||||
tap_code(KC_MEDIA_PREV_TRACK);
|
||||
} else {
|
||||
switch (selected_layer) {
|
||||
case _FN1:
|
||||
#ifdef IDLE_TIMEOUT_ENABLE
|
||||
timeout_update_threshold(false);
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
tap_code(KC_VOLD);
|
||||
break;
|
||||
}
|
||||
if (selected_layer > 0) {
|
||||
selected_layer --;
|
||||
layer_move(selected_layer);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // ENCODER_ENABLE
|
||||
|
||||
#if defined(ENCODER_ENABLE) && defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality
|
||||
|
||||
__attribute__((weak)) bool encoder_update_keymap(uint8_t index, bool clockwise) { return true; }
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (!encoder_update_keymap(index, clockwise)) { return false; }
|
||||
if (index != ENCODER_DEFAULTACTIONS_INDEX) {return true;} // exit if the index doesn't match
|
||||
uint8_t mods_state = get_mods();
|
||||
if (mods_state & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, encoder changes layers
|
||||
encoder_action_layerchange(clockwise);
|
||||
} else if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, Page up/dn
|
||||
unregister_mods(MOD_BIT(KC_RSFT));
|
||||
encoder_action_navpage(clockwise);
|
||||
register_mods(MOD_BIT(KC_RSFT));
|
||||
} else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word
|
||||
encoder_action_navword(clockwise);
|
||||
} else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track
|
||||
encoder_action_mediatrack(clockwise);
|
||||
} else {
|
||||
switch(get_highest_layer(layer_state)) {
|
||||
case _FN1:
|
||||
#ifdef IDLE_TIMEOUT_ENABLE
|
||||
timeout_update_threshold(clockwise);
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
encoder_action_volume(clockwise); // Otherwise it just changes volume
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif // ENCODER_ENABLE
|
||||
|
@@ -58,6 +58,18 @@ enum custom_user_keycodes {
|
||||
#endif // TD_LSFT_CAPSLOCK_ENABLE
|
||||
|
||||
|
||||
// ENCODER ACTIONS
|
||||
#ifdef ENCODER_ENABLE
|
||||
void encoder_action_volume(bool clockwise);
|
||||
void encoder_action_mediatrack(bool clockwise);
|
||||
void encoder_action_navword(bool clockwise);
|
||||
void encoder_action_navpage(bool clockwise);
|
||||
|
||||
uint8_t get_selected_layer(void);
|
||||
void encoder_action_layerchange(bool clockwise);
|
||||
#endif // ENCODER_ENABLE
|
||||
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
//RGB custom colours
|
||||
#define RGB_GODSPEED 0x00, 0xE4, 0xFF // colour for matching keycaps
|
||||
|
@@ -65,11 +65,10 @@ KEYMAP LEVEL ADDITIONAL PROCESSING FUNCTIONS
|
||||
void keyboard_post_init_keymap(void)
|
||||
|
||||
LIST OF COMPATIBLE KEYMAPS
|
||||
- gmmk/pro
|
||||
- gmmk/pro/ansi
|
||||
- keebio/quefrency/rev3
|
||||
- mechwild/mercutio
|
||||
- mechwild/murphpad (*)
|
||||
- mechwild/murphpad
|
||||
- mechwild/OBE (*)
|
||||
- nopunin10did/kastenwagen (*)
|
||||
|
||||
|
Reference in New Issue
Block a user