Compare commits

...
12 Commits
Author SHA1 Message Date
Ryan 0d189582c1 Update newbs installation procedure for MSYS2 (#8423) 2020-03-21 19:00:44 +11:00
Takashi Shibusawa c6b667623a [Keyboard] Palette1202 fix encoder rotate direction (#8489)
* revised hardware availability - URL

* fixed encoder rotate direction (reversed)
2020-03-20 23:22:08 -07:00
Joel Challis d96380e654 Initial arm->chibios pass - simplify some platform logic (#8450) 2020-03-21 16:20:04 +11:00
Ryan 7e80686f1e Tidy up report.h (#8486)
* Tidy up report.h

* Add link to Review Request 41 for brightness controls
2020-03-21 16:19:15 +11:00
Ryan e967471c4f Remove ACT_COMMAND (#8487)
* Remove ACT_COMMAND

* And from action_t as well
2020-03-21 16:17:43 +11:00
worldspawn00 eca3f9d935 fixing matrix layout (#8504) 2020-03-21 16:07:39 +11:00
Nick Snyder 44c62117ee Highlight .inc files as .c files (#8496) 2020-03-20 09:48:55 +01:00
Wilba f235822fba Add VIA support to Leaf 60 (#8490) 2020-03-19 22:36:54 -07:00
Ryan 5d5ff807c6 Update JIS keymap and sendstring LUT (#8457) 2020-03-20 12:27:52 +11:00
Diego Song 1c7c5daad4 VIA Support for GH60 (#8442)
* VIA Support: GH60 Rev C and GH60 Satan

* Corrected GH60 VIA default keymap

* Corrected GH60 VIA default keymap pt 2

* Copied default keymap over via default keymap

* Satan GH60 default corrected for VIA

* Satan GH60 default corrected for VIA pt 2

* Satan GH60 LTO enable for size

* Transparent 4th dynamic layer for GH60 Via support

* Update keyboards/gh60/revc/info.json

* Update keyboards/gh60/satan/info.json

* Update keyboards/gh60/satan/info.json

* Removed deprecated JSON keys gh60/revc/info.json

* Removed inline comment next to VID for GH60 Satan
2020-03-19 16:33:13 -07:00
tw1t611andDaniel Schindler aeab11da88 Add tw1t611 ergodash keymap. (#8377)
* Add tw1t611 ergodash keymap.

* Fix keycodes. Change kc_rctl to kcb rsft.

* Change block to enum layers.

* Remove blackslahs.

* Remove last slash. Align row.

* Use new german keymap.

* Fix typo.

Co-authored-by: Daniel Schindler <[email protected]>
2020-03-19 14:08:36 +11:00
jotixandjotix b53934805a Jotix (#8480)
* jotix ortho_4x12 layout

* jotix ortho_4x12 layout

* jotix ortho_4x12 layout

Co-authored-by: jotix <[email protected]>
2020-03-19 13:32:30 +11:00
51 changed files with 542 additions and 203 deletions

No files matched your search

+1
View File
@@ -11,6 +11,7 @@
"files.associations": { "files.associations": {
"*.h": "c", "*.h": "c",
"*.c": "c", "*.c": "c",
"*.inc": "c",
"*.cpp": "cpp", "*.cpp": "cpp",
"*.hpp": "cpp", "*.hpp": "cpp",
"xstddef": "c", "xstddef": "c",
+4 -1
View File
@@ -231,13 +231,16 @@ endif
# We can assume a ChibiOS target When MCU_FAMILY is defined since it's # We can assume a ChibiOS target When MCU_FAMILY is defined since it's
# not used for LUFA # not used for LUFA
ifdef MCU_FAMILY ifdef MCU_FAMILY
FIRMWARE_FORMAT?=bin
PLATFORM=CHIBIOS PLATFORM=CHIBIOS
PLATFORM_KEY=chibios
FIRMWARE_FORMAT?=bin
else ifdef ARM_ATSAM else ifdef ARM_ATSAM
PLATFORM=ARM_ATSAM PLATFORM=ARM_ATSAM
PLATFORM_KEY=arm_atsam
FIRMWARE_FORMAT=bin FIRMWARE_FORMAT=bin
else else
PLATFORM=AVR PLATFORM=AVR
PLATFORM_KEY=avr
FIRMWARE_FORMAT?=hex FIRMWARE_FORMAT?=hex
endif endif
+1
View File
@@ -41,6 +41,7 @@ all: elf
VPATH += $(COMMON_VPATH) VPATH += $(COMMON_VPATH)
PLATFORM:=TEST PLATFORM:=TEST
PLATFORM_KEY:=test
ifneq ($(filter $(FULL_TESTS),$(TEST)),) ifneq ($(filter $(FULL_TESTS),$(TEST)),)
include tests/$(TEST)/rules.mk include tests/$(TEST)/rules.mk
+2 -10
View File
@@ -35,11 +35,7 @@ ifeq ($(strip $(AUDIO_ENABLE)), yes)
MUSIC_ENABLE := 1 MUSIC_ENABLE := 1
SRC += $(QUANTUM_DIR)/process_keycode/process_audio.c SRC += $(QUANTUM_DIR)/process_keycode/process_audio.c
SRC += $(QUANTUM_DIR)/process_keycode/process_clicky.c SRC += $(QUANTUM_DIR)/process_keycode/process_clicky.c
ifeq ($(PLATFORM),AVR) SRC += $(QUANTUM_DIR)/audio/audio_$(PLATFORM_KEY).c
SRC += $(QUANTUM_DIR)/audio/audio.c
else
SRC += $(QUANTUM_DIR)/audio/audio_arm.c
endif
SRC += $(QUANTUM_DIR)/audio/voices.c SRC += $(QUANTUM_DIR)/audio/voices.c
SRC += $(QUANTUM_DIR)/audio/luts.c SRC += $(QUANTUM_DIR)/audio/luts.c
endif endif
@@ -315,11 +311,7 @@ ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
else else
SRC += $(QUANTUM_DIR)/backlight/backlight_driver_common.c SRC += $(QUANTUM_DIR)/backlight/backlight_driver_common.c
ifeq ($(strip $(BACKLIGHT_DRIVER)), pwm) ifeq ($(strip $(BACKLIGHT_DRIVER)), pwm)
ifeq ($(PLATFORM),AVR) SRC += $(QUANTUM_DIR)/backlight/backlight_$(PLATFORM_KEY).c
SRC += $(QUANTUM_DIR)/backlight/backlight_avr.c
else
SRC += $(QUANTUM_DIR)/backlight/backlight_arm.c
endif
else else
SRC += $(QUANTUM_DIR)/backlight/backlight_$(strip $(BACKLIGHT_DRIVER)).c SRC += $(QUANTUM_DIR)/backlight/backlight_$(strip $(BACKLIGHT_DRIVER)).c
endif endif
+6 -2
View File
@@ -42,9 +42,13 @@ We've tried to make QMK as easy to set up as possible. You only have to prepare
You will need to install MSYS2, Git, and the QMK CLI. You will need to install MSYS2, Git, and the QMK CLI.
* Follow the installation instructions on the [MSYS2 homepage](http://www.msys2.org). * Follow the installation instructions on the [MSYS2 homepage](http://www.msys2.org).
* Close any open MSYS2 terminals and open a new MSYS2 MinGW 64-bit terminal. * Close any open MSYS2 terminals and open a new MSYS2 MinGW 64-bit terminal. NOTE: This is **not** the same as the MSYS terminal that opens when installation is completed.
After opening a new MSYS2 MinGW 64-bit terminal run these commands: After opening a new MSYS2 MinGW 64-bit terminal, make sure `pacman` is up to date with:
pacman -Syu
You may be asked to close and reopen the window. Do this and keep running the above command until it says `there is nothing to do`. Then run the following:
pacman -S git python3-pip pacman -S git python3-pip
python3 -m pip install qmk python3 -m pip install qmk
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,33 @@
/*
This is the c configuration file for the keymap
Copyright 2012 Jun Wako <[email protected]>
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
/* Use I2C or Serial, not both */
#define USE_SERIAL
// #define USE_I2C
/* Select hand configuration */
#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS
@@ -0,0 +1,24 @@
#include QMK_KEYBOARD_H
#include "keymap_german.h"
enum layers {
_QWERTZ,
_MOD,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTZ] = LAYOUT(
_______ ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,_______ , KC_RSFT ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,_______ ,
KC_ESC ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_BSPC , KC_DEL ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,DE_ADIA ,
KC_TAB ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,DE_UNDS , KC_LALT ,KC_H ,KC_J ,KC_K ,KC_L ,DE_EQL ,DE_ODIA ,
_______ ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_SPC , KC_ENT ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,DE_SS ,DE_UDIA ,
_______ ,_______ ,_______ ,_______ , KC_LCTL ,KC_SPC ,KC_LSFT , MO(_MOD),KC_ENT ,KC_LGUI , _______ ,_______ ,_______ ,_______
),
[_MOD] = LAYOUT(
KC_F11 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,RGB_MOD , RESET ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F12 ,
DE_CIRC ,DE_QUOT ,DE_DQUO ,DE_LCBR ,DE_RCBR ,DE_GRV ,RGB_TOG , _______ ,DE_PERC ,DE_PLUS ,DE_MINS ,DE_ASTR ,DE_SLSH ,DE_BSLS ,
DE_TILD ,DE_EXLM ,DE_DLR ,DE_LPRN ,DE_RPRN ,DE_AMPR ,RGB_M_P , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,DE_QUES ,DE_PIPE ,
_______ ,DE_AT ,DE_EURO ,DE_LBRC ,DE_RBRC ,_______ ,_______ , _______ ,DE_HASH ,DE_LABK ,DE_SCLN ,DE_COLN ,DE_RABK ,DE_SECT ,
_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______
),
};
@@ -0,0 +1,4 @@
# Tw1t611 Ergodash Layout
This is a german layout for the ergodash keyboard. The Umlauts are placed on the right side.
It uses two layers and has vim like aligned arrow keys.
@@ -0,0 +1,3 @@
BACKLIGHT_ENABLE = no
RGBLIGHT_ENABLE = no
AUDIO_ENABLE = no
+3 -3
View File
@@ -20,11 +20,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h" #include "config_common.h"
/* USB Device descriptor parameter */ /* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED #define VENDOR_ID 0x464C // "FL"
#define PRODUCT_ID 0x0000 #define PRODUCT_ID 0x0001
#define DEVICE_VER 0x0001 #define DEVICE_VER 0x0001
#define MANUFACTURER Fox Lab #define MANUFACTURER Fox Lab
#define PRODUCT Leaf60 Hotswap #define PRODUCT Leaf 60 Hotswap
#define DESCRIPTION A custom hotswap 60% keyboard #define DESCRIPTION A custom hotswap 60% keyboard
/* key matrix size */ /* key matrix size */
@@ -0,0 +1,48 @@
/* Copyright 2019 Fox Lab
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_60_tsangan_hhkb(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL),
LAYOUT_60_tsangan_hhkb(
RESET, 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_TRNS,
KC_TRNS, BL_TOGG, BL_DEC, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_60_tsangan_hhkb(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_60_tsangan_hhkb(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
@@ -0,0 +1 @@
VIA_ENABLE = yes
+3 -3
View File
@@ -20,11 +20,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h" #include "config_common.h"
/* USB Device descriptor parameter */ /* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED #define VENDOR_ID 0x464C // "FL"
#define PRODUCT_ID 0x0000 #define PRODUCT_ID 0x0002
#define DEVICE_VER 0x0001 #define DEVICE_VER 0x0001
#define MANUFACTURER Fox Lab #define MANUFACTURER Fox Lab
#define PRODUCT Leaf60 Universal #define PRODUCT Leaf 60 Universal
#define DESCRIPTION A custom 60% keyboard #define DESCRIPTION A custom 60% keyboard
/* key matrix size */ /* key matrix size */
@@ -0,0 +1,48 @@
/* Copyright 2019 Fox Lab
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT_all(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, 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_DEL,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL),
LAYOUT_all(
RESET, 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_TRNS,
KC_TRNS, BL_TOGG, BL_DEC, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
@@ -0,0 +1 @@
VIA_ENABLE = yes
+6 -3
View File
@@ -14,14 +14,17 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#pragma once
#include "config_common.h" #include "config_common.h"
/* USB Device descriptor parameter */ /* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED #define VENDOR_ID 0x4335 // GEEKhack
#define PRODUCT_ID 0x6060 #define PRODUCT_ID 0x0001
#define DEVICE_VER 0x0001 #define DEVICE_VER 0x0001
#define MANUFACTURER geekhack #define MANUFACTURER geekhack
#define PRODUCT GH60 #define PRODUCT GH60 Rev C
#define DESCRIPTION t.m.k. keyboard firmware for GH60 #define DESCRIPTION t.m.k. keyboard firmware for GH60
/* key matrix size */ /* key matrix size */
+2 -5
View File
@@ -1,10 +1,7 @@
{ {
"keyboard_name": "GH60", "keyboard_name": "GH60 Rev C",
"url": "http://qmk.fm/keyboards/gh60", "url": "",
"maintainer": "qmk", "maintainer": "qmk",
"keyboard_folder": "gh60",
"processor": "atmega32u4",
"manufacturer": "geekhack",
"width": 15, "width": 15,
"height": 5, "height": 5,
"layouts": { "layouts": {
+53
View File
@@ -0,0 +1,53 @@
/* Copyright 2020 Diego Song
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all( /* 0: qwerty */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
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_BSPC,
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_NO, KC_ENT,
KC_LSFT, TG(2), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
),
[1] = LAYOUT_all( /* 1: fn */
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT_all( /* 2: arrows */
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT
),
[3] = LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};
+1
View File
@@ -0,0 +1 @@
VIA_ENABLE = yes
+3 -3
View File
@@ -20,11 +20,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h" #include "config_common.h"
/* USB Device descriptor parameter */ /* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED #define VENDOR_ID 0x4335
#define PRODUCT_ID 0x6060 #define PRODUCT_ID 0x0002
#define DEVICE_VER 0x0003 #define DEVICE_VER 0x0003
#define MANUFACTURER SATAN #define MANUFACTURER SATAN
#define PRODUCT GH60 #define PRODUCT GH60 Satan
#define DESCRIPTION 60% keyboard with backlight and WS2812 support #define DESCRIPTION 60% keyboard with backlight and WS2812 support
/* key matrix size */ /* key matrix size */
+1 -1
View File
@@ -1,5 +1,5 @@
{ {
"keyboard_name": "Satan GH60", "keyboard_name": "GH60 Satan",
"url": "", "url": "",
"maintainer": "qmk", "maintainer": "qmk",
"width": 15, "width": 15,
+53
View File
@@ -0,0 +1,53 @@
/* Copyright 2020 Diego Song
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_all( /* 0: qwerty */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
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_BSPC,
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_NO, KC_ENT,
KC_LSFT, TG(2), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
),
[1] = LAYOUT_all( /* 1: fn */
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT_all( /* 2: arrows */
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT
),
[3] = LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};
@@ -0,0 +1,2 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
+1 -1
View File
@@ -30,4 +30,4 @@ SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \ keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/issi/is31fl3733.c \ drivers/issi/is31fl3733.c \
quantum/color.c \ quantum/color.c \
drivers/arm/i2c_master.c drivers/chibios/i2c_master.c
+1 -1
View File
@@ -28,4 +28,4 @@ SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \ keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/issi/is31fl3733.c \ drivers/issi/is31fl3733.c \
quantum/color.c \ quantum/color.c \
drivers/arm/i2c_master.c drivers/chibios/i2c_master.c
+1 -1
View File
@@ -30,4 +30,4 @@ SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \ keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/issi/is31fl3733.c \ drivers/issi/is31fl3733.c \
quantum/color.c \ quantum/color.c \
drivers/arm/i2c_master.c drivers/chibios/i2c_master.c
+1 -1
View File
@@ -30,4 +30,4 @@ SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \ keyboards/wilba_tech/wt_rgb_backlight.c \
drivers/issi/is31fl3733.c \ drivers/issi/is31fl3733.c \
quantum/color.c \ quantum/color.c \
drivers/arm/i2c_master.c drivers/chibios/i2c_master.c
+3
View File
@@ -41,6 +41,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Encoders */ /* Encoders */
#define ENCODERS_PAD_A { F4, F6 } #define ENCODERS_PAD_A { F4, F6 }
#define ENCODERS_PAD_B { F5, F7 } #define ENCODERS_PAD_B { F5, F7 }
#define ENCODER_RESOLUTION 2
// if you want to reverse encoder direction
// #define ENCODER_DIRECTION_FLIP
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5 #define DEBOUNCE 5
+20 -20
View File
@@ -116,55 +116,55 @@ void encoder_update_user(uint8_t index, bool clockwise) {
if (currentLayer % 2 == 0) { if (currentLayer % 2 == 0) {
// default layer // default layer
// Zoom // Zoom
tap_code16(!clockwise ? G(KC_EQL) : G(KC_MINS)); tap_code16(!clockwise ? G(KC_MINS) : G(KC_EQL));
} else { } else {
// Fn Layer // Fn Layer
// rotate canvas // rotate canvas
tap_code(!clockwise ? KC_QUOT : KC_MINS); tap_code(!clockwise ? KC_MINS : KC_QUOT);
} }
break; break;
case MAC_PS_1: case MAC_PS_1:
if (currentLayer % 2 == 0) { if (currentLayer % 2 == 0) {
// default layer // default layer
// Zoom // Zoom
tap_code16(!clockwise ? G(KC_EQL) : G(KC_MINS)); tap_code16(!clockwise ? G(KC_MINS) : G(KC_EQL));
} else { } else {
// Fn Layer // Fn Layer
// undo / redo // undo / redo
tap_code16(!clockwise ? S(G(KC_Z)) : G(KC_Z)); tap_code16(!clockwise ? G(KC_Z) : S(G(KC_Z)));
} }
break; break;
case WIN_CS_1: case WIN_CS_1:
if (currentLayer % 2 == 0) { if (currentLayer % 2 == 0) {
// default layer // default layer
// Zoom // Zoom
tap_code16(!clockwise ? C(KC_EQL) : C(KC_MINS)); tap_code16(!clockwise ? C(KC_MINS) : C(KC_EQL));
} else { } else {
// Fn Layer // Fn Layer
// rotate canvas // rotate canvas
tap_code(!clockwise ? KC_QUOT : KC_MINS); tap_code(!clockwise ? KC_MINS : KC_QUOT);
} }
break; break;
case WIN_PS_1: case WIN_PS_1:
if (currentLayer % 2 == 0) { if (currentLayer % 2 == 0) {
// default layer // default layer
// Zoom // Zoom
tap_code16(!clockwise ? C(KC_SCLN) : C(KC_MINS)); tap_code16(!clockwise ? C(KC_MINS) : C(KC_SCLN));
} else { } else {
// Fn Layer // Fn Layer
// undo / redo // undo / redo
tap_code16(!clockwise ? C(S(KC_Z)) : C(KC_Z)); tap_code16(!clockwise ? C(KC_Z) : C(S(KC_Z)));
} }
break; break;
case IOS_CS_1: case IOS_CS_1:
if (currentLayer % 2 == 0) { if (currentLayer % 2 == 0) {
// default layer // default layer
// Zoom // Zoom
tap_code16(!clockwise ? G(KC_SCLN) : G(KC_MINS)); tap_code16(!clockwise ? G(KC_MINS) : G(KC_SCLN));
} else { } else {
// Fn Layer // Fn Layer
// rotate canvas // rotate canvas
tap_code(!clockwise ? KC_EQL : KC_MINS); tap_code(!clockwise ? KC_MINS : KC_EQL);
} }
break; break;
default: default:
@@ -176,55 +176,55 @@ void encoder_update_user(uint8_t index, bool clockwise) {
if (currentLayer % 2 == 0) { if (currentLayer % 2 == 0) {
// default layer // default layer
// size of brush // size of brush
tap_code(!clockwise ? KC_RBRC : KC_LBRC); tap_code(!clockwise ? KC_LBRC : KC_RBRC);
} else { } else {
// Fn Layer // Fn Layer
// opacity of brush // opacity of brush
tap_code16(!clockwise ? G(KC_RBRC) : G(KC_LBRC)); tap_code16(!clockwise ? G(KC_LBRC) : G(KC_RBRC));
} }
break; break;
case MAC_PS_1: case MAC_PS_1:
if (currentLayer % 2 == 0) { if (currentLayer % 2 == 0) {
// default layer // default layer
// size of brush // size of brush
tap_code(!clockwise ? KC_RBRC : KC_LBRC); tap_code(!clockwise ? KC_LBRC : KC_RBRC);
} else { } else {
// Fn Layer // Fn Layer
// opacity of brush // opacity of brush
tap_code16(!clockwise ? KC_RCBR : KC_LCBR); tap_code16(!clockwise ? KC_LCBR : KC_RCBR);
} }
break; break;
case WIN_CS_1: case WIN_CS_1:
if (currentLayer % 2 == 0) { if (currentLayer % 2 == 0) {
// default layer // default layer
// rotate canvas // rotate canvas
tap_code(!clockwise ? KC_RBRC : KC_LBRC); tap_code(!clockwise ? KC_LBRC : KC_RBRC);
} else { } else {
// Fn Layer // Fn Layer
// opacity of brush // opacity of brush
tap_code16(!clockwise ? C(KC_RBRC) : C(KC_LBRC)); tap_code16(!clockwise ? C(KC_LBRC) : C(KC_RBRC));
} }
break; break;
case WIN_PS_1: case WIN_PS_1:
if (currentLayer % 2 == 0) { if (currentLayer % 2 == 0) {
// default layer // default layer
// rotate canvas // rotate canvas
tap_code(!clockwise ? KC_RBRC : KC_LBRC); tap_code(!clockwise ? KC_LBRC : KC_RBRC);
} else { } else {
// Fn Layer // Fn Layer
// opacity of brush // opacity of brush
tap_code16(!clockwise ? KC_RCBR : KC_LCBR); tap_code16(!clockwise ? KC_LCBR : KC_RCBR);
} }
break; break;
case IOS_CS_1: case IOS_CS_1:
if (currentLayer % 2 == 0) { if (currentLayer % 2 == 0) {
// default layer // default layer
// size of brush // size of brush
tap_code(!clockwise ? KC_BSLS : KC_RBRC); tap_code(!clockwise ? KC_RBRC : KC_BSLS);
} else { } else {
// Fn Layer // Fn Layer
// opacity of brush // opacity of brush
tap_code16(!clockwise ? G(KC_BSLS) : G(KC_RBRC)); tap_code16(!clockwise ? G(KC_RBRC) : G(KC_BSLS));
} }
break; break;
default: default:
+1 -1
View File
@@ -6,7 +6,7 @@ A left hand device with rotary encoder, for artists.
* Keyboard Maintainer: [niltea](https://github.com/niltea) * Keyboard Maintainer: [niltea](https://github.com/niltea)
* Hardware Supported: Palette1202 * Hardware Supported: Palette1202
* Hardware Availability: [Pixiv Booth](https://booth.pm/) * Hardware Availability: [Pixiv Booth](https://niltea.booth.pm/)
* [PCB & Case](https://github.com/niltea/Palette1202) * [PCB & Case](https://github.com/niltea/Palette1202)
Make example for this keyboard (after setting up your build environment): Make example for this keyboard (after setting up your build environment):
+1 -1
View File
@@ -49,7 +49,7 @@
#else #else
#include "ch.h" #include "ch.h"
#include "hal.h" #include "hal.h"
#include "drivers/arm/i2c_master.h" #include "drivers/chibios/i2c_master.h"
#endif #endif
#if defined(RGB_BACKLIGHT_DAWN60) #if defined(RGB_BACKLIGHT_DAWN60)
+12 -12
View File
@@ -3,18 +3,18 @@
#include "quantum.h" #include "quantum.h"
#define LAYOUT( \ #define LAYOUT( \
K00, K01, K02, K03, K04, K05, K20, K21, K22, K23, K24, K25, \ K00, K01, K02, K03, K04, K05, K40, K41, K42, K43, K44, K45,\
K40, K41, K42, K43, K44, K45, K60, K61, K62, K63, K64, K65, \ K10, K11, K12, K13, K14, K15, K50, K51, K52, K53, K54, K55,\
K10, K11, K12, K13, K14, K15, K30, K31, K32, K33, K34, K35, \ K20, K21, K22, K23, K24, K25, K60, K61, K62, K63, K64, K65,\
K50, K51, K52, K53, K54, K55, K70, K71, K72, K73, K74, K75 \ K30, K31, K32, K33, K34, K35, K70, K71, K72, K73, K74, K75 \
) { \ ) { \
{ K00, K01, K02, K03, K04, K05 }, \ { K00, K01, K02, K03, K04, K05 }, \
{ K10, K11, K12, K13, K14, K15 }, \ { K10, K11, K12, K13, K14, K15 }, \
{ K20, K21, K22, K23, K24, K25 }, \ { K20, K21, K22, K23, K24, K25 }, \
{ K30, K31, K32, K33, K34, K35 }, \ { K30, K31, K32, K33, K34, K35 }, \
{ K40, K41, K42, K43, K44, K45 }, \ { K40, K41, K42, K43, K44, K45 }, \
{ K50, K51, K52, K53, K54, K55 }, \ { K50, K51, K52, K53, K54, K55 }, \
{ K60, K61, K62, K63, K64, K65 }, \ { K60, K61, K62, K63, K64, K65 }, \
{ K70, K71, K72, K73, K74, K75 } \ { K70, K71, K72, K73, K74, K75 } \
} }
+6 -6
View File
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_ENT, KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_ENT,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
KC_LCTL,KC_LGUI,KC_LALT,KC_DEL, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT KC_LCTL,KC_LGUI,KC_LALT,KC_RALT,LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
), ),
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,KC_MINS,KC_EQL, KC_LBRC,KC_RBRC,KC_BSLS,KC_GRV, _______,_______,_______,_______,_______, _______,KC_MINS,KC_EQL, KC_LBRC,KC_RBRC,KC_BSLS,KC_GRV, _______,_______,_______,_______,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,KC_UNDS,KC_PLUS,KC_LCBR,KC_RCBR,KC_PIPE,KC_TILD,_______,_______,_______,_______,_______, _______,KC_UNDS,KC_PLUS,KC_LCBR,KC_RCBR,KC_PIPE,KC_TILD,KC_CAPS,_______,_______,_______,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
@@ -42,13 +42,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RAISE] = LAYOUT_ortho_4x12 ( [_RAISE] = LAYOUT_ortho_4x12 (
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐ // ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
_______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,KC_F11, KC_F12, _______,_______,_______,KC_HOME,KC_PGUP,_______,_______,_______,_______, _______,KC_F11, KC_F12, _______,_______,_______,_______,KC_VOLD,KC_MUTE,KC_VOLU,_______,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,KC_CAPS,_______,KC_PGDN,KC_END, KC_PGDN,_______,KC_BTN1,KC_BTN2,_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤ // ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
_______,_______,_______,_______,TGLOWER,_______,_______,_______,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R _______,_______,_______,_______,TGLOWER,_______,_______,_______,KC_HOME,KC_PGDN,KC_PGUP,KC_END
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘ // └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
), ),
File renamed without changes.
File renamed without changes.
File renamed without changes.
+119 -45
View File
@@ -20,55 +20,129 @@
* note: This website is written in Japanese. * note: This website is written in Japanese.
*/ */
#ifndef KEYMAP_JP_H #pragma once
#define KEYMAP_JP_H
#include "keymap.h" #include "keymap.h"
#define JP_ZHTG KC_GRV // hankaku/zenkaku|kanzi // clang-format off
#define JP_YEN KC_INT3 // yen, |
#define JP_CIRC KC_EQL // ^, ~
#define JP_AT KC_LBRC // @, `
#define JP_LBRC KC_RBRC // [, {
#define JP_COLN KC_QUOT // :, *
#define JP_RBRC KC_NUHS // ], }
#define JP_BSLS KC_INT1 // \, _
#define JP_MHEN KC_INT5 // muhenkan
#define JP_HENK KC_INT4 // henkan
#define JP_KANA KC_INT2 // katakana/hiragana|ro-mazi
#define JP_MKANA KC_LANG1 // kana on MacOSX /*
#define JP_MEISU KC_LANG2 // eisu on MacOSX * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │Z↔︎H│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ^ │ ¥ │   │
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
* │     │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ @ │ [ │     │
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
* │ Eisū │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ : │ ] │    │
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
* │        │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ \ │      │
* ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
* │     │   │     │Muhen│         │ Hen │K↔H│   │   │   │     │
* └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
*/
// Row 1
#define JP_ZKHK KC_GRV // Zenkaku ↔︎ Hankaku ↔ Kanji (半角 ↔ 全角 ↔ 漢字)
#define JP_1 KC_1 // 1
#define JP_2 KC_2 // 2
#define JP_3 KC_3 // 3
#define JP_4 KC_4 // 4
#define JP_5 KC_5 // 5
#define JP_6 KC_6 // 6
#define JP_7 KC_7 // 7
#define JP_8 KC_8 // 8
#define JP_9 KC_9 // 9
#define JP_0 KC_0 // 0
#define JP_MINS KC_MINS // -
#define JP_CIRC KC_EQL // ^
#define JP_YEN KC_INT3 // ¥
// Row 2
#define JP_Q KC_Q // Q
#define JP_W KC_W // W
#define JP_E KC_E // E
#define JP_R KC_R // R
#define JP_T KC_T // T
#define JP_Y KC_Y // Y
#define JP_U KC_U // U
#define JP_I KC_I // I
#define JP_O KC_O // O
#define JP_P KC_P // P
#define JP_AT KC_LBRC // @
#define JP_LBRC KC_RBRC // [
// Row 3
#define JP_EISU KC_CAPS // Eisū (英数)
#define JP_A KC_A // A
#define JP_S KC_S // S
#define JP_D KC_D // D
#define JP_F KC_F // F
#define JP_G KC_G // G
#define JP_H KC_H // H
#define JP_J KC_J // J
#define JP_K KC_K // K
#define JP_L KC_L // L
#define JP_SCLN KC_SCLN // ;
#define JP_COLN KC_QUOT // :
#define JP_RBRC KC_NUHS // ]
// Row 4
#define JP_Z KC_Z // Z
#define JP_X KC_X // X
#define JP_C KC_C // C
#define JP_V KC_V // V
#define JP_B KC_B // B
#define JP_N KC_N // N
#define JP_M KC_M // M
#define JP_COMM KC_COMM // ,
#define JP_DOT KC_DOT // .
#define JP_SLSH KC_SLSH // /
#define JP_BSLS KC_INT1 // (backslash)
// Row 5
#define JP_MHEN KC_INT5 // Muhenkan (無変換)
#define JP_HENK KC_INT4 // Henkan (変換)
#define JP_KANA KC_INT2 // Katakana ↔ Hiragana ↔ Rōmaji (カタカナ ↔ ひらがな ↔ ローマ字)
// Aliases for shifted symbols /* Shifted symbols
#define JP_DQT LSFT(KC_2) // " * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
#define JP_AMPR LSFT(KC_6) // & * │   │ ! │ " │ # │ $ │ % │ & │ ' │ ( │ ) │   │ = │ ~ │ | │   │
#define JP_QUOT LSFT(KC_7) // ' * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
#define JP_LPRN LSFT(KC_8) // ( * │     │   │   │   │   │   │   │   │   │   │   │ ` │ { │     │
#define JP_RPRN LSFT(KC_9) // ) * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
#define JP_EQL LSFT(KC_MINS) // = * │ Caps │   │   │   │   │   │   │   │   │   │ + │ * │ } │    │
#define JP_TILD LSFT(JP_CIRC) // ~ * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤
#define JP_PIPE LSFT(JP_YEN) // | * │        │   │   │   │   │   │   │   │ < │ > │ ? │ _ │      │
#define JP_GRV LSFT(JP_AT) // ` * ├─────┬──┴┬──┴──┬┴───┴┬──┴───┴──┬┴───┴┬──┴┬──┴┬──┴┬──┴┬─────┤
#define JP_LCBR LSFT(JP_LBRC) // { * │     │   │     │     │         │     │   │   │   │   │     │
#define JP_PLUS LSFT(KC_SCLN) // + * └─────┴───┴─────┴─────┴─────────┴─────┴───┴───┴───┴───┴─────┘
#define JP_ASTR LSFT(JP_COLN) // * */
#define JP_RCBR LSFT(JP_RBRC) // } // Row 1
#define JP_UNDS LSFT(JP_BSLS) // _ #define JP_EXLM S(JP_1) // !
#define JP_DQUO S(JP_2) // "
#define JP_HASH S(JP_3) // #
#define JP_DLR S(JP_4) // $
#define JP_PERC S(JP_5) // %
#define JP_AMPR S(JP_6) // &
#define JP_QUOT S(JP_7) // '
#define JP_LPRN S(JP_8) // (
#define JP_RPRN S(JP_9) // )
#define JP_EQL S(JP_MINS) // =
#define JP_TILD S(JP_CIRC) // ~
#define JP_PIPE S(JP_YEN) // |
// Row 2
#define JP_GRV S(JP_AT) // `
#define JP_LCBR S(JP_LBRC) // {
// Row 3
#define JP_CAPS S(JP_EISU) // Caps Lock
#define JP_PLUS S(JP_SCLN) // +
#define JP_ASTR S(JP_COLN) // *
#define JP_RCBR S(JP_RBRC) // }
// Row 4
#define JP_LABK S(JP_COMM) // <
#define JP_RABK S(JP_DOT) // >
#define JP_QUES S(JP_SLSH) // ?
#define JP_UNDS S(JP_BSLS) // _
// These symbols are correspond to US101-layout. // DEPRECATED
#define JP_MINS KC_MINS // - #define JP_ZHTG JP_ZKHK
#define JP_SCLN KC_SCLN // ; #define JP_DQT JP_DQUO
#define JP_COMM KC_COMM // , #define JP_LT JP_LABK
#define JP_DOT KC_DOT // . #define JP_GT JP_RABK
#define JP_SLSH KC_SLSH // /
// shifted
#define JP_EXLM KC_EXLM // !
#define JP_HASH KC_HASH // #
#define JP_DLR KC_DLR // $
#define JP_PERC KC_PERC // %
#define JP_LT KC_LT // <
#define JP_GT KC_GT // >
#define JP_QUES KC_QUES // ?
#endif #define JP_MEISU KC_LANG2 // Eisū (英数) on macOS
#define JP_MKANA KC_LANG1 // Kana (かな) on macOS
+1 -1
View File
@@ -40,7 +40,7 @@ const uint8_t ascii_to_shift_lut[16] PROGMEM = {
KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0), KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0)
}; };
const uint8_t ascii_to_keycode_lut[128] PROGMEM = { const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
+1 -1
View File
@@ -179,7 +179,7 @@ HEX = $(OBJCOPY) -O $(FORMAT)
EEP = EEP =
BIN = $(OBJCOPY) -O binary BIN = $(OBJCOPY) -O binary
COMMON_VPATH += $(DRIVER_PATH)/arm COMMON_VPATH += $(DRIVER_PATH)/chibios
THUMBFLAGS = -DTHUMB_PRESENT -mno-thumb-interwork -DTHUMB_NO_INTERWORKING -mthumb -DTHUMB THUMBFLAGS = -DTHUMB_PRESENT -mno-thumb-interwork -DTHUMB_NO_INTERWORKING -mthumb -DTHUMB
+2 -12
View File
@@ -1,13 +1,5 @@
COMMON_DIR = common COMMON_DIR = common
ifeq ($(PLATFORM),AVR) PLATFORM_COMMON_DIR = $(COMMON_DIR)/$(PLATFORM_KEY)
PLATFORM_COMMON_DIR = $(COMMON_DIR)/avr
else ifeq ($(PLATFORM),CHIBIOS)
PLATFORM_COMMON_DIR = $(COMMON_DIR)/chibios
else ifeq ($(PLATFORM),ARM_ATSAM)
PLATFORM_COMMON_DIR = $(COMMON_DIR)/arm_atsam
else
PLATFORM_COMMON_DIR = $(COMMON_DIR)/test
endif
TMK_COMMON_SRC += $(COMMON_DIR)/host.c \ TMK_COMMON_SRC += $(COMMON_DIR)/host.c \
$(COMMON_DIR)/keyboard.c \ $(COMMON_DIR)/keyboard.c \
@@ -179,6 +171,4 @@ endif
# Search Path # Search Path
VPATH += $(TMK_PATH)/$(COMMON_DIR) VPATH += $(TMK_PATH)/$(COMMON_DIR)
ifeq ($(PLATFORM),CHIBIOS) VPATH += $(TMK_PATH)/$(PLATFORM_COMMON_DIR)
VPATH += $(TMK_PATH)/$(COMMON_DIR)/chibios
endif
-5
View File
@@ -562,8 +562,6 @@ void process_action(keyrecord_t *record, action_t action) {
action_macro_play(action_get_macro(record, action.func.id, action.func.opt)); action_macro_play(action_get_macro(record, action.func.id, action.func.opt));
break; break;
#endif #endif
case ACT_COMMAND:
break;
#ifdef SWAP_HANDS_ENABLE #ifdef SWAP_HANDS_ENABLE
case ACT_SWAP_HANDS: case ACT_SWAP_HANDS:
switch (action.swap.code) { switch (action.swap.code) {
@@ -1041,9 +1039,6 @@ void debug_action(action_t action) {
case ACT_MACRO: case ACT_MACRO:
dprint("ACT_MACRO"); dprint("ACT_MACRO");
break; break;
case ACT_COMMAND:
dprint("ACT_COMMAND");
break;
case ACT_FUNCTION: case ACT_FUNCTION:
dprint("ACT_FUNCTION"); dprint("ACT_FUNCTION");
break; break;
+1 -11
View File
@@ -87,9 +87,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
* 1100|1111| id(8) Macro record? * 1100|1111| id(8) Macro record?
* *
* 1101|xxxx xxxx xxxx (reserved) * 1101|xxxx xxxx xxxx (reserved)
* * 1110|xxxx xxxx xxxx (reserved)
* ACT_COMMAND(1110):
* 1110|opt | id(8) Built-in Command exec
* *
* ACT_FUNCTION(1111): * ACT_FUNCTION(1111):
* 1111| address(12) Function? * 1111| address(12) Function?
@@ -115,7 +113,6 @@ enum action_kind_id {
ACT_LAYER_TAP_EXT = 0b1011, /* Layer 16-31 */ ACT_LAYER_TAP_EXT = 0b1011, /* Layer 16-31 */
/* Extensions */ /* Extensions */
ACT_MACRO = 0b1100, ACT_MACRO = 0b1100,
ACT_COMMAND = 0b1110,
ACT_FUNCTION = 0b1111 ACT_FUNCTION = 0b1111
}; };
@@ -167,11 +164,6 @@ typedef union {
uint8_t page : 2; uint8_t page : 2;
uint8_t kind : 4; uint8_t kind : 4;
} usage; } usage;
struct action_command {
uint8_t id : 8;
uint8_t opt : 4;
uint8_t kind : 4;
} command;
struct action_function { struct action_function {
uint8_t id : 8; uint8_t id : 8;
uint8_t opt : 4; uint8_t opt : 4;
@@ -287,8 +279,6 @@ enum layer_param_tap_op {
#define ACTION_MACRO(id) ACTION(ACT_MACRO, (id)) #define ACTION_MACRO(id) ACTION(ACT_MACRO, (id))
#define ACTION_MACRO_TAP(id) ACTION(ACT_MACRO, FUNC_TAP << 8 | (id)) #define ACTION_MACRO_TAP(id) ACTION(ACT_MACRO, FUNC_TAP << 8 | (id))
#define ACTION_MACRO_OPT(id, opt) ACTION(ACT_MACRO, (opt) << 8 | (id)) #define ACTION_MACRO_OPT(id, opt) ACTION(ACT_MACRO, (opt) << 8 | (id))
/* Command */
#define ACTION_COMMAND(id, opt) ACTION(ACT_COMMAND, (opt) << 8 | (id))
/* Function */ /* Function */
enum function_opts { enum function_opts {
FUNC_TAP = 0x8, /* indciates function is tappable */ FUNC_TAP = 0x8, /* indciates function is tappable */
+68 -53
View File
@@ -15,66 +15,83 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#ifndef REPORT_H #pragma once
#define REPORT_H
#include <stdint.h> #include <stdint.h>
#include <stdbool.h> #include <stdbool.h>
#include "keycode.h" #include "keycode.h"
/* report id */ /* HID report IDs */
#define REPORT_ID_KEYBOARD 1 enum hid_report_ids {
#define REPORT_ID_MOUSE 2 REPORT_ID_KEYBOARD = 1,
#define REPORT_ID_SYSTEM 3 REPORT_ID_MOUSE,
#define REPORT_ID_CONSUMER 4 REPORT_ID_SYSTEM,
#define REPORT_ID_NKRO 5 REPORT_ID_CONSUMER,
REPORT_ID_NKRO
};
/* mouse buttons */ /* Mouse buttons */
#define MOUSE_BTN1 (1 << 0) enum mouse_buttons {
#define MOUSE_BTN2 (1 << 1) MOUSE_BTN1 = (1 << 0),
#define MOUSE_BTN3 (1 << 2) MOUSE_BTN2 = (1 << 1),
#define MOUSE_BTN4 (1 << 3) MOUSE_BTN3 = (1 << 2),
#define MOUSE_BTN5 (1 << 4) MOUSE_BTN4 = (1 << 3),
MOUSE_BTN5 = (1 << 4)
};
/* Consumer Page(0x0C) // clang-format off
* following are supported by Windows: http://msdn.microsoft.com/en-us/windows/hardware/gg463372.aspx
* see also https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/display-brightness-control /* Consumer Page (0x0C)
*
* See https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf#page=75
*/ */
#define AUDIO_MUTE 0x00E2 enum consumer_usages {
#define AUDIO_VOL_UP 0x00E9 // 15.5 Display Controls (https://www.usb.org/sites/default/files/hutrr41_0.pdf)
#define AUDIO_VOL_DOWN 0x00EA BRIGHTNESS_UP = 0x06F,
#define TRANSPORT_NEXT_TRACK 0x00B5 BRIGHTNESS_DOWN = 0x070,
#define TRANSPORT_PREV_TRACK 0x00B6 // 15.7 Transport Controls
#define TRANSPORT_STOP 0x00B7 TRANSPORT_RECORD = 0x0B2,
#define TRANSPORT_STOP_EJECT 0x00CC TRANSPORT_FAST_FORWARD = 0x0B3,
#define TRANSPORT_PLAY_PAUSE 0x00CD TRANSPORT_REWIND = 0x0B4,
#define BRIGHTNESS_UP 0x006F TRANSPORT_NEXT_TRACK = 0x0B5,
#define BRIGHTNESS_DOWN 0x0070 TRANSPORT_PREV_TRACK = 0x0B6,
/* application launch */ TRANSPORT_STOP = 0x0B7,
#define AL_CC_CONFIG 0x0183 TRANSPORT_EJECT = 0x0B8,
#define AL_EMAIL 0x018A TRANSPORT_STOP_EJECT = 0x0CC,
#define AL_CALCULATOR 0x0192 TRANSPORT_PLAY_PAUSE = 0x0CD,
#define AL_LOCAL_BROWSER 0x0194 // 15.9.1 Audio Controls - Volume
/* application control */ AUDIO_MUTE = 0x0E2,
#define AC_SEARCH 0x0221 AUDIO_VOL_UP = 0x0E9,
#define AC_HOME 0x0223 AUDIO_VOL_DOWN = 0x0EA,
#define AC_BACK 0x0224 // 15.15 Application Launch Buttons
#define AC_FORWARD 0x0225 AL_CC_CONFIG = 0x183,
#define AC_STOP 0x0226 AL_EMAIL = 0x18A,
#define AC_REFRESH 0x0227 AL_CALCULATOR = 0x192,
#define AC_BOOKMARKS 0x022A AL_LOCAL_BROWSER = 0x194,
/* supplement for Bluegiga iWRAP HID(not supported by Windows?) */ AL_LOCK = 0x19E,
#define AL_LOCK 0x019E // 15.16 Generic GUI Application Controls
#define TRANSPORT_RECORD 0x00B2 AC_MINIMIZE = 0x206,
#define TRANSPORT_FAST_FORWARD 0x00B3 AC_SEARCH = 0x221,
#define TRANSPORT_REWIND 0x00B4 AC_HOME = 0x223,
#define TRANSPORT_EJECT 0x00B8 AC_BACK = 0x224,
#define AC_MINIMIZE 0x0206 AC_FORWARD = 0x225,
AC_STOP = 0x226,
AC_REFRESH = 0x227,
AC_BOOKMARKS = 0x22A
};
/* Generic Desktop Page(0x01) - system power control */ /* Generic Desktop Page (0x01)
#define SYSTEM_POWER_DOWN 0x0081 *
#define SYSTEM_SLEEP 0x0082 * See https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf#page=26
#define SYSTEM_WAKE_UP 0x0083 */
enum desktop_usages {
// 4.5.1 System Controls - Power Controls
SYSTEM_POWER_DOWN = 0x81,
SYSTEM_SLEEP = 0x82,
SYSTEM_WAKE_UP = 0x83
};
// clang-format on
#define NKRO_SHARED_EP #define NKRO_SHARED_EP
/* key report size(NKRO or boot mode) */ /* key report size(NKRO or boot mode) */
@@ -253,5 +270,3 @@ void clear_keys_from_report(report_keyboard_t* keyboard_report);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif