Compare commits

..

17 Commits

Author SHA1 Message Date
fauxpark
ba264c69c2 [Keyboard] Cospad refactor (#7957)
* Cospad refactor

* Add num lock indicator code

* Add led_init_ports()

* Revert change to matrix position blanks

* Define BACKLIGHT_ON_STATE explicitly, in anticipation of PR6749
2020-01-21 18:21:47 -08:00
Joel Challis
8e500c3670 Align cformat rules with current CI implementation (#7936)
* Align cformat rules with current CI implementation

* Optimise file walking
2020-01-21 18:21:14 -08:00
Rossman360
bf4611c7b7 [Keymap] adding personal rebound keymap (#7956) 2020-01-21 18:18:18 -08:00
yiancar
f773056750 [Keyboard] HS60 Refactor (Keymap restructure to be more standardized) (#7847)
* Keymap restructure to be more standardized

* made bootmagic lite default

* Dividing keymaps

* Update keyboards/hs60/v2/v2.c
2020-01-21 15:09:50 -08:00
Wilba
b70500806a [Keyboard] Added WT60-B, WT60-BX (wilba.tech THERMAL) (#7948)
* Added WT60-B, WT60-BX

* Review changes
2020-01-21 13:28:12 -08:00
MechMerlin
9b6b54cdaa [Keyboard] Think 6.5 Soldered Matrix Fix (#7952)
* both backspace and left shift matrix positions off by one

* update the led_update routine

* update readme

* Update keyboards/gray_studio/think65/solder/solder.c
2020-01-21 13:26:00 -08:00
dsanchezseco
37db6012a7 keymap, fixed rgb effect name and deactivate oled (#7953)
* added rgblight controls to planck keymap

* fixed knight ridder offset to face me

* no oled for crkbd 'till fixed

* fixed RGB effect name
2020-01-21 09:12:07 -08:00
Dmitrijs Minajevs
6f176dfc7c Add VIA support to DZ60 (#7814)
* Add DZ60 to VIA

* Changed vendor id from 'KF' to 'DZ'

* Capitalize hex

* Fix Via_layout_options size setting

* Update keyboards/dz60/keymaps/via/rules.mk

Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-01-21 07:48:13 -08:00
QMK Bot
dee1d68dde format code according to conventions [skip ci] 2020-01-21 14:48:06 +00:00
fauxpark
123ae73efc Fix lock LEDs for ChibiOS when using shared endpoints (#7877)
* Fix lock LEDs for ChibiOS when using shared endpoints

* Tweak comments

* Doesn't need to be uint16 anymore
2020-01-21 14:17:33 +00:00
fauxpark
2566992c9a Add DIODE_DIRECTION to Getta25 (#7951) 2020-01-21 14:07:53 +00:00
Alfred Maler
5f35203d1b [Keymap] Feature/preonic/rev3/alfrdmalr (#7870)
* WIP do not merge

* first pass at custom preonic layout

* add auto shift and reset via leader key

* Update readme

* update copyright notice

* formatting changes

* fix: use MO instead of process_record_user

* added backslash and moved grave position

* remove extraneous 'j' characer in NUMPAD template

* update template formatting

* remove process_record_user

* swap "!" with "@"

* fix readme formatting

* update readme layout image
2020-01-20 23:01:09 -08:00
Salicylic-acid3
c23b73530f [Keyboard] Add keyboard Getta25 (#7497)
* [Keyboard] Add keyboard Getta25

Add Getta25 keyboard.

A 25 keys Tenkey.
Salicylic-acid3

* Update keyboards/getta25/info.json

* Update keyboards/getta25/readme.md

* Update keyboards/getta25/readme.md

* Update keyboards/getta25/readme.md

* Update keyboards/getta25/info.json

* Update keyboards/getta25/info.json

* Update keyboards/getta25/info.json

* Update keyboards/getta25/info.json

* Update keyboards/getta25/keymaps/oled/glcdfont.c

* Update keyboards/getta25/keymaps/oled/glcdfont.c

* Keymap Update

Remove unnecessary code blocks

* Update keyboards/getta25/keymaps/oled/keymap.c

* Update keyboards/getta25/keymaps/oled/keymap.c

* Update keyboards/getta25/keymaps/oled/keymap.c
2020-01-20 14:40:33 -08:00
clovervidia
61dbb92679 Invert Num Lock LED state (#7945) 2020-01-20 10:49:15 -08:00
QMK Bot
e3d59a72f9 format code according to conventions [skip ci] 2020-01-20 18:48:28 +00:00
Wilba
484a9b12bc Add VIA support for QMK backlight, QMK RGBLight (#7911)
* Add VIA support for QMK backlight, QMK RGBLight

* clang-format changes
2020-01-20 10:18:25 -08:00
Akaash Suresh
ce81c4f89b curry layout (#7943) 2020-01-20 11:59:55 -05:00
155 changed files with 4012 additions and 2130 deletions

View File

@@ -62,6 +62,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE
// Let VIA handle the QMK RGBLIGHT
#define VIA_QMK_RGBLIGHT_ENABLE
/*
* Feature disable options
* These options are also useful to firmware size reduction.

View File

@@ -62,6 +62,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE
// Let VIA handle the QMK RGBLIGHT
#define VIA_QMK_RGBLIGHT_ENABLE
/*
* Feature disable options
* These options are also useful to firmware size reduction.

View File

@@ -54,6 +54,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE
/*
* Feature disable options
* These options are also useful to firmware size reduction.

View File

@@ -73,6 +73,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// 6 for 3x custom encoder settings, left, right, and press (18 bytes)
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 21
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE
/*
* Feature disable options
* These options are also useful to firmware size reduction.

View File

@@ -3,3 +3,5 @@
void backlight_task(void);
void breathing_interrupt_disable(void);
void breathing_interrupt_enable(void);
void breathing_enable(void);
void breathing_disable(void);

View File

@@ -55,6 +55,54 @@ backlight_config_t kb_backlight_config = {
};
#ifdef VIA_ENABLE
void backlight_get_value( uint8_t *data )
{
uint8_t *value_id = &(data[0]);
uint8_t *value_data = &(data[1]);
switch (*value_id)
{
case id_qmk_backlight_brightness:
{
// level / BACKLIGHT_LEVELS * 255
value_data[0] = ((uint16_t)kb_backlight_config.level) * 255 / BACKLIGHT_LEVELS;
break;
}
case id_qmk_backlight_effect:
{
value_data[0] = kb_backlight_config.breathing ? 1 : 0;
break;
}
}
}
void backlight_set_value( uint8_t *data )
{
uint8_t *value_id = &(data[0]);
uint8_t *value_data = &(data[1]);
switch (*value_id)
{
case id_qmk_backlight_brightness:
{
// level / 255 * BACKLIGHT_LEVELS
kb_backlight_config.level = ((uint16_t)value_data[0]) * BACKLIGHT_LEVELS / 255;
backlight_set(kb_backlight_config.level);
break;
}
case id_qmk_backlight_effect:
{
if ( value_data[0] == 0 ) {
kb_backlight_config.breathing = false;
breathing_disable();
} else {
kb_backlight_config.breathing = true;
breathing_enable();
}
break;
}
}
}
void raw_hid_receive_kb( uint8_t *data, uint8_t length )
{
uint8_t *command_id = &(data[0]);
@@ -139,6 +187,21 @@ void raw_hid_receive_kb( uint8_t *data, uint8_t length )
}
break;
}
case id_lighting_set_value:
{
backlight_set_value(command_data);
break;
}
case id_lighting_get_value:
{
backlight_get_value(command_data);
break;
}
case id_lighting_save:
{
backlight_config_save();
break;
}
default:
{
// Unhandled message.

View File

@@ -62,6 +62,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE
// Let VIA handle the QMK RGBLIGHT
#define VIA_QMK_RGBLIGHT_ENABLE
/*
* Feature disable options
* These options are also useful to firmware size reduction.

View File

@@ -126,8 +126,86 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return process_record_user(keycode, record);;
}
#ifdef VIA_ENABLE
void backlight_get_value( uint8_t *data )
{
uint8_t *value_id = &(data[0]);
uint8_t *value_data = &(data[1]);
switch (*value_id)
{
case id_qmk_backlight_brightness:
{
// level / BACKLIGHT_LEVELS * 255
value_data[0] = ((uint16_t)kb_backlight_config.level) * 255 / BACKLIGHT_LEVELS;
break;
}
case id_qmk_backlight_effect:
{
value_data[0] = kb_backlight_config.breathing ? 1 : 0;
break;
}
}
}
void backlight_set_value( uint8_t *data )
{
uint8_t *value_id = &(data[0]);
uint8_t *value_data = &(data[1]);
switch (*value_id)
{
case id_qmk_backlight_brightness:
{
// level / 255 * BACKLIGHT_LEVELS
kb_backlight_config.level = ((uint16_t)value_data[0]) * BACKLIGHT_LEVELS / 255;
backlight_set(kb_backlight_config.level);
break;
}
case id_qmk_backlight_effect:
{
if ( value_data[0] == 0 ) {
kb_backlight_config.breathing = false;
breathing_disable();
} else {
kb_backlight_config.breathing = true;
breathing_enable();
}
break;
}
}
}
void raw_hid_receive_kb( uint8_t *data, uint8_t length )
{
uint8_t *command_id = &(data[0]);
uint8_t *command_data = &(data[1]);
switch ( *command_id )
{
case id_lighting_set_value:
{
backlight_set_value(command_data);
break;
}
case id_lighting_get_value:
{
backlight_get_value(command_data);
break;
}
case id_lighting_save:
{
backlight_config_save();
break;
}
default:
{
// Unhandled message.
*command_id = id_unhandled;
break;
}
}
// DO NOT call raw_hid_send(data,length) here, let caller do this
}
#endif
//
// In the case of VIA being disabled, we still need to check if

View File

@@ -4,3 +4,5 @@ void backlight_task(void);
void breathing_interrupt_disable(void);
void breathing_interrupt_enable(void);
void breathing_toggle(void);
void breathing_enable(void);
void breathing_disable(void);

View File

@@ -62,6 +62,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE
// Let VIA handle the QMK RGBLIGHT
#define VIA_QMK_RGBLIGHT_ENABLE
/*
* Feature disable options
* These options are also useful to firmware size reduction.

View File

@@ -1,5 +1,5 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2020
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
@@ -21,11 +21,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x6060
#define PRODUCT_ID 0xB1E5
#define DEVICE_VER 0x0001
#define MANUFACTURER KPREPUBLIC
#define PRODUCT COSPAD
#define DESCRIPTION QMK keyboard firmware for COSPAD
#define MANUFACTURER KPrepublic
#define PRODUCT Cospad
#define DESCRIPTION 6x4 numpad with underglow and backlighting
/* key matrix size */
#define MATRIX_ROWS 6
@@ -40,22 +40,51 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
*/
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D4, D5 }
#define MATRIX_COL_PINS { F0, F1, E6, C7 }
#define UNUSED_PINS
/* COL2ROW or ROW2COL */
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Backlight configuration */
#define BACKLIGHT_PIN F7
#define BACKLIGHT_LEVELS 1
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
#define BACKLIGHT_PIN F7
// #define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 3
#define BACKLIGHT_ON_STATE 0
/* Underlight configuration */
#define RGB_DI_PIN F6
#define RGBLED_NUM 4
#define RGBLIGHT_ANIMATIONS
#ifdef RGB_DI_PIN
#define RGBLED_NUM 4
// #define RGBLIGHT_HUE_STEP 8
// #define RGBLIGHT_SAT_STEP 8
// #define RGBLIGHT_VAL_STEP 8
// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
// /*== all animations enable ==*/
#define RGBLIGHT_ANIMATIONS
// /*== or choose animations ==*/
// #define RGBLIGHT_EFFECT_BREATHING
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
// #define RGBLIGHT_EFFECT_SNAKE
// #define RGBLIGHT_EFFECT_KNIGHT
// #define RGBLIGHT_EFFECT_CHRISTMAS
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
// #define RGBLIGHT_EFFECT_RGB_TEST
// #define RGBLIGHT_EFFECT_ALTERNATING
// /*== customize breathing effect ==*/
// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
// /*==== use exp() and sin() ====*/
// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
#endif
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
@@ -64,10 +93,89 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define MATRIX_HAS_GHOST
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
//#define LOCKING_SUPPORT_ENABLE
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
*/
// #define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* Magic Key Options
*
* Magic keys are hotkey commands that allow control over firmware functions of
* the keyboard. They are best used in combination with the HID Listen program,
* found here: https://www.pjrc.com/teensy/hid_listen.html
*
* The options below allow the magic key functionality to be changed. This is
* useful if your keyboard/keypad is missing keys and you want magic key support.
*
*/
/* key combination for magic key command */
/* defined by default; to change, uncomment and set to the combination you want */
// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
/* override magic key keymap */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
//#define MAGIC_KEY_HELP H
//#define MAGIC_KEY_HELP_ALT SLASH
//#define MAGIC_KEY_DEBUG D
//#define MAGIC_KEY_DEBUG_MATRIX X
//#define MAGIC_KEY_DEBUG_KBD K
//#define MAGIC_KEY_DEBUG_MOUSE M
//#define MAGIC_KEY_VERSION V
//#define MAGIC_KEY_STATUS S
//#define MAGIC_KEY_CONSOLE C
//#define MAGIC_KEY_LAYER0 0
//#define MAGIC_KEY_LAYER0_ALT GRAVE
//#define MAGIC_KEY_LAYER1 1
//#define MAGIC_KEY_LAYER2 2
//#define MAGIC_KEY_LAYER3 3
//#define MAGIC_KEY_LAYER4 4
//#define MAGIC_KEY_LAYER5 5
//#define MAGIC_KEY_LAYER6 6
//#define MAGIC_KEY_LAYER7 7
//#define MAGIC_KEY_LAYER8 8
//#define MAGIC_KEY_LAYER9 9
//#define MAGIC_KEY_BOOTLOADER B
//#define MAGIC_KEY_BOOTLOADER_ALT ESC
//#define MAGIC_KEY_LOCK CAPS
//#define MAGIC_KEY_EEPROM E
//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
//#define MAGIC_KEY_NKRO N
//#define MAGIC_KEY_SLEEP_LED Z
/*
* Feature disable options
* These options are also useful to firmware size reduction.
@@ -83,8 +191,62 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
/* disable these deprecated features by default */
#ifndef LINK_TIME_OPTIMIZATION_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
/*
* MIDI options
*/
/* Prevent use of disabled MIDI features in the keymap */
//#define MIDI_ENABLE_STRICT 1
/* enable basic MIDI features:
- MIDI notes can be sent when in Music mode is on
*/
//#define MIDI_BASIC
/* enable advanced MIDI features:
- MIDI notes can be added to the keymap
- Octave shift and transpose
- Virtual sustain, portamento, and modulation wheel
- etc.
*/
//#define MIDI_ADVANCED
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 1
/*
* HD44780 LCD Display Configuration
*/
/*
#define LCD_LINES 2 //< number of visible lines of the display
#define LCD_DISP_LENGTH 16 //< visibles characters per line of the display
#define LCD_IO_MODE 1 //< 0: memory mapped mode, 1: IO port mode
#if LCD_IO_MODE
#define LCD_PORT PORTB //< port for the LCD lines
#define LCD_DATA0_PORT LCD_PORT //< port for 4bit data bit 0
#define LCD_DATA1_PORT LCD_PORT //< port for 4bit data bit 1
#define LCD_DATA2_PORT LCD_PORT //< port for 4bit data bit 2
#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3
#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0
#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1
#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2
#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3
#define LCD_RS_PORT LCD_PORT //< port for RS line
#define LCD_RS_PIN 3 //< pin for RS line
#define LCD_RW_PORT LCD_PORT //< port for RW line
#define LCD_RW_PIN 2 //< pin for RW line
#define LCD_E_PORT LCD_PORT //< port for Enable line
#define LCD_E_PIN 1 //< pin for Enable line
#endif
*/
/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0

View File

@@ -1,5 +1,4 @@
/* Copyright 2019
/* Copyright 2020
*
* 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
@@ -16,18 +15,18 @@
*/
#include "cospad.h"
#ifdef BACKLIGHT_ENABLE
void backlight_init_ports(void) {
setPinOutput(F7);
void keyboard_pre_init_kb(void) {
led_init_ports();
keyboard_pre_init_user();
}
void backlight_set(uint8_t level) {
writePin(F7, !!level);
void led_init_ports(void) {
setPinOutput(B2);
}
void backlight_task(void) {
// do nothing - as default implementation of software PWM does not work
bool led_update_kb(led_t led_state) {
if (led_update_user(led_state)) {
writePin(B2, !led_state.num_lock);
}
return true;
}
#endif //BACKLIGHT_ENABLE

View File

@@ -1,5 +1,4 @@
/* Copyright 2019
/* Copyright 2020
*
* 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
@@ -14,12 +13,14 @@
* 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 ___ KC_NO
/* This a shortcut to help you visually see your layout.
/* 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.
@@ -28,100 +29,100 @@
* represents the switch matrix.
*/
/* COSPAD ortho matrix layout
* ,-------------------.
* | 00 | 01 | 02 | 03 |
* |----|----|----|----|
* | 10 | 11 | 12 | 13 |
* |----|----|----|----|
* | 20 | 21 | 22 | 23 |
* |----|----|----|----|
* | 30 | 31 | 32 | 33 |
* |----|----|----|----|
* | 40 | 41 | 42 | 43 |
* |----|----|----|----|
* | 50 | 51 | 52 | 53 |
* `-------------------'
/* 6x4 ortholinear layout
* ,-------------------.
* | 00 | 01 | 02 | 03 |
* |----|----|----|----|
* | 10 | 11 | 12 | 13 |
* |----|----|----|----|
* | 20 | 21 | 22 | 23 |
* |----|----|----|----|
* | 30 | 31 | 32 | 33 |
* |----|----|----|----|
* | 40 | 41 | 42 | 43 |
* |----|----|----|----|
* | 50 | 51 | 52 | 53 |
* `-------------------'
*/
#define LAYOUT_ortho_6x4( \
k00, k01, k02, k03, \
k10, k11, k12, k13, \
k20, k21, k22, k23, \
k30, k31, k32, k33, \
k40, k41, k42, k43, \
k50, k51, k52, k53 \
k00, k01, k02, k03, \
k10, k11, k12, k13, \
k20, k21, k22, k23, \
k30, k31, k32, k33, \
k40, k41, k42, k43, \
k50, k51, k52, k53 \
) \
{ \
{k00, k01, k02, k03}, \
{k10, k11, k12, k13}, \
{k20, k21, k22, k23}, \
{k30, k31, k32, k33}, \
{k40, k41, k42, k43}, \
{k50, k51, k52, k53} \
{ k00, k01, k02, k03 }, \
{ k10, k11, k12, k13 }, \
{ k20, k21, k22, k23 }, \
{ k30, k31, k32, k33 }, \
{ k40, k41, k42, k43 }, \
{ k50, k51, k52, k53 } \
}
/* COSPAD gamepad matrix layout
* ,-------------------.
* | 00 | 01 | 02 | 03 |
* |----|----|----|----|
* | 10 | 11 | 12 | 13 |
* |----|----|----|----|
* | 20 | 21 | 22 | |
* |----|----|----| 23 |
* | 30 | 31 | 32 | |
* |----|----|----|----|
* | 40 | 41 | 42 | 43 |
* |----|----|----|----|
* | 50 | 51 | 52 | 53 |
* `-------------------'
/* 6x4 gamepad layout
* ,-------------------.
* | 00 | 01 | 02 | 03 |
* |----|----|----|----|
* | 10 | 11 | 12 | 13 |
* |----|----|----|----|
* | 20 | 21 | 22 | |
* |----|----|----| 23 |
* | 30 | 31 | 32 | |
* |----|----|----|----|
* | 40 | 41 | 42 | 43 |
* |----|----|----|----|
* | 50 | 51 | 52 | 53 |
* `-------------------'
*/
#define LAYOUT_gamepad_6x4( \
k00, k01, k02, k03, \
k10, k11, k12, k13, \
k20, k21, k22, \
k30, k31, k32, k23, \
k40, k41, k42, k43, \
k50, k51, k52, k53 \
k00, k01, k02, k03, \
k10, k11, k12, k13, \
k20, k21, k22, \
k30, k31, k32, k23, \
k40, k41, k42, k43, \
k50, k51, k52, k53 \
) \
{ \
{k00, k01, k02, k03}, \
{k10, k11, k12, k13}, \
{k20, k21, k22, k23}, \
{k30, k31, k32, ___}, \
{k40, k41, k42, k43}, \
{k50, k51, k52, k53} \
{ k00, k01, k02, k03 }, \
{ k10, k11, k12, k13 }, \
{ k20, k21, k22, k23 }, \
{ k30, k31, k32, ___ }, \
{ k40, k41, k42, k43 }, \
{ k50, k51, k52, k53 } \
}
/* COSPAD numpad matrix layout
* ,-------------------.
* | 00 | 01 | 02 | 03 |
* |----|----|----|----|
* | 10 | 11 | 12 | 13 |
* |----|----|----|----|
* | 20 | 21 | 22 | |
* |----|----|----| 23 |
* | 30 | 31 | 32 | |
* |----|----|----|----|
* | 40 | 41 | 42 | |
* |----|----|----| 43 |
* | 50 | 52 | |
* `-------------------'
/* 6x4 numpad layout
* ,-------------------.
* | 00 | 01 | 02 | 03 |
* |----|----|----|----|
* | 10 | 11 | 12 | 13 |
* |----|----|----|----|
* | 20 | 21 | 22 | |
* |----|----|----| 23 |
* | 30 | 31 | 32 | |
* |----|----|----|----|
* | 40 | 41 | 42 | |
* |----|----|----| 43 |
* | 50 | 52 | |
* `-------------------'
*/
#define LAYOUT_numpad_6x4( \
k00, k01, k02, k03, \
k10, k11, k12, k13, \
k20, k21, k22, \
k30, k31, k32, k23, \
k40, k41, k42, \
k50, k52, k43 \
k00, k01, k02, k03, \
k10, k11, k12, k13, \
k20, k21, k22, \
k30, k31, k32, k23, \
k40, k41, k42, \
k50, k52, k43 \
) \
{ \
{k00, k01, k02, k03}, \
{k10, k11, k12, k13}, \
{k20, k21, k22, k23}, \
{k30, k31, k32, ___}, \
{k40, k41, k42, k43}, \
{k50, ___, k52, ___} \
{ k00, k01, k02, k03 }, \
{ k10, k11, k12, k13 }, \
{ k20, k21, k22, k23 }, \
{ k30, k31, k32, ___ }, \
{ k40, k41, k42, k43 }, \
{ k50, ___, k52, ___ } \
}
// Add backwards compatibility for existing keymaps

View File

@@ -1,95 +1,107 @@
{
"keyboard_name": "Cospad",
"keyboard_folder": "cospad",
"url": "",
"maintainer": "qmk",
"width": 4,
"height": 6,
"layouts": {
"LAYOUT_numpad_6x4": {
"key_count": 21,
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"Tab", "x":1, "y":0},
{"label":"Fn", "x":2, "y":0},
{"label":"Back", "x":3, "y":0},
{"label":"Num Lock", "x":0, "y":1},
{"label":"/", "x":1, "y":1},
{"label":"*", "x":2, "y":1},
{"label":"-", "x":3, "y":1},
{"label":"7", "x":0, "y":2},
{"label":"8", "x":1, "y":2},
{"label":"9", "x":2, "y":2},
{"label":"4", "x":0, "y":3},
{"label":"5", "x":1, "y":3},
{"label":"6", "x":2, "y":3},
{"label":"+", "x":3, "y":2, "h":2},
{"label":"1", "x":0, "y":4},
{"label":"2", "x":1, "y":4},
{"label":"3", "x":2, "y":4},
{"label":"0", "x":0, "y":5, "w":2},
{"label":".", "x":2, "y":5},
{"label":"Enter", "x":3, "y":4, "h":2}
]
},
"keyboard_name": "Cospad",
"url": "",
"maintainer": "qmk",
"width": 4,
"height": 6,
"layouts": {
"LAYOUT_numpad_6x4": {
"key_count": 21,
"layout": [
{"x":0, "y":0},
{"x":1, "y":0},
{"x":2, "y":0},
{"x":3, "y":0},
"LAYOUT_gamepad_6x4": {
"key_count": 23,
"layout": [
{"label":"k00", "x":0, "y":0},
{"label":"k01", "x":1, "y":0},
{"label":"k02", "x":2, "y":0},
{"label":"k03", "x":3, "y":0},
{"label":"k10", "x":0, "y":1},
{"label":"k11", "x":1, "y":1},
{"label":"k12", "x":2, "y":1},
{"label":"k13", "x":3, "y":1},
{"label":"k20", "x":0, "y":2},
{"label":"k21", "x":1, "y":2},
{"label":"k22", "x":2, "y":2},
{"label":"k30", "x":0, "y":3},
{"label":"k31", "x":1, "y":3},
{"label":"k32", "x":2, "y":3},
{"label":"k23", "x":3, "y":2, "h":2},
{"label":"k40", "x":0, "y":4},
{"label":"k41", "x":1, "y":4},
{"label":"k42", "x":2, "y":4},
{"label":"k43", "x":3, "y":4},
{"label":"k50", "x":0, "y":5},
{"label":"k51", "x":1, "y":5},
{"label":"k52", "x":2, "y":5},
{"label":"k53", "x":3, "y":5}
]
},
{"x":0, "y":1},
{"x":1, "y":1},
{"x":2, "y":1},
{"x":3, "y":1},
"LAYOUT_ortho_6x4": {
"key_count": 24,
"layout": [
{"label":"k00", "x":0, "y":0},
{"label":"k01", "x":1, "y":0},
{"label":"k02", "x":2, "y":0},
{"label":"k03", "x":3, "y":0},
{"label":"k10", "x":0, "y":1},
{"label":"k11", "x":1, "y":1},
{"label":"k12", "x":2, "y":1},
{"label":"k13", "x":3, "y":1},
{"label":"k20", "x":0, "y":2},
{"label":"k21", "x":1, "y":2},
{"label":"k22", "x":2, "y":2},
{"label":"k23", "x":3, "y":2},
{"label":"k30", "x":0, "y":3},
{"label":"k31", "x":1, "y":3},
{"label":"k32", "x":2, "y":3},
{"label":"k33", "x":3, "y":3},
{"label":"k40", "x":0, "y":4},
{"label":"k41", "x":1, "y":4},
{"label":"k42", "x":2, "y":4},
{"label":"k43", "x":3, "y":4},
{"label":"k50", "x":0, "y":5},
{"label":"k51", "x":1, "y":5},
{"label":"k52", "x":2, "y":5},
{"label":"k53", "x":3, "y":5}
]
{"x":0, "y":2},
{"x":1, "y":2},
{"x":2, "y":2},
{"x":0, "y":3},
{"x":1, "y":3},
{"x":2, "y":3},
{"x":3, "y":2, "h":2},
{"x":0, "y":4},
{"x":1, "y":4},
{"x":2, "y":4},
{"x":0, "y":5, "w":2},
{"x":2, "y":5},
{"x":3, "y":4, "h":2}
]
},
"LAYOUT_gamepad_6x4": {
"key_count": 23,
"layout": [
{"x":0, "y":0},
{"x":1, "y":0},
{"x":2, "y":0},
{"x":3, "y":0},
{"x":0, "y":1},
{"x":1, "y":1},
{"x":2, "y":1},
{"x":3, "y":1},
{"x":0, "y":2},
{"x":1, "y":2},
{"x":2, "y":2},
{"x":0, "y":3},
{"x":1, "y":3},
{"x":2, "y":3},
{"x":3, "y":2, "h":2},
{"x":0, "y":4},
{"x":1, "y":4},
{"x":2, "y":4},
{"x":3, "y":4},
{"x":0, "y":5},
{"x":1, "y":5},
{"x":2, "y":5},
{"x":3, "y":5}
]
},
"LAYOUT_ortho_6x4": {
"key_count": 24,
"layout": [
{"x":0, "y":0},
{"x":1, "y":0},
{"x":2, "y":0},
{"x":3, "y":0},
{"x":0, "y":1},
{"x":1, "y":1},
{"x":2, "y":1},
{"x":3, "y":1},
{"x":0, "y":2},
{"x":1, "y":2},
{"x":2, "y":2},
{"x":3, "y":2},
{"x":0, "y":3},
{"x":1, "y":3},
{"x":2, "y":3},
{"x":3, "y":3},
{"x":0, "y":4},
{"x":1, "y":4},
{"x":2, "y":4},
{"x":3, "y":4},
{"x":0, "y":5},
{"x":1, "y":5},
{"x":2, "y":5},
{"x":3, "y":5}
]
}
}
}
}

View File

@@ -1,60 +1,57 @@
#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 = 0,
_FL
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BL,
_FL
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _BL: (Base Layer) Default Layer
* ,-------------------.
* |Esc |TAB | FN | BS |
* |----|----|----|----|
* | NL | / | * | - |
* |----|----|----|----|
* | 7 | 8 | 9 | |
* |----|----|----| + |
* | 4 | 5 | 6 | |
* |----|----|----|----|
* | 1 | 2 | 3 | |
* |----|----|----| En |
* | 0 | . | |
* `-------------------'
*/
[_BL] = LAYOUT_numpad_6x4(
KC_ESC, KC_TAB, MO(_FL), KC_BSPC, \
KC_NLCK, KC_PSLS, KC_PAST, 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_PDOT, KC_PENT
),
/* Keymap _BL: (Base Layer) Default Layer
* ,-------------------.
* |Esc |TAB | FN | BS |
* |----|----|----|----|
* | NL | / | * | - |
* |----|----|----|----|
* | 7 | 8 | 9 | |
* |----|----|----| + |
* | 4 | 5 | 6 | |
* |----|----|----|----|
* | 1 | 2 | 3 | |
* |----|----|----| En |
* | 0 | . | |
* `-------------------'
*/
[_BL] = LAYOUT_numpad_6x4(
KC_ESC, KC_TAB, MO(_FL), KC_BSPC,
KC_NLCK, KC_PSLS, KC_PAST, 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_PDOT, KC_PENT
),
/* Keymap _FL: Function Layer
* ,-------------------.
* |RGBT| | | |
* |----|----|----|----|
* |RGBM|RGBP|BTOG| |
* |----|----|----|----|
* |HUD |HUI |BON | |
* |----|----|----| |
* |SAD |SAI |BOFF| |
* |----|----|----|----|
* |VAD |VAS |BSTP| |
* |----|----|----| |
* | |RST | |
* `-------------------'
*/
[_FL] = LAYOUT_numpad_6x4(
RGB_TOG, _______, _______, _______, \
RGB_MOD, RGB_M_P, BL_TOGG, _______, \
RGB_HUD, RGB_HUI, BL_ON, \
RGB_SAD, RGB_SAI, BL_OFF, _______, \
RGB_VAD, RGB_VAI, BL_STEP, \
_______, RESET, _______
),
/* Keymap _FL: Function Layer
* ,-------------------.
* |RGBT| | | |
* |----|----|----|----|
* |RGBM|RGBP|BTOG| |
* |----|----|----|----|
* |HUD |HUI |BON | |
* |----|----|----| |
* |SAD |SAI |BOFF| |
* |----|----|----|----|
* |VAD |VAS |BSTP| |
* |----|----|----| |
* | |RST | |
* `-------------------'
*/
[_FL] = LAYOUT_numpad_6x4(
RGB_TOG, _______, _______, _______,
RGB_MOD, RGB_M_P, BL_TOGG, _______,
RGB_HUD, RGB_HUI, BL_ON,
RGB_SAD, RGB_SAI, BL_OFF, _______,
RGB_VAD, RGB_VAI, BL_STEP,
_______, RESET, _______
)
};

View File

@@ -1,18 +1,15 @@
COSPAD
===
# Cospad
A DIY Keypad Kit sold by KPRepublic, runs TKG natively.
A DIY keypad kit sold by KPRepublic, runs TKG natively.
Keyboard Maintainer: QMK Community
Hardware Supported: COSPAD
Hardware Availability: [KPrepublic on Aliexpress](https://aliexpress.com/item/cospad-Custom-Mechanical-Keyboard-Kit-up-tp-24-keys-Supports-TKG-TOOLS-Underglow-RGB-PCB-20/32818383873.html)
Only supports on and off for the backlight leds, as they are not connected to a PWM pin.
* Keyboard Maintainer: QMK Community
* Hardware Supported: Cospad PCB
* Hardware Availability: [KPrepublic on Aliexpress](https://aliexpress.com/item/cospad-Custom-Mechanical-Keyboard-Kit-up-tp-24-keys-Supports-TKG-TOOLS-Underglow-RGB-PCB-20/32818383873.html)
Supported Layouts:
![Numpad Layout of COSPAD](https://i.imgur.com/t03lXJ4.png)
![Ortholinear Layout of COSPAD](https://i.imgur.com/mliUcCc.png)
![Numpad layouts](https://i.imgur.com/t03lXJ4.png)
![Ortholinear layouts](https://i.imgur.com/mliUcCc.png)
Make example for this keyboard (after setting up your build environment):

View File

@@ -12,23 +12,23 @@ MCU = atmega32u4
BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
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
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
# 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 = yes # Enable keyboard backlight functionality
BACKLIGHT_CUSTOM_DRIVER = yes
RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality (+4870)
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
UNICODE_ENABLE = no # Unicode
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
MIDI_ENABLE = no # MIDI support
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
LAYOUTS = numpad_6x4 ortho_6x4

View File

@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// lower maximum brightness to lower power usage and prevent unresponsiveness
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_GRADIENT_LEFT_RIGHT
//disable effects
#define DISABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue speed is hue for secondary hue

View File

@@ -3,7 +3,7 @@
SRC += ./logo_reader.c
# enable OLED displays
OLED_DRIVER_ENABLE = yes
OLED_DRIVER_ENABLE = no
# enable media keys
EXTRAKEY_ENABLE = yes

View File

@@ -4,7 +4,7 @@
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define VENDOR_ID 0x445A // "DZ"
#define PRODUCT_ID 0x2260
#define DEVICE_VER 0x0001
#define MANUFACTURER KBDFans
@@ -45,4 +45,7 @@
#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_SLEEP
#endif
#endif
#endif
/* VIA related config */
#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2

View File

@@ -0,0 +1,29 @@
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT(
KC_GESC, 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_NO, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
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_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_NO, MO(1), KC_RCTL),
LAYOUT(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, 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, BL_DEC, BL_TOGG, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};

View File

@@ -0,0 +1,2 @@
LINK_TIME_OPTIMIZATION_ENABLE = yes
VIA_ENABLE = yes

View File

@@ -1,5 +1,6 @@
/*
Copyright 2018 Yiancar
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
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
@@ -14,21 +15,7 @@ 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 overwrites for specific keymap */
#define HS60_HHKB
#undef PRODUCT_ID
#define PRODUCT_ID 0x4855
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_0
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_1
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_2
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_3
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_4
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0000000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0000000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0011000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0011000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0011100000000111
#include "config_common.h"

View File

@@ -0,0 +1 @@
#include "getta25.h"

View File

@@ -0,0 +1,7 @@
#pragma once
#include "quantum.h"
#ifdef KEYBOARD_getta25_rev1
#include "rev1.h"
#endif

View File

@@ -0,0 +1,38 @@
{
"keyboard_name": "Getta25",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
"width": 5.25,
"height": 6.25,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"ESC", "x":0, "y":0},
{"label":"F2", "x":1, "y":0},
{"label":"=", "x":2, "y":0},
{"label":"DEL", "x":3, "y":0},
{"label":"Num Lock", "x":0, "y":1.25},
{"label":"/", "x":1, "y":1.25},
{"label":"*", "x":2, "y":1.25},
{"label":"-", "x":3, "y":1.25},
{"label":"7", "x":0, "y":2.25},
{"label":"8", "x":1, "y":2.25},
{"label":"9", "x":2, "y":2.25},
{"label":"ESC", "x":4.25, "y":2.25},
{"label":"4", "x":0, "y":3.25},
{"label":"5", "x":1, "y":3.25},
{"label":"6", "x":2, "y":3.25},
{"label":"+", "x":3, "y":2.25, "h":2},
{"label":"F2", "x":4.25, "y":3.25},
{"label":"1", "x":0, "y":4.25},
{"label":"2", "x":1, "y":4.25},
{"label":"3", "x":2, "y":4.25},
{"label":"DEL", "x":4.25, "y":4.25},
{"label":"0", "x":0, "y":5.25, "w":2},
{"label":".", "x":2, "y":5.25},
{"label":"Enter", "x":3, "y":4.25, "h":2},
{"label":"BSPC", "x":4.25, "y":5.25}
]
}
}
}

View File

@@ -0,0 +1,24 @@
/* Copyright 2018 Salicylic_acid3
*
* 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
/* Select hand configuration */
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 180

View File

@@ -0,0 +1,61 @@
#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 layer_number {
_BASE,
_ARROW,
_ADJUST,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
//,-----------------------------------|
LT(_ADJUST,KC_ESC), KC_F2, KC_EQL, KC_DEL,
//|--------+--------+--------+--------|
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
//|--------+--------+--------+--------+--------|
KC_P7, KC_P8, KC_P9, KC_ESC,
//|--------+--------+--------+--------+--------|
KC_P4, KC_P5, KC_P6, KC_PPLS, KC_F2,
//|--------+--------+--------+--------+--------|
KC_P1, KC_P2, KC_P3, KC_DEL,
//|--------+--------+--------+--------+--------|
LT(_ARROW, KC_P0), KC_PDOT, KC_PENT, KC_BSPC
//`--------------------------------------------'
),
[_ARROW] = LAYOUT(
//,-----------------------------------|
_______, _______, _______, _______,
//|--------+--------+--------+--------|
XXXXXXX, _______, _______, _______,
//|--------+--------+--------+--------+--------|
XXXXXXX, KC_UP, XXXXXXX, _______,
//|--------+--------+--------+--------+--------|
KC_LEFT, KC_DOWN,KC_RIGHT, _______, _______,
//|--------+--------+--------+--------+--------|
XXXXXXX, KC_DOWN, XXXXXXX, _______,
//|--------+--------+--------+--------+--------|
MO(_ARROW), _______, _______, _______
//`--------------------------------------------'
),
[_ADJUST] = LAYOUT( /* Base */
//,-----------------------------------|
MO(_ADJUST), _______, _______, _______,
//|--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, _______,
//|--------+--------+--------+--------+--------|
RGB_SAD, RGB_SAI, XXXXXXX, _______,
//|--------+--------+--------+--------+--------|
RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG, _______,
//|--------+--------+--------+--------+--------|
RGB_VAD, RGB_VAI, XXXXXXX, _______,
//|--------+--------+--------+--------+--------|
_______, _______, RGB_MOD, _______
//`--------------------------------------------'
)
};

View File

@@ -0,0 +1,25 @@
/* Copyright 2018 Salicylic_acid3
*
* 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
/* Select hand configuration */
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 180
#define OLED_FONT_H "keyboards/getta25/keymaps/oled/glcdfont.c"

View File

@@ -0,0 +1,231 @@
// 'loveLain', 128x32px
#include "progmem.h"
static const unsigned char font[] PROGMEM = {
0x00,0x00,0x00,0x00,0x00,0x00, // 00
0x3E,0x5B,0x4F,0x5B,0x3E,0x00, // 01
0x3E,0x6B,0x4F,0x6B,0x3E,0x00, // 02
0x1C,0x3E,0x7C,0x3E,0x1C,0x00, // 03
0x18,0x3C,0x7E,0x3C,0x18,0x00, // 04
0x1C,0x57,0x7D,0x57,0x1C,0x00, // 05
0x1C,0x5E,0x7F,0x5E,0x1C,0x00, // 06
0x00,0x18,0x3C,0x18,0x00,0x00, // 07
0xFF,0xE7,0xC3,0xE7,0xFF,0x00, // 08
0x00,0x18,0x24,0x18,0x00,0x00, // 09
0xFF,0xE7,0xDB,0xE7,0xFF,0x00, // 0A
0x30,0x48,0x3A,0x06,0x0E,0x00, // 0B
0x26,0x29,0x79,0x29,0x26,0x00, // 0C
0x40,0x7F,0x05,0x05,0x07,0x00, // 0D
0x40,0x7F,0x05,0x25,0x3F,0x00, // 0E
0x5A,0x3C,0xE7,0x3C,0x5A,0x00, // 0F
0x7F,0x3E,0x1C,0x1C,0x08,0x00, // 10
0x08,0x1C,0x1C,0x3E,0x7F,0x00, // 11
0x14,0x22,0x7F,0x22,0x14,0x00, // 12
0x5F,0x5F,0x00,0x5F,0x5F,0x00, // 13
0x06,0x09,0x7F,0x01,0x7F,0x00, // 14
0x00,0x66,0x89,0x95,0x6A,0x00, // 15
0x60,0x60,0x60,0x60,0x60,0x00, // 16
0x94,0xA2,0xFF,0xA2,0x94,0x00, // 17
0x08,0x04,0x7E,0x04,0x08,0x00, // 18
0x10,0x20,0x7E,0x20,0x10,0x00, // 19
0x08,0x08,0x2A,0x1C,0x08,0x00, // 1A
0x08,0x1C,0x2A,0x08,0x08,0x00, // 1B
0x1E,0x10,0x10,0x10,0x10,0x00, // 1C
0x0C,0x1E,0x0C,0x1E,0x0C,0x00, // 1D
0x30,0x38,0x3E,0x38,0x30,0x00, // 1E
0x06,0x0E,0x3E,0x0E,0x06,0x00, // 1F
0x00,0x00,0x00,0x00,0x00,0x00, // 20
0x00,0x00,0x5F,0x00,0x00,0x00, // 21 !
0x00,0x07,0x00,0x07,0x00,0x00, // 22 "
0x14,0x7F,0x14,0x7F,0x14,0x00, // 23 #
0x24,0x2A,0x7F,0x2A,0x12,0x00, // 24 $
0x23,0x13,0x08,0x64,0x62,0x00, // 25 %
0x36,0x49,0x56,0x20,0x50,0x00, // 26 &
0x00,0x08,0x07,0x03,0x00,0x00, // 27 '
0x00,0x1C,0x22,0x41,0x00,0x00, // 28 (
0x00,0x41,0x22,0x1C,0x00,0x00, // 29 )
0x2A,0x1C,0x7F,0x1C,0x2A,0x00, // 2A *
0x08,0x08,0x3E,0x08,0x08,0x00, // 2B +
0x00,0x80,0x70,0x30,0x00,0x00, // 2C ,
0x08,0x08,0x08,0x08,0x08,0x00, // 2D -
0x00,0x00,0x60,0x60,0x00,0x00, // 2E .
0x20,0x10,0x08,0x04,0x02,0x00, // 2F /
0x3E,0x51,0x49,0x45,0x3E,0x00, // 30 0
0x00,0x42,0x7F,0x40,0x00,0x00, // 31 1
0x72,0x49,0x49,0x49,0x46,0x00, // 32 2
0x21,0x41,0x49,0x4D,0x33,0x00, // 33 3
0x18,0x14,0x12,0x7F,0x10,0x00, // 34 4
0x27,0x45,0x45,0x45,0x39,0x00, // 35 5
0x3C,0x4A,0x49,0x49,0x31,0x00, // 36 6
0x41,0x21,0x11,0x09,0x07,0x00, // 37 7
0x36,0x49,0x49,0x49,0x36,0x00, // 38 8
0x46,0x49,0x49,0x29,0x1E,0x00, // 39 9
0x00,0x00,0x14,0x00,0x00,0x00, // 3A :
0x00,0x40,0x34,0x00,0x00,0x00, // 3B ;
0x00,0x08,0x14,0x22,0x41,0x00, // 3C <
0x14,0x14,0x14,0x14,0x14,0x00, // 3D =
0x00,0x41,0x22,0x14,0x08,0x00, // 3E >
0x02,0x01,0x59,0x09,0x06,0x00, // 3F ?
0x3E,0x41,0x5D,0x59,0x4E,0x00, // 40 @
0x7C,0x12,0x11,0x12,0x7C,0x00, // 41 A
0x7F,0x49,0x49,0x49,0x36,0x00, // 42 B
0x3E,0x41,0x41,0x41,0x22,0x00, // 43 C
0x7F,0x41,0x41,0x41,0x3E,0x00, // 44 D
0x7F,0x49,0x49,0x49,0x41,0x00, // 45 E
0x7F,0x09,0x09,0x09,0x01,0x00, // 46 F
0x3E,0x41,0x41,0x51,0x73,0x00, // 47 G
0x7F,0x08,0x08,0x08,0x7F,0x00, // 48 H
0x00,0x41,0x7F,0x41,0x00,0x00, // 49 I
0x20,0x40,0x41,0x3F,0x01,0x00, // 4A J
0x7F,0x08,0x14,0x22,0x41,0x00, // 4B K
0x7F,0x40,0x40,0x40,0x40,0x00, // 4C L
0x7F,0x02,0x1C,0x02,0x7F,0x00, // 4D M
0x7F,0x04,0x08,0x10,0x7F,0x00, // 4E N
0x3E,0x41,0x41,0x41,0x3E,0x00, // 4F O
0x7F,0x09,0x09,0x09,0x06,0x00, // 50 P
0x3E,0x41,0x51,0x21,0x5E,0x00, // 51 Q
0x7F,0x09,0x19,0x29,0x46,0x00, // 52 R
0x26,0x49,0x49,0x49,0x32,0x00, // 53 S
0x03,0x01,0x7F,0x01,0x03,0x00, // 54 T
0x3F,0x40,0x40,0x40,0x3F,0x00, // 55 U
0x1F,0x20,0x40,0x20,0x1F,0x00, // 56 V
0x3F,0x40,0x38,0x40,0x3F,0x00, // 57 W
0x63,0x14,0x08,0x14,0x63,0x00, // 58 X
0x03,0x04,0x78,0x04,0x03,0x00, // 59 Y
0x61,0x59,0x49,0x4D,0x43,0x00, // 5A Z
0x00,0x7F,0x41,0x41,0x41,0x00, // 5B [
0x02,0x04,0x08,0x10,0x20,0x00, // 5C \ .
0x00,0x41,0x41,0x41,0x7F,0x00, // 5D ]
0x04,0x02,0x01,0x02,0x04,0x00, // 5E ^
0x40,0x40,0x40,0x40,0x40,0x00, // 5F _
0x00,0x03,0x07,0x08,0x00,0x00, // 60 `
0x20,0x54,0x54,0x78,0x40,0x00, // 61 a
0x7F,0x28,0x44,0x44,0x38,0x00, // 62 b
0x38,0x44,0x44,0x44,0x28,0x00, // 63 c
0x38,0x44,0x44,0x28,0x7F,0x00, // 64 d
0x38,0x54,0x54,0x54,0x18,0x00, // 65 e
0x00,0x08,0x7E,0x09,0x02,0x00, // 66 f
0x18,0xA4,0xA4,0x9C,0x78,0x00, // 67 g
0x7F,0x08,0x04,0x04,0x78,0x00, // 68 h
0x00,0x44,0x7D,0x40,0x00,0x00, // 69 i
0x20,0x40,0x40,0x3D,0x00,0x00, // 6A j
0x7F,0x10,0x28,0x44,0x00,0x00, // 6B k
0x00,0x41,0x7F,0x40,0x00,0x00, // 6C l
0x7C,0x04,0x78,0x04,0x78,0x00, // 6D m
0x7C,0x08,0x04,0x04,0x78,0x00, // 6E n
0x38,0x44,0x44,0x44,0x38,0x00, // 6F o
0xFC,0x18,0x24,0x24,0x18,0x00, // 70 p
0x18,0x24,0x24,0x18,0xFC,0x00, // 71 q
0x7C,0x08,0x04,0x04,0x08,0x00, // 72 r
0x48,0x54,0x54,0x54,0x24,0x00, // 73 s
0x04,0x04,0x3F,0x44,0x24,0x00, // 74 t
0x3C,0x40,0x40,0x20,0x7C,0x00, // 75 u
0x1C,0x20,0x40,0x20,0x1C,0x00, // 76 v
0x3C,0x40,0x30,0x40,0x3C,0x00, // 77 w
0x44,0x28,0x10,0x28,0x44,0x00, // 78 x
0x4C,0x90,0x90,0x90,0x7C,0x00, // 79 y
0x44,0x64,0x54,0x4C,0x44,0x00, // 7A z
0x00,0x08,0x36,0x41,0x00,0x00, // 7B {
0x00,0x00,0x77,0x00,0x00,0x00, // 7C |
0x00,0x41,0x36,0x08,0x00,0x00, // 7D }
0x02,0x01,0x02,0x04,0x02,0x00, // 7E ~
0x3C,0x26,0x23,0x26,0x3C,0x00, // 7F
0xC7,0xC7,0xC7,0x00,0x00,0x00, // 80
0x00,0x20,0x60,0x60,0x60,0x60, // 81
0x60,0xE0,0x20,0x20,0x20,0x20, // 82
0x20,0x60,0x60,0x00,0x00,0x00, // 83
0x00,0x00,0x00,0xC7,0xC7,0xC7, // 84
0xC7,0xC7,0xC7,0x00,0x00,0x00, // 85
0x00,0xE0,0x70,0x50,0xFE,0x7A, // 86
0x02,0x00,0x20,0x60,0xE0,0xF3, // 87
0x3E,0x30,0x10,0x10,0x00,0x00, // 88
0x00,0x00,0x00,0xC7,0xC7,0xC7, // 89
0xC7,0xC7,0xC7,0x00,0x00,0x80, // 8A
0xC0,0xC3,0xA1,0x90,0x98,0x84, // 8B
0x83,0x00,0x00,0x1E,0x09,0x0C, // 8C
0x04,0xC4,0x7C,0x18,0x00,0x00, // 8D
0x00,0x00,0x00,0xC7,0xC7,0xC7, // 8E
0x00,0x00,0x00,0x00,0x00,0x00, // 8F
0x00,0x00,0x00,0x00,0x00,0x00, // 90
0x00,0x00,0x00,0x00,0x00,0x00, // 91
0x00,0x00,0x00,0x00,0x00,0x00, // 92
0x00,0x00,0x00,0x00,0x00,0x00, // 93
0x00,0x00,0x00,0x00,0x00,0xE0, // 94
0xF0,0xF0,0xF0,0xE0,0xEC,0xEE, // 95
0xF7,0xF3,0x70,0x20,0x00,0x7C, // 96
0x7C,0x7C,0x7E,0x00,0x7E,0x7E, // 97
0x7E,0x7F,0x7F,0x7F,0x00,0x00, // 98
0x80,0xC0,0xE0,0x7E,0x5B,0x4F, // 99
0x5B,0xFE,0xC0,0x00,0x00,0xC0, // 9A
0x00,0xDC,0xD7,0xDE,0xDE,0xDE, // 9B
0xD7,0xDC,0x00,0xC0,0x00,0x00, // 9C
0x00,0x00,0x00,0x00,0x00,0x00, // 9D
0x00,0x00,0x00,0x00,0x00,0x00, // 9E
0x00,0x00,0x00,0x00,0x00,0xFF, // 9F
0x71,0x71,0x71,0x00,0x00,0x00, // A0
0x00,0x00,0x00,0x00,0x00,0x00, // A1 ?
0xC0,0xFF,0x00,0x08,0x0E,0x0E, // A2 ?
0x0C,0x00,0x00,0x00,0x00,0x00, // A3 ?
0x00,0x00,0x00,0x71,0x71,0x71, // A4 ?
0x71,0x71,0x71,0x00,0x00,0x08, // A5 ?
0x08,0x09,0x18,0x25,0x61,0x31, // A6 ?
0x1F,0x06,0x04,0x06,0x13,0x32, // A7 §
0x32,0x62,0x02,0x06,0x0C,0x08, // A8 ¨
0x00,0x00,0x00,0x71,0x71,0x71, // A9 ?
0x71,0x71,0x71,0x00,0x00,0x00, // AA ?
0x00,0x00,0x00,0x00,0x00,0x00, // AB ?
0x09,0x11,0x18,0x08,0x0C,0x06, // AC ?
0x03,0x00,0x00,0x00,0x00,0x00, // AD ?
0x00,0x00,0x00,0x71,0x71,0x71, // AE ?
0x00,0x00,0x00,0x00,0x00,0x00, // AF ?
0x00,0x00,0x00,0x00,0x00,0x00, // B0 °
0x00,0x00,0x00,0x00,0x00,0x00, // B1 ±
0x00,0x00,0x00,0x00,0x00,0x00, // B2 ?
0x00,0x00,0x00,0x00,0x00,0x00, // B3 ?
0x00,0x00,0x00,0x00,0x00,0x0F, // B4 ´
0x1F,0x3F,0x7F,0x7F,0x7F,0x7F, // B5 ?
0x7F,0x3F,0x1E,0x0C,0x00,0x1F, // B6 ¶
0x1F,0x1F,0x3F,0x00,0x3F,0x3F, // B7 ?
0x3F,0x7F,0x7F,0x7F,0x00,0x30, // B8 ?
0x7B,0x7F,0x78,0x30,0x20,0x20, // B9 ?
0x30,0x78,0x7F,0x3B,0x00,0x03, // BA ?
0x00,0x0F,0x7F,0x0F,0x0F,0x0F, // BB ?
0x7F,0x0F,0x00,0x03,0x00,0x00, // BC ?
0x00,0x00,0x00,0x00,0x00,0x00, // BD ?
0x00,0x00,0x00,0x00,0x00,0x00, // BE ?
0x00,0x00,0x00,0x00,0x00,0xFF, // BF ?
0x1C,0x1C,0x1C,0x00,0x00,0x00, // C0 ?
0x00,0x00,0x00,0x00,0x00,0x00, // C1 ?
0x07,0x0F,0x00,0x00,0x00,0x00, // C2 ?
0x00,0x00,0x00,0x00,0x00,0x00, // C3 ?
0x00,0x00,0x00,0x1C,0x1C,0x1C, // C4 ?
0x1C,0x1C,0x1C,0x00,0x00,0x00, // C5 ?
0x00,0x00,0x80,0x80,0xC0,0x40, // C6 ?
0x80,0x00,0x00,0x00,0xC0,0x40, // C7 ?
0x40,0xC0,0xC0,0xC0,0x00,0x00, // C8 ?
0x00,0x00,0x00,0x1C,0x1C,0x1C, // C9 ?
0x1C,0x1C,0x1C,0x00,0x00,0x00, // CA ?
0x00,0x00,0x00,0x00,0x00,0x00, // CB ?
0x00,0x00,0x00,0x00,0x00,0x00, // CC ?
0x00,0x00,0x00,0x00,0x00,0x00, // CD ?
0x00,0x00,0x00,0x1C,0x1C,0x1C, // CE ?
0x00,0x00,0x00,0x00,0x00,0x00, // CF ?
0x00,0x00,0x00,0x00,0x00,0x00, // D0 ?
0x00,0x00,0x00,0x00,0x00,0x00, // D1 ?
0x00,0x00,0x00,0x00,0x00,0x00, // D2 ?
0x00,0x00,0x00,0x00,0x00,0x00, // D3 ?
0x00,0x00,0x00,0x00,0x00,0x00, // D4 ?
0x00,0x00,0x00,0x00,0x00,0x00, // D5 ?
0x00,0x00,0x00,0x00,0x00,0x00, // D6 ?
0x00,0x00,0x00,0x00,0x00,0x00, // D7 ×
0x00,0x00,0x00,0x00,0x00,0x00, // D8 ?
0x00,0x00,0x00,0x00,0x00,0x00, // D9 ?
0x00,0x00,0x00,0x00,0x00,0x00, // DA ?
0x00,0x00,0x00,0x00,0x00,0x00, // DB ?
0x00,0x00,0x00,0x00,0x00,0x00, // DC ?
0x00,0x00,0x00,0x00,0x00,0x00, // DD ?
0x00,0x00,0x00,0x00,0x00,0x00, // DE ?
0x00,0x00,0x00,0x00,0x00,0xFF, // DF ?
};
static const unsigned int fontLen = 512;

View File

@@ -0,0 +1,204 @@
#include QMK_KEYBOARD_H
#include "keymap_jp.h"
#ifdef OLED_DRIVER_ENABLE
static uint32_t oled_timer = 0;
#endif
// 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 layer_number {
_BASE,
_ARROW,
_MACRO,
_ADJUST,
};
enum custom_keycodes {
RGB_RST = SAFE_RANGE,
SEND_SUM,
SEND_AVE,
SEND_CIF,
SEND_MAX,
SEND_MIN
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
//,-----------------------------------|
KC_ESC, KC_F2, JP_EQL, KC_DEL,
//|--------+--------+--------+--------|
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
//|--------+--------+--------+--------+--------|
KC_P7, KC_P8, KC_P9, LCTL(JP_LBRC),
//|--------+--------+--------+--------+--------|
KC_P4, KC_P5, KC_P6, KC_PPLS, JP_EQL,
//|--------+--------+--------+--------+--------|
KC_P1, KC_P2, KC_P3, KC_DEL,
//|--------+--------+--------+--------+--------|
LT(_ARROW, KC_P0),LT(_MACRO, KC_PDOT),KC_PENT,KC_BSPC
//`--------------------------------------------'
),
[_ARROW] = LAYOUT(
//,-----------------------------------|
_______, _______, _______, _______,
//|--------+--------+--------+--------|
XXXXXXX, _______, _______, _______,
//|--------+--------+--------+--------+--------|
XXXXXXX, KC_UP, XXXXXXX, _______,
//|--------+--------+--------+--------+--------|
KC_LEFT, KC_DOWN,KC_RIGHT, _______, _______,
//|--------+--------+--------+--------+--------|
XXXXXXX, KC_DOWN, XXXXXXX, _______,
//|--------+--------+--------+--------+--------|
MO(_ARROW), MO(_MACRO), _______, _______
//`--------------------------------------------'
),
[_MACRO] = LAYOUT(
//,-----------------------------------|
_______, _______, _______, _______,
//|--------+--------+--------+--------|
SEND_MIN,SEND_MAX,SEND_CIF,SEND_AVE,
//|--------+--------+--------+--------+--------|
KC_F7, KC_F8, KC_F9, _______,
//|--------+--------+--------+--------+--------|
KC_F4, KC_F5, KC_F6,SEND_SUM, _______,
//|--------+--------+--------+--------+--------|
KC_F11, KC_F12, KC_F3, _______,
//|--------+--------+--------+--------+--------|
_______, _______, JP_RPRN, _______
//`--------------------------------------------'
),
[_ADJUST] = LAYOUT( /* Base */
//,-----------------------------------|
_______, _______, _______, _______,
//|--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, _______,
//|--------+--------+--------+--------+--------|
RGB_SAD, RGB_SAI, XXXXXXX, _______,
//|--------+--------+--------+--------+--------|
RGB_HUD, RGB_HUI, XXXXXXX, RGB_TOG, _______,
//|--------+--------+--------+--------+--------|
RGB_VAD, RGB_VAI, XXXXXXX, _______,
//|--------+--------+--------+--------+--------|
_______, _______, RGB_MOD, _______
//`--------------------------------------------'
)
};
//A description for expressing the layer position in LED mode.
layer_state_t layer_state_set_user(layer_state_t state) {
state = update_tri_layer_state(state, _ARROW, _MACRO, _ADJUST);
#ifdef RGBLIGHT_ENABLE
switch (get_highest_layer(state)) {
case _ARROW:
rgblight_sethsv_at(HSV_BLUE, 0);
break;
case _MACRO:
rgblight_sethsv_at(HSV_RED, 0);
break;
case _ADJUST:
rgblight_sethsv_at(HSV_PURPLE, 0);
break;
default: // for any other layers, or the default layer
rgblight_sethsv_range( 0, 0, 0, 0, 1);
break;
}
rgblight_set_effect_range( 1, 8);
#endif
return state;
}
int RGB_current_mode;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
bool result = false;
if (record->event.pressed) {
#ifdef OLED_DRIVER_ENABLE
oled_timer = timer_read32();
#endif
}
switch (keycode) {
case SEND_SUM:
if (record->event.pressed) {
SEND_STRING("_SUM*");
}
break;
case SEND_AVE:
if (record->event.pressed) {
SEND_STRING("_AVERAGE*");
}
break;
case SEND_CIF:
if (record->event.pressed) {
SEND_STRING("_COUNTIF*");
}
break;
case SEND_MAX:
if (record->event.pressed) {
SEND_STRING("_MAX*");
}
break;
case SEND_MIN:
if (record->event.pressed) {
SEND_STRING("_MIN*");
}
break;
default:
result = true;
break;
}
return result;
}
#ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; }
void render_layer_state(void) {
oled_write_P(PSTR(" "), false);
oled_write_P(PSTR("LAYER"), false);
oled_write_P(PSTR("Arrow"), layer_state_is(_ARROW));
oled_write_P(PSTR("Macro"), layer_state_is(_MACRO));
oled_write_P(PSTR("Adjus"), layer_state_is(_ADJUST));
oled_write_P(PSTR(" "), false);
}
void render_keylock_status(led_t led_state) {
oled_write_P(PSTR("NumL "), led_state.num_lock);
}
void render_layer_messages(void) {
oled_write_P(PSTR("GETtA 25 For Your Good Job. "), false);
}
void render_status(void) {
/* Show Keyboard Layout */
render_layer_state();
render_keylock_status(host_keyboard_led_state());
}
void oled_task_user(void) {
static const char PROGMEM font_logo[] = {
0x80,0x81,0x82,0x83,0x84,
0xa0,0xa1,0xa2,0xa3,0xa4,
0xc0,0xc1,0xc2,0xc3,0xc4,
0x85,0x86,0x87,0x88,0x89,
0xa5,0xa6,0xa7,0xa8,0xa9,
0xc5,0xc6,0xc7,0xc8,0xc9,
0x8a,0x8b,0x8c,0x8d,0x8e,
0xaa,0xab,0xac,0xad,0xae,
0xca,0xcb,0xcc,0xcd,0xce,0
};
oled_write_P(font_logo, false);
render_status(); // Renders the current keyboard state (layer, lock)
}
#endif

View File

@@ -0,0 +1,17 @@
# getta25
![getta25](https://cdn-ak.f.st-hatena.com/images/fotolife/S/Salicylic_acid3/20191127/20191127005608.png)
This is 25 keys tenkeypad.
* Keyboard Maintainer: [Salicylic_acid3](https://github.com/Salicylic-acid3)
* Hardware Supported: Getta25 PCB, Pro Micro
* Hardware Availability: [PCB & Case Data](https://github.com/Salicylic-acid3/PCB_Data), [Booth Shop](https://salicylic-acid3.booth.pm/items/1700006)
Make example for this keyboard (after setting up your build environment):
make getta25:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
[Build guide](https://salicylic-acid3.hatenablog.com/entry/getta25-rev2-build-guide)

View File

@@ -0,0 +1,76 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
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 0xFEED
#define PRODUCT_ID 0x3060
#define DEVICE_VER 0x0013
#define MANUFACTURER Salicylic_Acid
#define PRODUCT getta25
#define DESCRIPTION A custom keyboard
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 6
// wiring of each half
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B2 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* Set 0 if debouncing isn't 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
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
#define RGBLED_NUM 9 // Number of LEDs
#define RGBLIGHT_ANIMATIONS
#ifndef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 180
#define RGBLIGHT_VAL_STEP 17
#else
#define RGBLIGHT_LIMIT_VAL 50
#define RGBLIGHT_VAL_STEP 4
#endif
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
// 120 RGBoff, OLEDoff
// 120 OLED
// 330 RGB 6
// 300 RGB 32
// 310 OLED & RGB 32
#define USB_MAX_POWER_CONSUMPTION 400
#else
// fix iPhone and iPad power adapter issue
// iOS device need lessthan 100
#define USB_MAX_POWER_CONSUMPTION 100
#endif

View File

@@ -0,0 +1 @@
#include "rev1.h"

View File

@@ -0,0 +1,35 @@
#pragma once
#include "getta25.h"
/*
* ,-----------------------.
* | L05 | L15 | L25 | L35 |
* |-----------------------+
* | L04 | L14 | L24 | L34 |
* |-----------------------------+
* | L03 | L13 | L23 | | L43 |
* |-----------------------------+
* | L02 | L12 | L22 | L32 | L42 |
* |-----------------------------+
* | L01 | L11 | L21 | | L41 |
* |-----------------------------+
* | L00 | | L20 | L30 | L40 |
* ,-----------------------------'
*/
#define LAYOUT( \
L05, L15, L25, L35, \
L04, L14, L24, L34, \
L03, L13, L23, L43, \
L02, L12, L22, L32, L42, \
L01, L11, L21, L41, \
L00, L20, L30, L40 \
) \
{ \
{ L00, L01, L02, L03, L04, L05 }, \
{KC_NO, L11, L12, L13, L14, L15 }, \
{ L20, L21, L22, L23, L24, L25 }, \
{ L30,KC_NO, L32,KC_NO, L34, L35 }, \
{ L40, L41, L42, L43,KC_NO,KC_NO } \
}

View File

@@ -0,0 +1,33 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
OLED_DRIVER_ENABLE = yes
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
DEFAULT_FOLDER = getta25/rev1

View File

@@ -6,8 +6,6 @@ Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
Hardware Supported: Think6.5 Compatible PCB
Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=100166.0)
**Note:** The `LAYOUT_65_ansi_blocker` LAYOUT macro utilizes the same pins and switch matrix as the hotswap version. Any firmware made with this LAYOUT macro can be flashed on both the Solder (Compatible) version and the Hotswap version of the Think6.5.
**Indicator LEDs:** The solder PCB ONLY supports Caps Lock LEDs unlike the Hotswap version that supports Num Lock, Caps Lock, and Scroll Lock.
Make example for this keyboard (after setting up your build environment):

View File

@@ -25,17 +25,9 @@ void matrix_init_kb(void) {
// runs once when the firmware starts up
setPinOutput(C7);
matrix_init_user();
}
void matrix_scan_kb(void) {
// put your looping keyboard code here
// runs every cycle (a lot)
matrix_scan_user();
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
// put your per-action keyboard code here
// runs for every action, just before processing by the firmware
@@ -43,15 +35,9 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return process_record_user(keycode, record);
}
void led_set_kb(uint8_t usb_led) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
writePinLow(C7);
} else {
writePinHigh(C7);
bool led_update_kb(led_t led_state) {
if(led_update_user(led_state)) {
writePin(C7, !led_state.caps_lock);
}
led_set_user(usb_led);
return true;
}

View File

@@ -32,16 +32,16 @@
}
#define LAYOUT_65_ansi_blocker( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0E, K0F, \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0F, \
K10, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, \
K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, \
K40, K41, K43, K46, K4A, K4B, K4D, K4E, K4F \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, K0E, K0F }, \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO, K0F }, \
{ K10, KC_NO, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
{ K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F }, \
{ KC_NO, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F }, \
{ K40, K41, KC_NO, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, K4A, K4B, KC_NO, K4D, K4E, K4F }, \
}

View File

@@ -0,0 +1,38 @@
/* Copyright 2018 Yiancar
*
* 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 XXX KC_NO
#include "quantum.h"
#include "../../wilba_tech/wt_rgb_backlight_keycodes.h"
#include "via.h"
// This a shortcut to help you visually see your layout.
#define LAYOUT_60_ansi( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, \
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, \
K40, K41, K42, K46, K4A, K4B, K4C, K4D \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
{ K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D }, \
{ K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D } \
}

View File

@@ -21,12 +21,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* USB Device descriptor parameter */
#define VENDOR_ID 0x8968
#define PRODUCT_ID 0x4853
#define PRODUCT_ID 0x4854
#define DEVICE_VER 0x0002
#define MANUFACTURER Yiancar-Designs
#define PRODUCT HS60 V2
#define DESCRIPTION GH60 compatible, tool free RGB keyboard
#define HS60_ANSI
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
@@ -82,6 +84,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
/* Backlight options */
#define RGB_BACKLIGHT_ENABLED 1

View File

@@ -0,0 +1,333 @@
{
"keyboard_name": "HS60v2",
"maintainer": "yiancar",
"url": "",
"width": 15,
"height": 5,
"layouts": {
"LAYOUT_60_ansi": {
"key_count": 61,
"layout": [
{
"label": "~",
"x": 0,
"y": 0
},
{
"label": "!",
"x": 1,
"y": 0
},
{
"label": "@",
"x": 2,
"y": 0
},
{
"label": "#",
"x": 3,
"y": 0
},
{
"label": "$",
"x": 4,
"y": 0
},
{
"label": "%",
"x": 5,
"y": 0
},
{
"label": "^",
"x": 6,
"y": 0
},
{
"label": "&",
"x": 7,
"y": 0
},
{
"label": "*",
"x": 8,
"y": 0
},
{
"label": "(",
"x": 9,
"y": 0
},
{
"label": ")",
"x": 10,
"y": 0
},
{
"label": "_",
"x": 11,
"y": 0
},
{
"label": "+",
"x": 12,
"y": 0
},
{
"label": "Backspace",
"x": 13,
"y": 0,
"w": 2
},
{
"label": "Tab",
"x": 0,
"y": 1,
"w": 1.5
},
{
"label": "Q",
"x": 1.5,
"y": 1
},
{
"label": "W",
"x": 2.5,
"y": 1
},
{
"label": "E",
"x": 3.5,
"y": 1
},
{
"label": "R",
"x": 4.5,
"y": 1
},
{
"label": "T",
"x": 5.5,
"y": 1
},
{
"label": "Y",
"x": 6.5,
"y": 1
},
{
"label": "U",
"x": 7.5,
"y": 1
},
{
"label": "I",
"x": 8.5,
"y": 1
},
{
"label": "O",
"x": 9.5,
"y": 1
},
{
"label": "P",
"x": 10.5,
"y": 1
},
{
"label": "{",
"x": 11.5,
"y": 1
},
{
"label": "}",
"x": 12.5,
"y": 1
},
{
"label": "|",
"x": 13.5,
"y": 1,
"w": 1.5
},
{
"label": "Caps Lock",
"x": 0,
"y": 2,
"w": 1.75
},
{
"label": "A",
"x": 1.75,
"y": 2
},
{
"label": "S",
"x": 2.75,
"y": 2
},
{
"label": "D",
"x": 3.75,
"y": 2
},
{
"label": "F",
"x": 4.75,
"y": 2
},
{
"label": "G",
"x": 5.75,
"y": 2
},
{
"label": "H",
"x": 6.75,
"y": 2
},
{
"label": "J",
"x": 7.75,
"y": 2
},
{
"label": "K",
"x": 8.75,
"y": 2
},
{
"label": "L",
"x": 9.75,
"y": 2
},
{
"label": ":",
"x": 10.75,
"y": 2
},
{
"label": "\"",
"x": 11.75,
"y": 2
},
{
"label": "Enter",
"x": 12.75,
"y": 2,
"w": 2.25
},
{
"label": "Shift",
"x": 0,
"y": 3,
"w": 2.25
},
{
"label": "Z",
"x": 2.25,
"y": 3
},
{
"label": "X",
"x": 3.25,
"y": 3
},
{
"label": "C",
"x": 4.25,
"y": 3
},
{
"label": "V",
"x": 5.25,
"y": 3
},
{
"label": "B",
"x": 6.25,
"y": 3
},
{
"label": "N",
"x": 7.25,
"y": 3
},
{
"label": "M",
"x": 8.25,
"y": 3
},
{
"label": "<",
"x": 9.25,
"y": 3
},
{
"label": ">",
"x": 10.25,
"y": 3
},
{
"label": "?",
"x": 11.25,
"y": 3
},
{
"label": "Shift",
"x": 12.25,
"y": 3,
"w": 2.75
},
{
"label": "Ctrl",
"x": 0,
"y": 4,
"w": 1.25
},
{
"label": "Win",
"x": 1.25,
"y": 4,
"w": 1.25
},
{
"label": "Alt",
"x": 2.5,
"y": 4,
"w": 1.25
},
{
"x": 3.75,
"y": 4,
"w": 6.25
},
{
"label": "Alt",
"x": 10,
"y": 4,
"w": 1.25
},
{
"label": "Win",
"x": 11.25,
"y": 4,
"w": 1.25
},
{
"label": "Menu",
"x": 12.5,
"y": 4,
"w": 1.25
},
{
"label": "Ctrl",
"x": 13.75,
"y": 4,
"w": 1.25
}
]
}
}
}

View File

@@ -1,10 +1,5 @@
#pragma once
// Include overwrites for specific keymap
#define HS60_ANSI
#undef PRODUCT_ID
#define PRODUCT_ID 0x4854
// disable backlight after timeout in minutes, 0 = no timeout
#undef RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT
#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 20

View File

@@ -10,7 +10,7 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
# comment out to disable the options.
#
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
@@ -23,7 +23,7 @@ NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plu
CIE1931_CURVE = yes
LAYOUTS = 60_ansi 60_iso
LAYOUTS = 60_ansi
# project specific files
SRC = keyboards/wilba_tech/wt_main.c \

View File

@@ -0,0 +1,146 @@
/*
Copyright 2018 Yiancar
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 0x8968
#define PRODUCT_ID 0x4855
#define DEVICE_VER 0x0002
#define MANUFACTURER Yiancar-Designs
#define PRODUCT HS60 V2
#define DESCRIPTION GH60 compatible, tool free RGB keyboard
#define HS60_HHKB
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B3, B4, B5, A8, A4 }
#define MATRIX_COL_PINS { A13, A10, A9, A14, A15, B8, B9, C13, C14, C15, A0, A1, A2, A3 }
// To enable debugger set A13 A14 -> A5 A6
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
*/
// #define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* Magic Key Options
*
* Magic keys are hotkey commands that allow control over firmware functions of
* the keyboard. They are best used in combination with the HID Listen program,
* found here: https://www.pjrc.com/teensy/hid_listen.html
*
* The options below allow the magic key functionality to be changed. This is
* useful if your keyboard/keypad is missing keys and you want magic key support.
*
*/
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
/* Backlight options */
#define RGB_BACKLIGHT_ENABLED 1
#define RGB_BACKLIGHT_HS60
// they aren't really used if RGB_BACKLIGHT_HS60 defined
#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0
#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0
#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
#define RGB_BACKLIGHT_USE_ISO_ENTER 0
#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0
// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
// disable backlight after timeout in minutes, 0 = no timeout
#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0
// the default brightness
#define RGB_BACKLIGHT_BRIGHTNESS 255
// the default effect (RGB test)
#define RGB_BACKLIGHT_EFFECT 6
// the default effect speed (0-3)
#define RGB_BACKLIGHT_EFFECT_SPEED 0
// the default color1 and color2
#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 64
// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for
// alphas vs. mods
// Each value is for a row, bit 0 is column 0
// Alpha=0 Mod=1
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0000000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0000000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0011000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0011000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0011100000000111
#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31

View File

@@ -23,34 +23,6 @@
// This a shortcut to help you visually see your layout.
#define LAYOUT_60_iso( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
K40, K41, K42, K46, K4A, K4B, K4C, K4D \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D }, \
{ K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D } \
}
#define LAYOUT_60_ansi( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, \
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, \
K40, K41, K42, K46, K4A, K4B, K4C, K4D \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
{ K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D }, \
{ K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D } \
}
#define LAYOUT_60_hhkb( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, \

View File

@@ -0,0 +1,12 @@
{
"keyboard_name": "HS60v2",
"maintainer": "yiancar",
"url": "",
"width": 15,
"height": 5,
"layouts": {
"LAYOUT_60_hhkb": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
}
}
}

View File

@@ -18,20 +18,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Include overwrites for specific keymap */
#define HS60_HHKB
#undef PRODUCT_ID
#define PRODUCT_ID 0x4855
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_0
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_1
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_2
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_3
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_4
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0000000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0000000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0011000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0011000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0011100000000111
#undef RGB_BACKLIGHT_CAPS_LOCK_INDICATOR
#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 255 }, .index = 3-1 } //red

View File

@@ -0,0 +1,31 @@
# MCU name
MCU = STM32F303
# Do not put the microcontroller into power saving mode
# when we get USB suspend event. We want it to keep updating
# backlight effects.
OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
# Build Options
# comment out to disable the options.
#
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
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
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover
AUDIO_ENABLE = no # Audio output on port C6
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
#SERIAL_LINK_ENABLE = yes
CIE1931_CURVE = yes
# project specific files
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/issi/is31fl3733.c \
quantum/color.c \
drivers/arm/i2c_master.c

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,146 @@
/*
Copyright 2018 Yiancar
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 0x8968
#define PRODUCT_ID 0x4853
#define DEVICE_VER 0x0002
#define MANUFACTURER Yiancar-Designs
#define PRODUCT HS60 V2
#define DESCRIPTION GH60 compatible, tool free RGB keyboard
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B3, B4, B5, A8, A4 }
#define MATRIX_COL_PINS { A13, A10, A9, A14, A15, B8, B9, C13, C14, C15, A0, A1, A2, A3 }
// To enable debugger set A13 A14 -> A5 A6
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
*/
// #define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* Magic Key Options
*
* Magic keys are hotkey commands that allow control over firmware functions of
* the keyboard. They are best used in combination with the HID Listen program,
* found here: https://www.pjrc.com/teensy/hid_listen.html
*
* The options below allow the magic key functionality to be changed. This is
* useful if your keyboard/keypad is missing keys and you want magic key support.
*
*/
/* Bootmagic Lite key configuration */
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
/* Backlight options */
#define RGB_BACKLIGHT_ENABLED 1
#define RGB_BACKLIGHT_HS60
// they aren't really used if RGB_BACKLIGHT_HS60 defined
#define RGB_BACKLIGHT_USE_SPLIT_BACKSPACE 0
#define RGB_BACKLIGHT_USE_SPLIT_LEFT_SHIFT 0
#define RGB_BACKLIGHT_USE_SPLIT_RIGHT_SHIFT 0
#define RGB_BACKLIGHT_USE_7U_SPACEBAR 0
#define RGB_BACKLIGHT_USE_ISO_ENTER 0
#define RGB_BACKLIGHT_DISABLE_HHKB_BLOCKER_LEDS 0
// disable backlight when USB suspended (PC sleep/hibernate/shutdown)
#define RGB_BACKLIGHT_DISABLE_WHEN_USB_SUSPENDED 0
// disable backlight after timeout in minutes, 0 = no timeout
#define RGB_BACKLIGHT_DISABLE_AFTER_TIMEOUT 0
// the default brightness
#define RGB_BACKLIGHT_BRIGHTNESS 255
// the default effect (RGB test)
#define RGB_BACKLIGHT_EFFECT 6
// the default effect speed (0-3)
#define RGB_BACKLIGHT_EFFECT_SPEED 0
// the default color1 and color2
#define RGB_BACKLIGHT_COLOR_1 { .h = 0, .s = 255 }
#define RGB_BACKLIGHT_COLOR_2 { .h = 127, .s = 255 }
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL 64
// These define which keys in the matrix are alphas/mods
// Used for backlight effects so colors are different for
// alphas vs. mods
// Each value is for a row, bit 0 is column 0
// Alpha=0 Mod=1
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0010000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0000000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0010000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0010000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0011110000000111
#define RGB_BACKLIGHT_CAPS_LOCK_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_1_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_2_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
#define RGB_BACKLIGHT_LAYER_3_INDICATOR { .color = { .h = 0, .s = 0 }, .index = 255 }
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE

View File

@@ -0,0 +1,338 @@
{
"keyboard_name": "HS60v2",
"maintainer": "yiancar",
"url": "",
"width": 15,
"height": 5,
"layouts": {
"LAYOUT_60_iso": {
"key_count": 62,
"layout": [
{
"label": "\\u00ac",
"x": 0,
"y": 0
},
{
"label": "!",
"x": 1,
"y": 0
},
{
"label": "\"",
"x": 2,
"y": 0
},
{
"label": "\\u00a3",
"x": 3,
"y": 0
},
{
"label": "$",
"x": 4,
"y": 0
},
{
"label": "%",
"x": 5,
"y": 0
},
{
"label": "^",
"x": 6,
"y": 0
},
{
"label": "&",
"x": 7,
"y": 0
},
{
"label": "*",
"x": 8,
"y": 0
},
{
"label": "(",
"x": 9,
"y": 0
},
{
"label": ")",
"x": 10,
"y": 0
},
{
"label": "_",
"x": 11,
"y": 0
},
{
"label": "+",
"x": 12,
"y": 0
},
{
"label": "Backspace",
"x": 13,
"y": 0,
"w": 2
},
{
"label": "Tab",
"x": 0,
"y": 1,
"w": 1.5
},
{
"label": "Q",
"x": 1.5,
"y": 1
},
{
"label": "W",
"x": 2.5,
"y": 1
},
{
"label": "E",
"x": 3.5,
"y": 1
},
{
"label": "R",
"x": 4.5,
"y": 1
},
{
"label": "T",
"x": 5.5,
"y": 1
},
{
"label": "Y",
"x": 6.5,
"y": 1
},
{
"label": "U",
"x": 7.5,
"y": 1
},
{
"label": "I",
"x": 8.5,
"y": 1
},
{
"label": "O",
"x": 9.5,
"y": 1
},
{
"label": "P",
"x": 10.5,
"y": 1
},
{
"label": "{",
"x": 11.5,
"y": 1
},
{
"label": "}",
"x": 12.5,
"y": 1
},
{
"label": "Enter",
"x": 13.75,
"y": 1,
"w": 1.25,
"h": 2
},
{
"label": "Caps Lock",
"x": 0,
"y": 2,
"w": 1.75
},
{
"label": "A",
"x": 1.75,
"y": 2
},
{
"label": "S",
"x": 2.75,
"y": 2
},
{
"label": "D",
"x": 3.75,
"y": 2
},
{
"label": "F",
"x": 4.75,
"y": 2
},
{
"label": "G",
"x": 5.75,
"y": 2
},
{
"label": "H",
"x": 6.75,
"y": 2
},
{
"label": "J",
"x": 7.75,
"y": 2
},
{
"label": "K",
"x": 8.75,
"y": 2
},
{
"label": "L",
"x": 9.75,
"y": 2
},
{
"label": ":",
"x": 10.75,
"y": 2
},
{
"label": "@",
"x": 11.75,
"y": 2
},
{
"label": "~",
"x": 12.75,
"y": 2
},
{
"label": "Shift",
"x": 0,
"y": 3,
"w": 1.25
},
{
"label": "|",
"x": 1.25,
"y": 3
},
{
"label": "Z",
"x": 2.25,
"y": 3
},
{
"label": "X",
"x": 3.25,
"y": 3
},
{
"label": "C",
"x": 4.25,
"y": 3
},
{
"label": "V",
"x": 5.25,
"y": 3
},
{
"label": "B",
"x": 6.25,
"y": 3
},
{
"label": "N",
"x": 7.25,
"y": 3
},
{
"label": "M",
"x": 8.25,
"y": 3
},
{
"label": "<",
"x": 9.25,
"y": 3
},
{
"label": ">",
"x": 10.25,
"y": 3
},
{
"label": "?",
"x": 11.25,
"y": 3
},
{
"label": "Shift",
"x": 12.25,
"y": 3,
"w": 2.75
},
{
"label": "Ctrl",
"x": 0,
"y": 4,
"w": 1.25
},
{
"label": "Win",
"x": 1.25,
"y": 4,
"w": 1.25
},
{
"label": "Alt",
"x": 2.5,
"y": 4,
"w": 1.25
},
{
"x": 3.75,
"y": 4,
"w": 6.25
},
{
"label": "AltGr",
"x": 10,
"y": 4,
"w": 1.25
},
{
"label": "Win",
"x": 11.25,
"y": 4,
"w": 1.25
},
{
"label": "Menu",
"x": 12.5,
"y": 4,
"w": 1.25
},
{
"label": "Ctrl",
"x": 13.75,
"y": 4,
"w": 1.25
}
]
}
}
}

View File

@@ -0,0 +1,38 @@
/* Copyright 2018 Yiancar
*
* 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 XXX KC_NO
#include "quantum.h"
#include "../../wilba_tech/wt_rgb_backlight_keycodes.h"
#include "via.h"
// This a shortcut to help you visually see your layout.
#define LAYOUT_60_iso( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
K40, K41, K42, K46, K4A, K4B, K4C, K4D \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D }, \
{ K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D } \
}

View File

@@ -0,0 +1,33 @@
# MCU name
MCU = STM32F303
# Do not put the microcontroller into power saving mode
# when we get USB suspend event. We want it to keep updating
# backlight effects.
OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
# Build Options
# comment out to disable the options.
#
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
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
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover
AUDIO_ENABLE = no # Audio output on port C6
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
#SERIAL_LINK_ENABLE = yes
CIE1931_CURVE = yes
LAYOUTS = 60_iso
# project specific files
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/issi/is31fl3733.c \
quantum/color.c \
drivers/arm/i2c_master.c

View File

@@ -1,34 +0,0 @@
/*
Copyright 2018 Yiancar
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 overwrites for specific keymap */
#define HS60_HHKB
#undef PRODUCT_ID
#define PRODUCT_ID 0x4855
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_0
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_1
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_2
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_3
#undef RGB_BACKLIGHT_ALPHAS_MODS_ROW_4
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_0 0b0000000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_1 0b0000000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_2 0b0011000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_3 0b0011000000000001
#define RGB_BACKLIGHT_ALPHAS_MODS_ROW_4 0b0011100000000111

View File

@@ -17,7 +17,7 @@ Due to the RGB implementation, the HS60 is currently not compatible with communi
Make example for this keyboard (after setting up your build environment):
make hs60/v2:default
make hs60/v2/<layout>:default
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
@@ -34,4 +34,4 @@ See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools)
- Unplug
- Hold Escape
- Plug In
- Flash using QMK Toolbox or dfu-util (`make hs60/v2:<keymap>:dfu-util`)
- Flash using QMK Toolbox or dfu-util (`make hs60/v2/<layout>:<keymap>:dfu-util`)

View File

@@ -13,6 +13,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef RGB_BACKLIGHT_HS60
#error RGB_BACKLIGHT_M60_A not defined, recheck config.h
#error RGB_BACKLIGHT_HS60 not defined, recheck config.h
#endif

View File

@@ -0,0 +1,63 @@
#include "curry.h"
#define LAYOUT_rebound_base( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
) \
LAYOUT_ortho_4x12_wrapper( \
KC_TAB, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, KC_BSPC, \
KC_ESC, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, KC_QUOT, \
KC_LSFT, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, KC_ENT, \
ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
)
#define LAYOUT_rebound_base_wrapper(...) LAYOUT_rebound_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_rebound_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
),
[_COLEMAK] = LAYOUT_rebound_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
),
[_DVORAK] = LAYOUT_rebound_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),
[_WORKMAN] = LAYOUT_rebound_base_wrapper(
_________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
_________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
_________________WORKMAN_L3________________, _________________WORKMAN_R3________________
),
[_LOWER] = LAYOUT_ortho_4x12_wrapper(
KC_F11, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F12,
KC_GRV, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
_______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______
),
[_RAISE] = LAYOUT_ortho_4x12_wrapper(
_______, _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_DEL,
KC_TILD, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
_______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______
),
[_ADJUST] = LAYOUT_ortho_4x12_wrapper(
KC_MAKE, ___________________BLANK___________________, _________________ADJUST_R1_________________, KC_RST,
VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
MG_NKRO, ___________________BLANK___________________, _________________ADJUST_R3_________________, _______,
_______, ___________________BLANK___________________, ___________________BLANK___________________, _______
)
};

View File

@@ -0,0 +1 @@
CTPC = yes

View File

@@ -0,0 +1,55 @@
#include QMK_KEYBOARD_H
#include "rossman360.h"
#define PGMOD LT(_NUM, KC_PGDN)
#define TABMOD LT(_FN1, KC_TAB)
#define SPCMOD LT(_FN1, KC_SPACE)
#define ENTMOD LT(_FN2, KC_ENTER)
#define ESCMOD LT(_NUM, KC_ESC)
#define RSMOD LT(_FN1, KC_RSHIFT)
enum layer_names {
_BASE,
_DEL,
_FN1,
_FN2,
_NUM,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_ortho_4x12(
KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , NTAB ,
JUMPBACK, 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_MINS,
CMDBSP , ALTDEL , KC_NO , CTRLSP , TABMOD , PGMOD , ENTMOD , SPCMOD , MO(_DEL),KC_NO , KC_BSPC, KC_DEL
),
[_FN1] = LAYOUT_ortho_4x12(
_______, TAB1 , TAB2 , TAB3 , TAB4 , _______, _______, UNDO , _______, _______, _______, CTAB ,
KC_CAPS, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_UP , KC_RIGHT,KC_END , KC_NO ,
_______, _______, XPANDR , _______, _______, _______, _______, PMERGE , KC_DOWN, _______, _______, _______,
WREFRESH,_______, _______, _______, LWORD , RWORD , RVOLD , RVOLU , _______, _______, _______, _______
),
[_FN2] = LAYOUT_ortho_4x12(
_______, SPEAK1 , SPEAK2 , SPEAK3 , SPEAK4 , _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, PARADOWN, CSPEAK, _______, _______, _______, _______, _______, _______
),
[_DEL] = LAYOUT_ortho_4x12(
_______, _______, _______, _______, _______, _______, _______, UNDO , _______, _______, _______, CTAB ,
REMCAPS, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_UP ,KC_RIGHT, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______,
_______, _______, _______, KC_DEL , KC_BSPC, BWORD , _______, _______, _______, _______, _______, _______
),
[_NUM] = LAYOUT_ortho_4x12(
_______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_MINS, KC_EQL,
KC_CAPS, _______, _______, _______, _______, _______, KC_MINS, KC_4 , KC_5 , KC_6 , KC_COLN, _______,
_______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_1 , KC_2 , KC_3 , KC_BSLS, _______,
_______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, KC_0 , _______, _______, _______
)
};

View File

@@ -141,3 +141,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE

View File

@@ -0,0 +1,40 @@
#pragma once
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PREONIC_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#endif
#define MUSIC_MASK (keycode != KC_NO)
/*
* MIDI options
*/
/* Prevent use of disabled MIDI features in the keymap */
//#define MIDI_ENABLE_STRICT 1
/* enable basic MIDI features:
- MIDI notes can be sent when in Music mode is on
*/
#define MIDI_BASIC
/* enable advanced MIDI features:
- MIDI notes can be added to the keymap
- Octave shift and transpose
- Virtual sustain, portamento, and modulation wheel
- etc.
*/
//#define MIDI_ADVANCED
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
//#define MIDI_TONE_KEYCODE_OCTAVES 2
#define LEADER_TIMEOUT 400
#define LEADER_PER_KEY_TIMING

View File

@@ -0,0 +1,192 @@
/* Copyright 2015-2017 Jack Humbert 2019-2020 Alfred Maler
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "muse.h"
enum preonic_layers {
_QWERTY,
_SETTINGS,
_SYMBOLS,
_NAVIGATION,
_NUMPAD,
};
enum preonic_keycodes {
QWERTY = SAFE_RANGE,
SYMBOLS,
NAVIGATION,
NUMPAD,
SETTINGS
};
#define NUMSPACE LT(_NUMPAD, KC_SPC)
#define NAVLAYER MO(_NAVIGATION)
#define SYMLAYER MO(_SYMBOLS)
#define CTRLSHFT C(KC_LSFT)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TAB | Q | W | E | R | T | Y | U | I | O | P | DEL |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | NAV | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | SHFT | Z | X | C | V | B | N | M | , | . | / | SHFT |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | CTRL | C/S | LGUI | LALT | SYMB | SPACE/NUM | SYMB | RALT | SETT | MUTG | LEAD |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_preonic_grid(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
NAVLAYER, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, CTRLSHFT, KC_LGUI, KC_LALT, SYMLAYER, NUMSPACE, NUMSPACE, SYMLAYER, KC_RALT, SETTINGS, MU_TOG, KC_LEAD
),
/* SYMBOLS
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TAB | # | $ | { | } | | | ^ | * | | | ~ | DEL |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | ESC | < | > | ( | ) | | | - | + | & | \ | ` |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | SHFT | ! | @ | [ | ] | | | _ | = | % | / | SHFT |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |
* `-----------------------------------------------------------------------------------'
*/
[_SYMBOLS] = LAYOUT_preonic_grid(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_TAB, KC_HASH, KC_DOLLAR, KC_LCBR, KC_RCBR, KC_NO, KC_NO, KC_CIRC, KC_ASTR, KC_PIPE, KC_TILD, KC_DEL,
KC_NO, KC_LABK, KC_RABK, KC_LPRN, KC_RPRN, KC_NO, KC_NO, KC_MINS, KC_PLUS, KC_AMPR, KC_BSLS, KC_GRV,
KC_LSFT, KC_EXCLAIM, KC_AT, KC_LBRC, KC_RBRC, KC_NO, KC_NO, KC_UNDS, KC_EQL, KC_PERC, KC_SLSH, KC_RSFT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
/* NAVIGATION
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | | | SPC | F5 | | INS | HOME | END | TAB | | DEL |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | NAV | SHFT | CTRl | ALT | GUI | | LEFT | DOWN | UP | RGHT | | ENTR |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | SHFT | UNDO | CUT | COPY | PSTE | | SPC | PGDO | PGUP | | | SHFT |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | TRNS | TRNS | TRNS | TRNS | ESC | TRNS | TRNS | TRNS | TRNS | TRNS |
* `-----------------------------------------------------------------------------------'
*/
[_NAVIGATION] = LAYOUT_preonic_grid(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_TRNS, KC_NO, KC_NO, KC_SPC, KC_F5, KC_NO, KC_INS, KC_HOME, KC_END, KC_TAB, KC_NO, KC_DEL,
KC_TRNS, KC_LSFT, KC_LCTRL, KC_LALT, KC_LGUI, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_NO, KC_ENT,
KC_TRNS, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), KC_NO, KC_SPC, KC_PGDN, KC_PGUP, KC_NO, KC_NO, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ESC, KC_ESC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
/* NUMPAD
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | F9 | F10 | F11 | F12 | | | 7 | 8 | 9 | - | DEL |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | ESC | F5 | F6 | F7 | F8 | SPC | SPC | 4 | 5 | 6 | + | ENTR |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | F1 | F2 | F3 | F4 | ALT | CAPS | 1 | 2 | 3 | / | TRNS |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | 0 | , | . | * | TRNS |
* `-----------------------------------------------------------------------------------'
*/
[_NUMPAD] = LAYOUT_preonic_grid(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_TAB, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_7, KC_8, KC_9, KC_MINS, KC_DEL,
KC_ESC, KC_F5, KC_F6, KC_F7, KC_F8, KC_SPC, KC_SPC, KC_4, KC_5, KC_6, KC_PLUS, KC_ENT,
KC_LSFT, KC_F1, KC_F2, KC_F3, KC_F4, KC_LALT, KC_CAPS, KC_1, KC_2, KC_3, KC_SLSH, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_COMM, KC_DOT, KC_ASTR, KC_TRNS
),
/* SETTINGS
* ,-----------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | |Aud on|AudOff|AGnorm|AGswap|Qwerty| | | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | ASTG |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_SETTINGS] = LAYOUT_preonic_grid(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, _______, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF,_______, _______, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, _______, _______, _______, _______,
KC_ASTG, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
bool muse_mode = false;
uint8_t last_muse_note = 0;
uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
LEADER_EXTERNS();
void matrix_scan_user(void) {
#ifdef AUDIO_ENABLE
if (muse_mode) {
if (muse_counter == 0) {
uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()];
if (muse_note != last_muse_note) {
stop_note(compute_freq_for_midi_note(last_muse_note));
play_note(compute_freq_for_midi_note(muse_note), 0xF);
last_muse_note = muse_note;
}
}
muse_counter = (muse_counter + 1) % muse_tempo;
} else {
if (muse_counter) {
stop_all_notes();
muse_counter = 0;
}
}
#endif
LEADER_DICTIONARY() {
leading = false;
SEQ_FIVE_KEYS(KC_R, KC_E, KC_S, KC_E, KC_T) {
reset_keyboard();
}
leader_end();
}
}
bool music_mask_user(uint16_t keycode) {
switch (keycode) {
default:
return true;
}
}

View File

@@ -0,0 +1,80 @@
# alfrdmalr's preonic layout
## Overview
The alphanumeric characters and symbols are spread between three main 'typing' layers: QWERTY, NUMPAD, and SYMBOLS. The NUMPAD layer also holds the first twelve function keys.
A fourth layer, NAVIGATION, contains useful modifiers, shortcuts, and navigation functions like the arrow keys and page up/down. This layer also provides access to the ENTER and ESC keys.
Finally, a SETTINGS layer can be used to adjust certain keyboard-related options. Right now, this is pretty similar to the default settings layer (the planck's ADJUST layer). Primary differences are the inclusion of an autoshift toggle and the removal of the reset button. The bootloader functionality has been moved to a leader key sequence: LEAD - R - E - S - E - T.
```
/* Qwerty
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | NAV | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | SHFT | Z | X | C | V | B | N | M | , | . | / | SHFT |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | CTRL | C/S | LGUI | LALT | SYMB | SPACE/NUM | SYMB | RALT | SETT |mu tog| LEAD |
* `-----------------------------------------------------------------------------------'
*/
/* SYMBOLS
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Tab | # | $ | { | } | | | ^ | * | | | ~ | Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | < | > | ( | ) | | | - | + | & | ` | ENTR |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | SHFT | ! | @ | [ | ] | | | _ | = | % | / | SHFT |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS |
* `-----------------------------------------------------------------------------------'
*/
/* NUMPAD
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | F9 | F10 | F11 | F12 | | | 7 | 8 | 9 | - | DEL |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | ESC | F5 | F6 | F7 | F8 | SPC | SPC | 4 | 5 | 6 | + | ENTR |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | F1 | F2 | F3 | F4 | ALT | CAPS | 1 | 2 | 3 | / | TRNS |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | TRNS | TRNS | TRNS | TRNS | TRNS | 0 | , | . | * | TRNS |
* `-----------------------------------------------------------------------------------'
*/
/* NAVIGATION
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | | | SPC | F5 | | INS | HOME | END | TAB | | Del |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | NAV | SHIFT| CTRl | ALT | GUI | | LEFT | DOWN | UP | RIGHT| | ENTR |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | SHFT | UNDO | CUT | COPY | PASTE| | SPC | PGDO | PGUP | | | SHFT |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | TRNS | TRNS | TRNS | TRNS | TRNS | ESC | TRNS | TRNS | TRNS | TRNS | TRNS |
* `-----------------------------------------------------------------------------------'
*/
/* SETTINGS
* ,-----------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | Del |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | | |Aud on|AudOff|AGnorm|AGswap|Qwerty| | | | |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | ASTG |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
```
ASTG = autoshift toggle

View File

@@ -0,0 +1,3 @@
SRC += muse.c
AUTO_SHIFT_ENABLE = yes
LEADER_ENABLE = yes

View File

@@ -62,6 +62,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE
// Let VIA handle the QMK RGBLIGHT
#define VIA_QMK_RGBLIGHT_ENABLE
/*
* Feature disable options
* These options are also useful to firmware size reduction.

View File

@@ -121,4 +121,7 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE

View File

@@ -2,7 +2,6 @@
"keyboard_name": "RAMA WORKS KOYU",
"url": "http://rama.works",
"maintainer": "Wilba",
"bootloader": "atmel-dfu",
"width": 16,
"height": 5,
"layouts": {

View File

@@ -119,3 +119,6 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 31
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE

View File

@@ -2,7 +2,6 @@
"keyboard_name": "RAMA WORKS M60-A",
"url": "http://rama.works",
"maintainer": "Wilba",
"bootloader": "atmel-dfu",
"width": 15,
"height": 5,
"layouts": {

View File

@@ -109,3 +109,6 @@
// Backlight config starts after VIA's EEPROM usage,
// dynamic keymaps start after this.
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 43
// VIA lighting is handled by the keyboard-level code
#define VIA_CUSTOM_LIGHTING_ENABLE

Some files were not shown because too many files have changed in this diff Show More