Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
ad982e39d6 | ||
|
0ad93d7443 | ||
|
690a08cbbb | ||
|
7923376de1 | ||
|
8582faab6f | ||
|
60a0b08da3 | ||
|
5cc7df8750 |
@@ -8,6 +8,7 @@ indent_style = space
|
|||||||
indent_size = 2
|
indent_size = 2
|
||||||
|
|
||||||
# We recommend you to keep these unchanged
|
# We recommend you to keep these unchanged
|
||||||
|
end_of_line = lf
|
||||||
charset = utf-8
|
charset = utf-8
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
@@ -15,22 +16,3 @@ insert_final_newline = true
|
|||||||
[*.md]
|
[*.md]
|
||||||
trim_trailing_whitespace = false
|
trim_trailing_whitespace = false
|
||||||
indent_size = 4
|
indent_size = 4
|
||||||
|
|
||||||
# Make these match what we have in .gitattributes
|
|
||||||
[*.mk]
|
|
||||||
end_of_line = lf
|
|
||||||
|
|
||||||
[Makefile]
|
|
||||||
end_of_line = lf
|
|
||||||
|
|
||||||
[*.sh]
|
|
||||||
end_of_line = lf
|
|
||||||
|
|
||||||
# The gitattributes file will handle the line endings conversion properly according to the operating system settings for other files
|
|
||||||
|
|
||||||
|
|
||||||
# We don't have gitattributes properly for these
|
|
||||||
# So if the user have for example core.autocrlf set to true
|
|
||||||
# the line endings would be wrong.
|
|
||||||
[lib/**]
|
|
||||||
end_of_line = unset
|
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -52,7 +52,6 @@ util/Win_Check_Output.txt
|
|||||||
.vscode/last.sql
|
.vscode/last.sql
|
||||||
.vscode/temp.sql
|
.vscode/temp.sql
|
||||||
.stfolder
|
.stfolder
|
||||||
.tags
|
|
||||||
|
|
||||||
# ignore image files
|
# ignore image files
|
||||||
*.png
|
*.png
|
||||||
|
@@ -113,14 +113,13 @@ endif
|
|||||||
|
|
||||||
# We can assume a ChibiOS target When MCU_FAMILY is defined , since it's not used for LUFA
|
# We can assume a ChibiOS target When MCU_FAMILY is defined , since it's not used for LUFA
|
||||||
ifdef MCU_FAMILY
|
ifdef MCU_FAMILY
|
||||||
FIRMWARE_FORMAT=bin
|
|
||||||
PLATFORM=CHIBIOS
|
PLATFORM=CHIBIOS
|
||||||
else
|
else
|
||||||
PLATFORM=AVR
|
PLATFORM=AVR
|
||||||
FIRMWARE_FORMAT=hex
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(PLATFORM),CHIBIOS)
|
ifeq ($(PLATFORM),CHIBIOS)
|
||||||
|
include $(TMK_PATH)/protocol/chibios.mk
|
||||||
include $(TMK_PATH)/chibios.mk
|
include $(TMK_PATH)/chibios.mk
|
||||||
OPT_OS = chibios
|
OPT_OS = chibios
|
||||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","")
|
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","")
|
||||||
@@ -246,10 +245,6 @@ endif
|
|||||||
include $(TMK_PATH)/avr.mk
|
include $(TMK_PATH)/avr.mk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(PLATFORM),CHIBIOS)
|
|
||||||
include $(TMK_PATH)/protocol/chibios.mk
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
|
ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
|
||||||
VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer
|
VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer
|
||||||
VISUALIZER_PATH = $(QUANTUM_PATH)/visualizer
|
VISUALIZER_PATH = $(QUANTUM_PATH)/visualizer
|
||||||
@@ -275,7 +270,7 @@ $(KEYBOARD_OUTPUT)_CONFIG := $(PROJECT_CONFIG)
|
|||||||
all: build check-size
|
all: build check-size
|
||||||
|
|
||||||
# Change the build target to build a HEX file or a library.
|
# Change the build target to build a HEX file or a library.
|
||||||
build: elf cpfirmware
|
build: elf cphex
|
||||||
#build: elf hex eep lss sym
|
#build: elf hex eep lss sym
|
||||||
#build: lib
|
#build: lib
|
||||||
|
|
||||||
|
@@ -155,9 +155,6 @@ endif
|
|||||||
ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
|
ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
|
||||||
ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
|
ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
|
||||||
CIE1931_CURVE = yes
|
CIE1931_CURVE = yes
|
||||||
endif
|
|
||||||
ifeq ($(strip $(BACKLIGHT_CUSTOM_DRIVER)), yes)
|
|
||||||
OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER
|
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@@ -1,41 +1,21 @@
|
|||||||
# Frequently Asked Build Questions
|
# Frequently Asked Build Questions
|
||||||
|
|
||||||
This page covers questions about building QMK. If you haven't yet done so, you should read the [Build Environment Setup](getting_started_build_tools.md) and [Make Instructions](getting_started_make_guide.md) guides.
|
This page covers questions about building QMK. If you have not yet you should read the [Build Environment Setup](getting_started_build_tools.md) and [Make Instructions](getting_started_make_guide.md) guides.
|
||||||
|
|
||||||
## Can't Program on Linux
|
## Can't Program on Linux
|
||||||
You will need proper permissions to operate a device. For Linux users, see the instructions regarding `udev` rules, below. If you have issues with `udev`, a work-around is to use the `sudo` command. If you are not familiar with this command, check its manual with `man sudo` or [see this webpage](https://linux.die.net/man/8/sudo).
|
You will need proper permission to operate a device. For Linux users see udev rules below. Easy way is to use `sudo` command, if you are not familiar with this command check its manual with `man sudo` or this page on line.
|
||||||
|
|
||||||
An example of using `sudo`, when your controller is ATMega32u4:
|
In short when your controller is ATMega32u4,
|
||||||
|
|
||||||
$ sudo dfu-programmer atmega32u4 erase --force
|
$ sudo dfu-programmer atmega32u4 erase --force
|
||||||
$ sudo dfu-programmer atmega32u4 flash your.hex
|
$ sudo dfu-programmer atmega32u4 flash your.hex
|
||||||
$ sudo dfu-programmer atmega32u4 reset
|
$ sudo dfu-programmer atmega32u4 reset
|
||||||
|
|
||||||
or just:
|
or just
|
||||||
|
|
||||||
$ sudo make <keyboard>:<keymap>:dfu
|
$ sudo make <keyboard>:<keymap>:dfu
|
||||||
|
|
||||||
Note that running `make` with `sudo` is generally *not* a good idea, and you should use one of the former methods, if possible.
|
But to run `make` with root privilege is not good idea. Use former method if possible.
|
||||||
|
|
||||||
## Linux `udev` Rules
|
|
||||||
On Linux, you'll need proper privileges to access the MCU. You can either use
|
|
||||||
`sudo` when flashing firmware, or place these files in `/etc/udev/rules.d/`.
|
|
||||||
|
|
||||||
**/etc/udev/rules.d/50-atmel-dfu.rules:**
|
|
||||||
```
|
|
||||||
# Atmel ATMega32U4
|
|
||||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", MODE:="0666"
|
|
||||||
# Atmel USBKEY AT90USB1287
|
|
||||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", MODE:="0666"
|
|
||||||
# Atmel ATMega32U2
|
|
||||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", MODE:="0666"
|
|
||||||
```
|
|
||||||
|
|
||||||
**/etc/udev/rules.d/52-tmk-keyboard.rules:**
|
|
||||||
```
|
|
||||||
# tmk keyboard products https://github.com/tmk/tmk_keyboard
|
|
||||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
|
|
||||||
```
|
|
||||||
|
|
||||||
## WINAVR is Obsolete
|
## WINAVR is Obsolete
|
||||||
It is no longer recommended and may cause some problem.
|
It is no longer recommended and may cause some problem.
|
||||||
@@ -53,6 +33,26 @@ You can buy a really unique VID:PID here. I don't think you need this for person
|
|||||||
- http://www.obdev.at/products/vusb/license.html
|
- http://www.obdev.at/products/vusb/license.html
|
||||||
- http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1
|
- http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1
|
||||||
|
|
||||||
|
## Linux `udev` Rules
|
||||||
|
On Linux you need proper privilege to access device file of MCU, you'll have to use `sudo` when flashing firmware. You can circumvent this with placing these files in `/etc/udev/rules.d/`.
|
||||||
|
|
||||||
|
**/etc/udev/rules.d/50-atmel-dfu.rules:**
|
||||||
|
```
|
||||||
|
# Atmel ATMega32U4
|
||||||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", MODE:="0666"
|
||||||
|
# Atmel USBKEY AT90USB1287
|
||||||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", MODE:="0666"
|
||||||
|
# Atmel ATMega32U2
|
||||||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", MODE:="0666"
|
||||||
|
```
|
||||||
|
|
||||||
|
**/etc/udev/rules.d/52-tmk-keyboard.rules:**
|
||||||
|
```
|
||||||
|
# tmk keyboard products https://github.com/tmk/tmk_keyboard
|
||||||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## Cortex: `cstddef: No such file or directory`
|
## Cortex: `cstddef: No such file or directory`
|
||||||
GCC 4.8 of Ubuntu 14.04 had this problem and had to update to 4.9 with this PPA.
|
GCC 4.8 of Ubuntu 14.04 had this problem and had to update to 4.9 with this PPA.
|
||||||
https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded
|
https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded
|
||||||
@@ -61,6 +61,7 @@ https://github.com/tmk/tmk_keyboard/issues/212
|
|||||||
https://github.com/tmk/tmk_keyboard/wiki/mbed-cortex-porting#compile-error-cstddef
|
https://github.com/tmk/tmk_keyboard/wiki/mbed-cortex-porting#compile-error-cstddef
|
||||||
https://developer.mbed.org/forum/mbed/topic/5205/
|
https://developer.mbed.org/forum/mbed/topic/5205/
|
||||||
|
|
||||||
|
|
||||||
## `clock_prescale_set` and `clock_div_1` Not Available
|
## `clock_prescale_set` and `clock_div_1` Not Available
|
||||||
Your toolchain is too old to support the MCU. For example WinAVR 20100110 doesn't support ATMega32u2.
|
Your toolchain is too old to support the MCU. For example WinAVR 20100110 doesn't support ATMega32u2.
|
||||||
|
|
||||||
|
@@ -82,10 +82,6 @@ The pitch standard (`PITCH_STANDARD_A`) is 440.0f by default - to change this, a
|
|||||||
|
|
||||||
#define PITCH_STANDARD_A 432.0f
|
#define PITCH_STANDARD_A 432.0f
|
||||||
|
|
||||||
You can completely disable Music Mode as well. This is useful, if you're pressed for space on your controller. To disable it, add this to your `confid.h`:
|
|
||||||
|
|
||||||
#define NO_MUSIC_MODE
|
|
||||||
|
|
||||||
## MIDI Functionality
|
## MIDI Functionality
|
||||||
|
|
||||||
This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile.
|
This is still a WIP, but check out `quantum/keymap_midi.c` to see what's happening. Enable from the Makefile.
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
# Auto Shift: Why Do We Need a Shift Key?
|
# Auto Shift: Why Do We Need a Shift Key?
|
||||||
|
|
||||||
Tap a key and you get its character. Tap a key, but hold it *slightly* longer
|
Tap a key and you get its character. Tap a key, but hold it *slightly* longer
|
||||||
and you get its shifted state. Voilà! No shift key needed!
|
and you get its shifted state. Viola! No shift key needed!
|
||||||
|
|
||||||
## Why Auto Shift?
|
## Why Auto Shift?
|
||||||
|
|
||||||
|
@@ -27,38 +27,3 @@ Shortcuts for bootmagic options. You can use these even when bootmagic is off.
|
|||||||
|`MAGIC_UNHOST_NKRO` | |Force NKRO off |
|
|`MAGIC_UNHOST_NKRO` | |Force NKRO off |
|
||||||
|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Left Alt and GUI |
|
|`MAGIC_UNSWAP_ALT_GUI` |`AG_NORM`|Unswap Left Alt and GUI |
|
||||||
|`MAGIC_TOGGLE_NKRO` | |Turn NKRO on or off |
|
|`MAGIC_TOGGLE_NKRO` | |Turn NKRO on or off |
|
||||||
|
|
||||||
|
|
||||||
## Bootmagc Hotkeys
|
|
||||||
|
|
||||||
Use this by holding the SPACEBAR and the documented key while
|
|
||||||
plugging in the USB connection. e.g. to get into bootloader mode
|
|
||||||
hold `SPACE` and `B` while plugging in USB.
|
|
||||||
|
|
||||||
|
|
||||||
|Key |Description |
|
|
||||||
|-----------|------------------------------------------------------------------------|
|
|
||||||
|`ESC` | Skip bootmagic and saved eeprom configuration |
|
|
||||||
|`B` | Enter bootloader instead of firmware |
|
|
||||||
|`BACKSPACE`| Clear the saved settings from flash |
|
|
||||||
|`LCTRL` | Swap `Control` and `Capslock` and save into flash |
|
|
||||||
|`CAPSLOCK` | Swap `Capslock` and `Control` and save into flash |
|
|
||||||
|`LALT` | Swap Left `Alt` and `GUI` and save into flash, e.g. for OSX Opt and Cmd|
|
|
||||||
|`RALT` | Swap Right `Alt` and `GUI` and save into flash |
|
|
||||||
|`LGUI` | Disable GUI key - e.g. disable Windows key during gaming |
|
|
||||||
|`GRAVE` | Swap ' and `ESC` and save into flash |
|
|
||||||
|`BACKSLASH`| Swap Blackslash and Backspace and save into flash |
|
|
||||||
|`N` | Enable NKRO (N Key Roll Over) |
|
|
||||||
|`0` | Make Layer 0 the default layer at bootup, e.g. switch to dvorak |
|
|
||||||
|`1` | Make Layer 1 the default layer at bootup |
|
|
||||||
|`2` | Make Layer 2 the default layer at bootup |
|
|
||||||
|`3` | Make Layer 3 the default layer at bootup |
|
|
||||||
|`4` | Make Layer 4 the default layer at bootup |
|
|
||||||
|`5` | Make Layer 5 the default layer at bootup |
|
|
||||||
|`6` | Make Layer 6 the default layer at bootup |
|
|
||||||
|`7` | Make Layer 7 the default layer at bootup |
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -35,12 +35,10 @@ New names should try to stick to the standards set by existing layouts, and can
|
|||||||
|
|
||||||
## Supporting a Layout
|
## Supporting a Layout
|
||||||
|
|
||||||
For a keyboard to support a layout, the variable must be defined in it's `<keyboard>.h`, and match the number of arguments/keys (and preferably the physical layout):
|
For a keyboard to support a layout, the variable (`[a-z0-9_]`) must be defined in it's `<keyboard>.h`, and match the number of arguments/keys (and preferably the physical layout):
|
||||||
|
|
||||||
#define LAYOUT_60_ansi KEYMAP_ANSI
|
#define LAYOUT_60_ansi KEYMAP_ANSI
|
||||||
|
|
||||||
The name of the layout must match this regex: `[a-z0-9_]+`
|
|
||||||
|
|
||||||
The folder name must be added to the keyboard's `rules.mk`:
|
The folder name must be added to the keyboard's `rules.mk`:
|
||||||
|
|
||||||
LAYOUTS = 60_ansi
|
LAYOUTS = 60_ansi
|
||||||
|
@@ -31,15 +31,11 @@ git
|
|||||||
|
|
||||||
Install the dependencies with your favorite package manager.
|
Install the dependencies with your favorite package manager.
|
||||||
|
|
||||||
Debian / Ubuntu example:
|
Debian/Ubuntu example:
|
||||||
|
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
|
sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
|
||||||
|
|
||||||
Fedora / Red Hat example:
|
|
||||||
|
|
||||||
sudo dnf install gcc unzip wget zip dfu-util dfu-programmer avr-gcc avr-libc binutils-avr32-linux-gnu arm-none-eabi-gcc-cs arm-none-eabi-binutils-cs arm-none-eabi-newlib
|
|
||||||
|
|
||||||
## Nix
|
## Nix
|
||||||
|
|
||||||
If you're on [NixOS](https://nixos.org/), or have Nix installed on Linux or macOS, run `nix-shell` from the repository root to get a build environment.
|
If you're on [NixOS](https://nixos.org/), or have Nix installed on Linux or macOS, run `nix-shell` from the repository root to get a build environment.
|
||||||
@@ -132,7 +128,7 @@ docker run -e keymap=gwen -e keyboard=ergodox_ez --rm -v $('pwd'):/qmk:rw edasqu
|
|||||||
On Windows Docker seems to have issues with the VOLUME tag in Dockerfile, and `$('pwd')` won't print a Windows compliant path; use full path instead, like this:
|
On Windows Docker seems to have issues with the VOLUME tag in Dockerfile, and `$('pwd')` won't print a Windows compliant path; use full path instead, like this:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -e keymap=default -e keyboard=ergodox_ez --rm -v D:/Users/Sacapuces/Documents/Repositories/qmk:/qmk:rw edasque/qmk_firmware
|
docker run -e keymap=default -e keyboard=ergobox_ez --rm -v D:/Users/Sacapuces/Documents/Repositories/qmk:/qmk:rw edasque/qmk_firmware
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@@ -33,7 +33,7 @@ The state of the Keymap layer is determined by two 32 bit parameters:
|
|||||||
* **`default_layer_state`** indicates a base keymap layer (0-31) which is always valid and to be referred (the default layer).
|
* **`default_layer_state`** indicates a base keymap layer (0-31) which is always valid and to be referred (the default layer).
|
||||||
* **`layer_state`** has current on/off status of each layer in its bits.
|
* **`layer_state`** has current on/off status of each layer in its bits.
|
||||||
|
|
||||||
Keymap layer '0' is usually the `default_layer`, with other layers initially off after booting up the firmware, although this can configured differently in `config.h`. It is useful to change `default_layer` when you completely switch a key layout, for example, if you want to switch to Colemak instead of Qwerty.
|
Keymap layer '0' is usually `default_layer`, wither other layers initially off after booting up the firmware, although this can configured differently in `config.h`. It is useful to change `default_layer` when you completely switch a key layout, for example, if you want to switch to Colemak instead of Qwerty.
|
||||||
|
|
||||||
Initial state of Keymap Change base layout
|
Initial state of Keymap Change base layout
|
||||||
----------------------- ------------------
|
----------------------- ------------------
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
#include "1up60rgb.h"
|
|
@@ -1,20 +0,0 @@
|
|||||||
#ifndef KB_H
|
|
||||||
#define KB_H
|
|
||||||
|
|
||||||
#include "quantum.h"
|
|
||||||
|
|
||||||
#define KEYMAP( \
|
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
|
|
||||||
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
|
||||||
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
|
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, K314, \
|
|
||||||
K400, K401, K403, K406, K410, K411, K413, K414 \
|
|
||||||
) { \
|
|
||||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
|
|
||||||
{ K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
|
|
||||||
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
|
|
||||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, KC_NO, K313, K314 }, \
|
|
||||||
{ K400, K401, KC_NO, K403, KC_NO, KC_NO, K406, KC_NO, KC_NO, KC_NO, K410, K411, KC_NO, K413, K414 } \
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,58 +0,0 @@
|
|||||||
#ifndef CONFIG_H
|
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#include "config_common.h"
|
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
#define VENDOR_ID 0xFEED
|
|
||||||
#define PRODUCT_ID 0x6060
|
|
||||||
#define DEVICE_VER 0x0001
|
|
||||||
#define MANUFACTURER 1upkeyboards
|
|
||||||
#define PRODUCT 1UP RGB Underglow PCB
|
|
||||||
#define DESCRIPTION 60% keyboard with RGB underglow
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 5
|
|
||||||
#define MATRIX_COLS 15
|
|
||||||
|
|
||||||
/* key matrix pins */
|
|
||||||
#define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }
|
|
||||||
#define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B7, D4, B1, B0, B5, B4, D7, D6, B3, F4 }
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
/* COL2ROW or ROW2COL */
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
|
||||||
/* number of backlight levels */
|
|
||||||
#define BACKLIGHT_PIN B6
|
|
||||||
#ifdef BACKLIGHT_PIN
|
|
||||||
#define BACKLIGHT_LEVELS 5
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
|
||||||
#define DEBOUNCING_DELAY 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
|
|
||||||
|
|
||||||
/* key combination for command */
|
|
||||||
#define IS_COMMAND() ( \
|
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
|
||||||
)
|
|
||||||
|
|
||||||
/* prevent stuck modifiers */
|
|
||||||
#define PREVENT_STUCK_MODIFIERS
|
|
||||||
|
|
||||||
#define RGB_DI_PIN E2
|
|
||||||
#ifdef RGB_DI_PIN
|
|
||||||
#define RGBLIGHT_ANIMATIONS
|
|
||||||
#define RGBLED_NUM 20
|
|
||||||
#define RGBLIGHT_HUE_STEP 8
|
|
||||||
#define RGBLIGHT_SAT_STEP 8
|
|
||||||
#define RGBLIGHT_VAL_STEP 8
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,72 +0,0 @@
|
|||||||
#include "1up60rgb.h"
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
|
|
||||||
KEYMAP(
|
|
||||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_ENT,
|
|
||||||
KC_LSFT, 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_RSFT,
|
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
|
|
||||||
|
|
||||||
KEYMAP(
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
||||||
;
|
|
||||||
|
|
||||||
switch (id) {
|
|
||||||
|
|
||||||
}
|
|
||||||
return MACRO_NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_NUM_LOCK)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
|
||||||
DDRB |= (1 << 2); PORTB &= ~(1 << 2);
|
|
||||||
} else {
|
|
||||||
DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_COMPOSE)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_KANA)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,72 +0,0 @@
|
|||||||
#include "1up60rgb.h"
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
|
|
||||||
KEYMAP(
|
|
||||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_ENT,
|
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
|
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
|
|
||||||
|
|
||||||
KEYMAP(
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
||||||
;
|
|
||||||
|
|
||||||
switch (id) {
|
|
||||||
|
|
||||||
}
|
|
||||||
return MACRO_NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_NUM_LOCK)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
|
||||||
DDRB |= (1 << 2); PORTB &= ~(1 << 2);
|
|
||||||
} else {
|
|
||||||
DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_COMPOSE)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_KANA)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,72 +0,0 @@
|
|||||||
#include "1up60rgb.h"
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
|
|
||||||
KEYMAP(
|
|
||||||
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_ENT, KC_ENT,
|
|
||||||
KC_LSFT, KC_LSFT, 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_NO, KC_RALT, KC_RGUI, KC_RCTL),
|
|
||||||
|
|
||||||
KEYMAP(
|
|
||||||
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_DEL,
|
|
||||||
KC_TRNS, BL_TOGG, BL_DEC, BL_INC, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
|
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
|
||||||
;
|
|
||||||
|
|
||||||
switch (id) {
|
|
||||||
|
|
||||||
}
|
|
||||||
return MACRO_NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_NUM_LOCK)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
|
||||||
DDRB |= (1 << 2); PORTB &= ~(1 << 2);
|
|
||||||
} else {
|
|
||||||
DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_COMPOSE)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (usb_led & (1 << USB_LED_KANA)) {
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -1,13 +0,0 @@
|
|||||||
# 1upkeyboards 60% RGB
|
|
||||||
|
|
||||||
Firmware for custom keyboard PCB with 60% key layout.
|
|
||||||
|
|
||||||
Keyboard Maintainer: [rempired](https://github.com/rempired)
|
|
||||||
Hardware Supported: 1upkeyboards 60% RGB
|
|
||||||
Hardware Availability: [1upkeyboards](https://1upkeyboards.com/rgb-underglow-1up-pcb.html)
|
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
|
||||||
|
|
||||||
make 1up60rgb:default
|
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
|
|
@@ -1,56 +0,0 @@
|
|||||||
# MCU name
|
|
||||||
MCU = atmega32u4
|
|
||||||
|
|
||||||
# Processor frequency.
|
|
||||||
# This will define a symbol, F_CPU, in all source code files equal to the
|
|
||||||
# processor frequency in Hz. You can then use this symbol in your source code to
|
|
||||||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
|
||||||
# automatically to create a 32-bit value in your source code.
|
|
||||||
#
|
|
||||||
# This will be an integer division of F_USB below, as it is sourced by
|
|
||||||
# F_USB after it has run through any CPU prescalers. Note that this value
|
|
||||||
# does not *change* the processor frequency - it should merely be updated to
|
|
||||||
# reflect the processor speed set externally so that the code can use accurate
|
|
||||||
# software delays.
|
|
||||||
F_CPU = 16000000
|
|
||||||
|
|
||||||
#
|
|
||||||
# LUFA specific
|
|
||||||
#
|
|
||||||
# Target architecture (see library "Board Types" documentation).
|
|
||||||
ARCH = AVR8
|
|
||||||
|
|
||||||
# Input clock frequency.
|
|
||||||
# This will define a symbol, F_USB, in all source code files equal to the
|
|
||||||
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
|
||||||
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
|
||||||
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
|
||||||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
|
||||||
# at the end, this will be done automatically to create a 32-bit value in your
|
|
||||||
# source code.
|
|
||||||
#
|
|
||||||
# If no clock division is performed on the input clock inside the AVR (via the
|
|
||||||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
|
|
||||||
F_USB = $(F_CPU)
|
|
||||||
|
|
||||||
# Interrupt driven control endpoint task(+60)
|
|
||||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
|
||||||
|
|
||||||
|
|
||||||
# Boot Section Size in *bytes*
|
|
||||||
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
|
||||||
|
|
||||||
|
|
||||||
# Build Options
|
|
||||||
# comment out to disable the options.
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
|
|
||||||
MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
|
|
||||||
EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
|
|
||||||
CONSOLE_ENABLE ?= no # Console for debug(+400)
|
|
||||||
COMMAND_ENABLE ?= no # Commands for debug and configuration
|
|
||||||
SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
|
|
||||||
NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
|
||||||
BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality
|
|
||||||
AUDIO_ENABLE ?= no
|
|
||||||
RGBLIGHT_ENABLE ?= yes
|
|
@@ -1,31 +0,0 @@
|
|||||||
#include "atom47.h"
|
|
||||||
#include "led.h"
|
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
|
||||||
// put your keyboard start-up code here
|
|
||||||
// runs once when the firmware starts up
|
|
||||||
matrix_init_user();
|
|
||||||
led_init_ports();
|
|
||||||
};
|
|
||||||
|
|
||||||
void matrix_scan_kb(void) {
|
|
||||||
// put your looping keyboard code here
|
|
||||||
// runs every cycle (a lot)
|
|
||||||
matrix_scan_user();
|
|
||||||
};
|
|
||||||
|
|
||||||
void led_init_ports(void) {
|
|
||||||
// * Set our LED pins as output
|
|
||||||
DDRB &= ~(1<<5);
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_kb(uint8_t usb_led) {
|
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
|
||||||
// Turn capslock on
|
|
||||||
PORTF |= (1<<5);
|
|
||||||
} else {
|
|
||||||
// Turn capslock off
|
|
||||||
PORTF &= ~(1<<5);
|
|
||||||
}
|
|
||||||
led_set_user(usb_led);
|
|
||||||
}
|
|
@@ -1,25 +0,0 @@
|
|||||||
#ifndef ATOM47_H
|
|
||||||
#define ATOM47_H
|
|
||||||
|
|
||||||
#include "quantum.h"
|
|
||||||
|
|
||||||
// readability
|
|
||||||
#define XXX KC_NO
|
|
||||||
|
|
||||||
#define KEYMAP_ANSI( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
|
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \
|
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \
|
|
||||||
k30, k31, k32, k33, k34, k36, k38, k39, k3a, k3c \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \
|
|
||||||
{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \
|
|
||||||
{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, XXX, k2c}, \
|
|
||||||
{k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3a, XXX, k3c} \
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_init_user(void);
|
|
||||||
void matrix_scan_user(void);
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,73 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2012 Maarten Dekkers <atomkeeb@gmail.com
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#include "config_common.h"
|
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
#define VENDOR_ID 0xFEED
|
|
||||||
#define PRODUCT_ID 0x6060
|
|
||||||
#define DEVICE_VER 0x0003
|
|
||||||
#define MANUFACTURER Vortex
|
|
||||||
#define PRODUCT Core
|
|
||||||
#define DESCRIPTION Atom47 PCB for the Vortex Core
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 4
|
|
||||||
#define MATRIX_COLS 13
|
|
||||||
|
|
||||||
// ROWS: Top to bottom, COLS: Left to right
|
|
||||||
|
|
||||||
#define MATRIX_ROW_PINS {B1,B2,B3,B7}
|
|
||||||
#define MATRIX_COL_PINS {D7,D5,F0,F1,F4,F6,F7,D4,C7,C6,D6,B5,B4}
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
#define BACKLIGHT_PIN B6
|
|
||||||
|
|
||||||
/* COL2ROW or ROW2COL */
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
|
||||||
/* define if matrix has ghost */
|
|
||||||
//#define MATRIX_HAS_GHOST
|
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
|
||||||
#define DEBOUNCING_DELAY 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
|
|
||||||
|
|
||||||
/* key combination for command */
|
|
||||||
#define IS_COMMAND() ( \
|
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
|
||||||
)
|
|
||||||
|
|
||||||
/* Backlight configuration
|
|
||||||
*/
|
|
||||||
#define BACKLIGHT_LEVELS 4
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define RGB_DI_PIN D0 // The pin the LED strip is connected to
|
|
||||||
#define RGBLED_NUM 1 // Number of LEDs in your strip
|
|
||||||
|
|
||||||
#define QMK_ESC_OUTPUT D7 // usually COL
|
|
||||||
#define QMK_ESC_INPUT B1 // usually ROW
|
|
||||||
#define QMK_LED B6
|
|
@@ -1,31 +0,0 @@
|
|||||||
#include "atom47.h"
|
|
||||||
#include "led.h"
|
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
|
||||||
// put your keyboard start-up code here
|
|
||||||
// runs once when the firmware starts up
|
|
||||||
matrix_init_user();
|
|
||||||
led_init_ports();
|
|
||||||
};
|
|
||||||
|
|
||||||
void matrix_scan_kb(void) {
|
|
||||||
// put your looping keyboard code here
|
|
||||||
// runs every cycle (a lot)
|
|
||||||
matrix_scan_user();
|
|
||||||
};
|
|
||||||
|
|
||||||
void led_init_ports(void) {
|
|
||||||
// * Set our LED pins as output
|
|
||||||
DDRB &= ~(1<<5);
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_kb(uint8_t usb_led) {
|
|
||||||
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
|
|
||||||
// Turn capslock on
|
|
||||||
PORTF |= (1<<5);
|
|
||||||
} else {
|
|
||||||
// Turn capslock off
|
|
||||||
PORTF &= ~(1<<5);
|
|
||||||
}
|
|
||||||
led_set_user(usb_led);
|
|
||||||
}
|
|
@@ -1,25 +0,0 @@
|
|||||||
#ifndef ATOM47_H
|
|
||||||
#define ATOM47_H
|
|
||||||
|
|
||||||
#include "quantum.h"
|
|
||||||
|
|
||||||
// readability
|
|
||||||
#define XXX KC_NO
|
|
||||||
|
|
||||||
#define KEYMAP_ANSI( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \
|
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \
|
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2c, \
|
|
||||||
k30, k31, k32, k33, k34, k36, k38, k39, k3a, k3c \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c}, \
|
|
||||||
{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, XXX, k1c}, \
|
|
||||||
{k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, XXX, k2c}, \
|
|
||||||
{k30, k31, k32, k33, k34, XXX, k36, XXX, k38, k39, k3a, XXX, k3c} \
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_init_user(void);
|
|
||||||
void matrix_scan_user(void);
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,73 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2012 Maarten Dekkers <atomkeeb@gmail.com
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#include "config_common.h"
|
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
#define VENDOR_ID 0xFEED
|
|
||||||
#define PRODUCT_ID 0x6060
|
|
||||||
#define DEVICE_VER 0x0003
|
|
||||||
#define MANUFACTURER Vortex
|
|
||||||
#define PRODUCT Core
|
|
||||||
#define DESCRIPTION Atom47 PCB for the Vortex Core
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 4
|
|
||||||
#define MATRIX_COLS 13
|
|
||||||
|
|
||||||
// ROWS: Top to bottom, COLS: Left to right
|
|
||||||
|
|
||||||
#define MATRIX_ROW_PINS {B1,B2,B3,B7}
|
|
||||||
#define MATRIX_COL_PINS {D7,D5,F0,F1,F4,F6,F7,D4,C7,C6,D6,B5,B4}
|
|
||||||
#define UNUSED_PINS
|
|
||||||
|
|
||||||
#define BACKLIGHT_PIN B6
|
|
||||||
|
|
||||||
/* COL2ROW or ROW2COL */
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
|
||||||
/* define if matrix has ghost */
|
|
||||||
//#define MATRIX_HAS_GHOST
|
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
|
||||||
#define DEBOUNCING_DELAY 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
|
|
||||||
|
|
||||||
/* key combination for command */
|
|
||||||
#define IS_COMMAND() ( \
|
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
|
||||||
)
|
|
||||||
|
|
||||||
/* Backlight configuration
|
|
||||||
*/
|
|
||||||
#define BACKLIGHT_LEVELS 4
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define RGB_DI_PIN D0 // The pin the LED strip is connected to
|
|
||||||
#define RGBLED_NUM 1 // Number of LEDs in your strip
|
|
||||||
|
|
||||||
#define QMK_ESC_OUTPUT D7 // usually COL
|
|
||||||
#define QMK_ESC_INPUT B1 // usually ROW
|
|
||||||
#define QMK_LED B6
|
|
@@ -1,35 +0,0 @@
|
|||||||
#include QMK_KEYBOARD_H
|
|
||||||
|
|
||||||
// These are all aliases for the function layers.
|
|
||||||
#define _L0 0
|
|
||||||
#define _L1 1
|
|
||||||
#define _L2 2
|
|
||||||
#define _L3 3
|
|
||||||
|
|
||||||
#define _______ KC_TRNS
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
[_L0] = KEYMAP_ANSI(
|
|
||||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \
|
|
||||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \
|
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_L1), \
|
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, TG(_L3), KC_SPC, KC_SPC, MO(_L2), KC_RALT, KC_APP, KC_RCTRL), \
|
|
||||||
|
|
||||||
[_L2] = KEYMAP_ANSI(
|
|
||||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, \
|
|
||||||
KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \
|
|
||||||
|
|
||||||
[_L1] = KEYMAP_ANSI(
|
|
||||||
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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \
|
|
||||||
_______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \
|
|
||||||
|
|
||||||
[_L3] = KEYMAP_ANSI(
|
|
||||||
_______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______, _______, _______, \
|
|
||||||
_______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, _______, \
|
|
||||||
_______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______, \
|
|
||||||
_______, _______, _______, _______, KC_0, KC_DOT, _______, _______, _______, RESET), \
|
|
||||||
};
|
|
@@ -1,65 +0,0 @@
|
|||||||
# MCU name
|
|
||||||
#MCU = at90usb1287
|
|
||||||
MCU = atmega32u4
|
|
||||||
|
|
||||||
# Processor frequency.
|
|
||||||
# This will define a symbol, F_CPU, in all source code files equal to the
|
|
||||||
# processor frequency in Hz. You can then use this symbol in your source code to
|
|
||||||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
|
||||||
# automatically to create a 32-bit value in your source code.
|
|
||||||
#
|
|
||||||
# This will be an integer division of F_USB below, as it is sourced by
|
|
||||||
# F_USB after it has run through any CPU prescalers. Note that this value
|
|
||||||
# does not *change* the processor frequency - it should merely be updated to
|
|
||||||
# reflect the processor speed set externally so that the code can use accurate
|
|
||||||
# software delays.
|
|
||||||
F_CPU = 16000000
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# LUFA specific
|
|
||||||
#
|
|
||||||
# Target architecture (see library "Board Types" documentation).
|
|
||||||
ARCH = AVR8
|
|
||||||
|
|
||||||
# Input clock frequency.
|
|
||||||
# This will define a symbol, F_USB, in all source code files equal to the
|
|
||||||
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
|
||||||
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
|
||||||
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
|
||||||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
|
||||||
# at the end, this will be done automatically to create a 32-bit value in your
|
|
||||||
# source code.
|
|
||||||
#
|
|
||||||
# If no clock division is performed on the input clock inside the AVR (via the
|
|
||||||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
|
|
||||||
F_USB = $(F_CPU)
|
|
||||||
|
|
||||||
# Interrupt driven control endpoint task(+60)
|
|
||||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
|
||||||
|
|
||||||
|
|
||||||
# Boot Section Size in *bytes*
|
|
||||||
# Teensy halfKay 512
|
|
||||||
# Teensy++ halfKay 1024
|
|
||||||
# Atmel DFU loader 4096
|
|
||||||
# LUFA bootloader 4096
|
|
||||||
# USBaspLoader 2048
|
|
||||||
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
|
||||||
|
|
||||||
|
|
||||||
# Build Options
|
|
||||||
# comment out to disable the options.
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = no # 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)
|
|
||||||
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
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality (+4870)
|
|
||||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality (+1150)
|
|
||||||
MIDI_ENABLE = no # MIDI controls
|
|
||||||
AUDIO_ENABLE = no
|
|
||||||
UNICODE_ENABLE = no # Unicode
|
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
|
@@ -1,39 +0,0 @@
|
|||||||
#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.
|
|
||||||
|
|
||||||
#define _MA 0 //Main layer
|
|
||||||
#define _FN 1 //Fn
|
|
||||||
#define _FN1 2 //Fn1
|
|
||||||
#define _PN 3 //Pn
|
|
||||||
|
|
||||||
#define _______ KC_TRNS
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
[_MA] = KEYMAP_ANSI(
|
|
||||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, \
|
|
||||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, \
|
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, MO(_FN1), \
|
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, MO(_PN), KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_APP, KC_RCTRL), \
|
|
||||||
|
|
||||||
[_FN] = KEYMAP_ANSI(
|
|
||||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, RESET, _______, KC_CALC, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SLCK, KC_PAUS, \
|
|
||||||
KC_CAPS, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RIGHT, KC_INS, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, BL_TOGG, BL_DEC, BL_INC, _______, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \
|
|
||||||
|
|
||||||
[_FN1] = KEYMAP_ANSI(
|
|
||||||
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_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, \
|
|
||||||
_______, _______, _______, _______, _______, KC_QUOT, KC_SLSH, KC_LBRC, KC_RBRC, KC_BSLS, KC_RSFT, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______), \
|
|
||||||
|
|
||||||
[_PN] = KEYMAP_ANSI(
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, RESET),
|
|
||||||
};
|
|
@@ -1,10 +0,0 @@
|
|||||||
To be updated...
|
|
||||||
|
|
||||||
|
|
||||||
// This layer is just a blank template to be copied for easy layer creation. please don not edit it.
|
|
||||||
|
|
||||||
[_LX] = KEYMAP_ANSI(
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, RESET),
|
|
@@ -1,28 +0,0 @@
|
|||||||
# ATOM47
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Support
|
|
||||||
Keyboard Maintainer: [Matthew Kerfoot(https://github.com/mkerfoot)
|
|
||||||
Hardware Supported: ATOM47
|
|
||||||
Hardware Availability: [GeekHack.com Group Buy](https://geekhack.org/index.php?topic=93447.msg2545221)
|
|
||||||
|
|
||||||
|
|
||||||
## Features
|
|
||||||
QMK Firmware
|
|
||||||
6 Underglow RGB leds
|
|
||||||
In-switch leds
|
|
||||||
Through-hole micro usb connector (less likely to break off!)
|
|
||||||
South facing leds for the QMX/Zealencio users
|
|
||||||
Multiple layouts
|
|
||||||
Easily reachable reset button under the spacebar
|
|
||||||
CapsLock indicator
|
|
||||||
|
|
||||||
## Build
|
|
||||||
To build the default keymap, simply run `make atom47:default`.
|
|
||||||
|
|
||||||
For an alternative, heavily modified layout you would just need to run `make atom47:LEdiodes`.
|
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
|
|
||||||
|
|
||||||

|
|
@@ -1,65 +0,0 @@
|
|||||||
# MCU name
|
|
||||||
#MCU = at90usb1287
|
|
||||||
MCU = atmega32u4
|
|
||||||
|
|
||||||
# Processor frequency.
|
|
||||||
# This will define a symbol, F_CPU, in all source code files equal to the
|
|
||||||
# processor frequency in Hz. You can then use this symbol in your source code to
|
|
||||||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
|
||||||
# automatically to create a 32-bit value in your source code.
|
|
||||||
#
|
|
||||||
# This will be an integer division of F_USB below, as it is sourced by
|
|
||||||
# F_USB after it has run through any CPU prescalers. Note that this value
|
|
||||||
# does not *change* the processor frequency - it should merely be updated to
|
|
||||||
# reflect the processor speed set externally so that the code can use accurate
|
|
||||||
# software delays.
|
|
||||||
F_CPU = 16000000
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# LUFA specific
|
|
||||||
#
|
|
||||||
# Target architecture (see library "Board Types" documentation).
|
|
||||||
ARCH = AVR8
|
|
||||||
|
|
||||||
# Input clock frequency.
|
|
||||||
# This will define a symbol, F_USB, in all source code files equal to the
|
|
||||||
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
|
||||||
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
|
||||||
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
|
||||||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
|
||||||
# at the end, this will be done automatically to create a 32-bit value in your
|
|
||||||
# source code.
|
|
||||||
#
|
|
||||||
# If no clock division is performed on the input clock inside the AVR (via the
|
|
||||||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
|
|
||||||
F_USB = $(F_CPU)
|
|
||||||
|
|
||||||
# Interrupt driven control endpoint task(+60)
|
|
||||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
|
||||||
|
|
||||||
|
|
||||||
# Boot Section Size in *bytes*
|
|
||||||
# Teensy halfKay 512
|
|
||||||
# Teensy++ halfKay 1024
|
|
||||||
# Atmel DFU loader 4096
|
|
||||||
# LUFA bootloader 4096
|
|
||||||
# USBaspLoader 2048
|
|
||||||
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
|
||||||
|
|
||||||
|
|
||||||
# Build Options
|
|
||||||
# comment out to disable the options.
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = no # 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)
|
|
||||||
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
|
|
||||||
RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality (+4870)
|
|
||||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality (+1150)
|
|
||||||
MIDI_ENABLE = no # MIDI controls
|
|
||||||
AUDIO_ENABLE = no
|
|
||||||
UNICODE_ENABLE = no # Unicode
|
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
|
@@ -14,19 +14,6 @@
|
|||||||
|
|
||||||
static bool mouse_lock = false;
|
static bool mouse_lock = false;
|
||||||
|
|
||||||
enum custom_keycodes {
|
|
||||||
PLACEHOLDER = SAFE_RANGE, // can always be here
|
|
||||||
|
|
||||||
// Cloud9 macros
|
|
||||||
CLOUD9_TAB_LEFT,
|
|
||||||
CLOUD9_TAB_RIGHT,
|
|
||||||
CLOUD9_TAB_CLOSE,
|
|
||||||
CLOUD9_GOTO_SYMBOL,
|
|
||||||
CLOUD9_GOTO_LINE,
|
|
||||||
CLOUD9_NAVIGATE,
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
// building instructions:
|
// building instructions:
|
||||||
// make atreus:dvorak_42_key
|
// make atreus:dvorak_42_key
|
||||||
|
|
||||||
@@ -43,10 +30,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
[KEYNAV] = {
|
[KEYNAV] = {
|
||||||
{KC_ESC, CLOUD9_GOTO_LINE, RCTL(KC_Z), RCTL(KC_S), MEH(KC_F10), KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, },
|
{KC_ESC, MEH(KC_F9), RCTL(KC_Z), RCTL(KC_S), MEH(KC_F10), KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, },
|
||||||
{MEH(KC_F11), CLOUD9_GOTO_SYMBOL, RSFT(KC_TAB), KC_TAB, MEH(KC_A), KC_TRNS, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), },
|
{MEH(KC_F11), MEH(KC_F12), RSFT(KC_TAB), KC_TAB, MEH(KC_A), KC_TRNS, LCTL(KC_LEFT), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_RIGHT), },
|
||||||
{MEH(KC_B), CLOUD9_NAVIGATE, CLOUD9_TAB_LEFT, CLOUD9_TAB_RIGHT, CLOUD9_TAB_CLOSE, KC_TRNS, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN, },
|
{MEH(KC_B), MEH(KC_C), MEH(KC_D), MEH(KC_E), MEH(KC_F), KC_TRNS, KC_TRNS, RCTL(KC_C), RCTL(KC_X), RCTL(KC_V), KC_PGDOWN, },
|
||||||
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), }
|
{KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENTER, KC_SPACE, KC_BSPC, RCTL(KC_BSPC), KC_DELETE, LCTL(KC_DELETE), }
|
||||||
},
|
},
|
||||||
|
|
||||||
[KEYSEL] = {
|
[KEYSEL] = {
|
||||||
@@ -77,40 +64,6 @@ const uint16_t PROGMEM fn_actions[] = {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
if(record->event.pressed) {
|
|
||||||
switch (keycode) {
|
|
||||||
// Cloud9 macros
|
|
||||||
case CLOUD9_TAB_LEFT:
|
|
||||||
SEND_STRING(SS_LCTRL("["));
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
case CLOUD9_TAB_RIGHT:
|
|
||||||
SEND_STRING(SS_LCTRL("]"));
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
case CLOUD9_TAB_CLOSE:
|
|
||||||
SEND_STRING(SS_LALT("w"));
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
case CLOUD9_GOTO_SYMBOL:
|
|
||||||
SEND_STRING(SS_LSFT(SS_LCTRL("e")));
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
case CLOUD9_GOTO_LINE:
|
|
||||||
SEND_STRING(SS_LCTRL("g"));
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
case CLOUD9_NAVIGATE:
|
|
||||||
SEND_STRING(SS_LCTRL("e"));
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||||
{
|
{
|
||||||
// MACRODOWN only works in this function
|
// MACRODOWN only works in this function
|
||||||
|
@@ -16,12 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "bfake.h"
|
#include "bfake.h"
|
||||||
#ifdef BACKLIGHT_ENABLE
|
|
||||||
#include "backlight.h"
|
|
||||||
#endif
|
|
||||||
#ifdef RGBLIGHT_ENABLE
|
|
||||||
#include "rgblight.h"
|
#include "rgblight.h"
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <avr/pgmspace.h>
|
#include <avr/pgmspace.h>
|
||||||
|
|
||||||
@@ -29,7 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "i2c.h"
|
#include "i2c.h"
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
#ifdef RGBLIGHT_ENABLE
|
|
||||||
extern rgblight_config_t rgblight_config;
|
extern rgblight_config_t rgblight_config;
|
||||||
|
|
||||||
void rgblight_set(void) {
|
void rgblight_set(void) {
|
||||||
@@ -44,23 +38,8 @@ void rgblight_set(void) {
|
|||||||
i2c_init();
|
i2c_init();
|
||||||
i2c_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
|
i2c_send(0xb0, (uint8_t*)led, 3 * RGBLED_NUM);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
__attribute__ ((weak))
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
}
|
rgblight_task();
|
||||||
|
|
||||||
void backlight_init_ports(void) {
|
|
||||||
DDRD |= (1<<0 | 1<<1 | 1<<4 | 1<<6);
|
|
||||||
PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6);
|
|
||||||
}
|
|
||||||
|
|
||||||
void backlight_set(uint8_t level) {
|
|
||||||
if (level == 0) {
|
|
||||||
// Turn out the lights
|
|
||||||
PORTD &= ~(1<<0 | 1<<1 | 1<<4 | 1<<6);
|
|
||||||
} else {
|
|
||||||
// Turn on the lights
|
|
||||||
PORTD |= (1<<0 | 1<<1 | 1<<4 | 1<<6);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -37,8 +37,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define DIODE_DIRECTION COL2ROW
|
#define DIODE_DIRECTION COL2ROW
|
||||||
#define DEBOUNCING_DELAY 5
|
#define DEBOUNCING_DELAY 5
|
||||||
|
|
||||||
#define NO_BACKLIGHT_CLOCK
|
|
||||||
#define BACKLIGHT_LEVELS 1
|
|
||||||
#define RGBLIGHT_ANIMATIONS
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
|
||||||
#define NO_UART 1
|
#define NO_UART 1
|
||||||
|
@@ -37,7 +37,7 @@ EXTRAKEY_ENABLE = yes
|
|||||||
CONSOLE_ENABLE = yes
|
CONSOLE_ENABLE = yes
|
||||||
COMMAND_ENABLE = yes
|
COMMAND_ENABLE = yes
|
||||||
BACKLIGHT_ENABLE = no
|
BACKLIGHT_ENABLE = no
|
||||||
RGBLIGHT_ENABLE = no
|
RGBLIGHT_ENABLE = yes
|
||||||
RGBLIGHT_CUSTOM_DRIVER = yes
|
RGBLIGHT_CUSTOM_DRIVER = yes
|
||||||
|
|
||||||
OPT_DEFS = -DDEBUG_LEVEL=0
|
OPT_DEFS = -DDEBUG_LEVEL=0
|
||||||
|
@@ -24,9 +24,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
/* in python2: list(u"whatever".encode('utf-16-le')) */
|
/* in python2: list(u"whatever".encode('utf-16-le')) */
|
||||||
/* at most 32 characters or the ugly hack in usb_main.c borks */
|
/* at most 32 characters or the ugly hack in usb_main.c borks */
|
||||||
#define MANUFACTURER QMK
|
#define MANUFACTURER "QMK"
|
||||||
#define PRODUCT ChibiOS QMK test
|
#define USBSTR_MANUFACTURER 'T', '\x00', 'M', '\x00', 'K', '\x00', ' ', '\x00', '\xc6', '\x00'
|
||||||
#define DESCRIPTION QMK keyboard firmware test for ChibiOS
|
#define PRODUCT "ChibiOS QMK test"
|
||||||
|
#define USBSTR_PRODUCT 'C', '\x00', 'h', '\x00', 'i', '\x00', 'b', '\x00', 'i', '\x00', 'O', '\x00', 'S', '\x00', ' ', '\x00', 'Q', '\x00', 'M', '\x00', 'K', '\x00', ' ', '\x00', 't', '\x00', 'e', '\x00', 's', '\x00', 't', '\x00'
|
||||||
|
#define DESCRIPTION "QMK keyboard firmware test for ChibiOS"
|
||||||
|
|
||||||
/* key matrix size */
|
/* key matrix size */
|
||||||
#define MATRIX_ROWS 1
|
#define MATRIX_ROWS 1
|
||||||
|
@@ -139,7 +139,7 @@
|
|||||||
* @brief Enables the SERIAL over USB subsystem.
|
* @brief Enables the SERIAL over USB subsystem.
|
||||||
*/
|
*/
|
||||||
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
|
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
|
||||||
#define HAL_USE_SERIAL_USB TRUE
|
#define HAL_USE_SERIAL_USB FALSE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -313,7 +313,7 @@
|
|||||||
* buffers.
|
* buffers.
|
||||||
*/
|
*/
|
||||||
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
||||||
#define SERIAL_USB_BUFFERS_SIZE 1
|
#define SERIAL_USB_BUFFERS_SIZE 256
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@@ -139,7 +139,7 @@
|
|||||||
* @brief Enables the SERIAL over USB subsystem.
|
* @brief Enables the SERIAL over USB subsystem.
|
||||||
*/
|
*/
|
||||||
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
|
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
|
||||||
#define HAL_USE_SERIAL_USB TRUE
|
#define HAL_USE_SERIAL_USB FALSE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -313,7 +313,7 @@
|
|||||||
* buffers.
|
* buffers.
|
||||||
*/
|
*/
|
||||||
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
||||||
#define SERIAL_USB_BUFFERS_SIZE 1
|
#define SERIAL_USB_BUFFERS_SIZE 256
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
@@ -139,7 +139,7 @@
|
|||||||
* @brief Enables the SERIAL over USB subsystem.
|
* @brief Enables the SERIAL over USB subsystem.
|
||||||
*/
|
*/
|
||||||
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
|
#if !defined(HAL_USE_SERIAL_USB) || defined(__DOXYGEN__)
|
||||||
#define HAL_USE_SERIAL_USB TRUE
|
#define HAL_USE_SERIAL_USB FALSE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -170,172 +170,6 @@
|
|||||||
#define HAL_USE_WDG FALSE
|
#define HAL_USE_WDG FALSE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*===========================================================================*/
|
|
||||||
/* ADC driver related settings. */
|
|
||||||
/*===========================================================================*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables synchronous APIs.
|
|
||||||
* @note Disabling this option saves both code and data space.
|
|
||||||
*/
|
|
||||||
#if !defined(ADC_USE_WAIT) || defined(__DOXYGEN__)
|
|
||||||
#define ADC_USE_WAIT TRUE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the @p adcAcquireBus() and @p adcReleaseBus() APIs.
|
|
||||||
* @note Disabling this option saves both code and data space.
|
|
||||||
*/
|
|
||||||
#if !defined(ADC_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
|
||||||
#define ADC_USE_MUTUAL_EXCLUSION TRUE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
|
||||||
/* CAN driver related settings. */
|
|
||||||
/*===========================================================================*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Sleep mode related APIs inclusion switch.
|
|
||||||
*/
|
|
||||||
#if !defined(CAN_USE_SLEEP_MODE) || defined(__DOXYGEN__)
|
|
||||||
#define CAN_USE_SLEEP_MODE TRUE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
|
||||||
/* I2C driver related settings. */
|
|
||||||
/*===========================================================================*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the mutual exclusion APIs on the I2C bus.
|
|
||||||
*/
|
|
||||||
#if !defined(I2C_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
|
||||||
#define I2C_USE_MUTUAL_EXCLUSION TRUE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
|
||||||
/* MAC driver related settings. */
|
|
||||||
/*===========================================================================*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables an event sources for incoming packets.
|
|
||||||
*/
|
|
||||||
#if !defined(MAC_USE_ZERO_COPY) || defined(__DOXYGEN__)
|
|
||||||
#define MAC_USE_ZERO_COPY FALSE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables an event sources for incoming packets.
|
|
||||||
*/
|
|
||||||
#if !defined(MAC_USE_EVENTS) || defined(__DOXYGEN__)
|
|
||||||
#define MAC_USE_EVENTS TRUE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
|
||||||
/* MMC_SPI driver related settings. */
|
|
||||||
/*===========================================================================*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Delays insertions.
|
|
||||||
* @details If enabled this options inserts delays into the MMC waiting
|
|
||||||
* routines releasing some extra CPU time for the threads with
|
|
||||||
* lower priority, this may slow down the driver a bit however.
|
|
||||||
* This option is recommended also if the SPI driver does not
|
|
||||||
* use a DMA channel and heavily loads the CPU.
|
|
||||||
*/
|
|
||||||
#if !defined(MMC_NICE_WAITING) || defined(__DOXYGEN__)
|
|
||||||
#define MMC_NICE_WAITING TRUE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
|
||||||
/* SDC driver related settings. */
|
|
||||||
/*===========================================================================*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Number of initialization attempts before rejecting the card.
|
|
||||||
* @note Attempts are performed at 10mS intervals.
|
|
||||||
*/
|
|
||||||
#if !defined(SDC_INIT_RETRY) || defined(__DOXYGEN__)
|
|
||||||
#define SDC_INIT_RETRY 100
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Include support for MMC cards.
|
|
||||||
* @note MMC support is not yet implemented so this option must be kept
|
|
||||||
* at @p FALSE.
|
|
||||||
*/
|
|
||||||
#if !defined(SDC_MMC_SUPPORT) || defined(__DOXYGEN__)
|
|
||||||
#define SDC_MMC_SUPPORT FALSE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Delays insertions.
|
|
||||||
* @details If enabled this options inserts delays into the MMC waiting
|
|
||||||
* routines releasing some extra CPU time for the threads with
|
|
||||||
* lower priority, this may slow down the driver a bit however.
|
|
||||||
*/
|
|
||||||
#if !defined(SDC_NICE_WAITING) || defined(__DOXYGEN__)
|
|
||||||
#define SDC_NICE_WAITING TRUE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
|
||||||
/* SERIAL driver related settings. */
|
|
||||||
/*===========================================================================*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Default bit rate.
|
|
||||||
* @details Configuration parameter, this is the baud rate selected for the
|
|
||||||
* default configuration.
|
|
||||||
*/
|
|
||||||
#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
|
|
||||||
#define SERIAL_DEFAULT_BITRATE 38400
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Serial buffers size.
|
|
||||||
* @details Configuration parameter, you can change the depth of the queue
|
|
||||||
* buffers depending on the requirements of your application.
|
|
||||||
* @note The default is 64 bytes for both the transmission and receive
|
|
||||||
* buffers.
|
|
||||||
*/
|
|
||||||
#if !defined(SERIAL_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
|
||||||
#define SERIAL_BUFFERS_SIZE 16
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
|
||||||
/* SERIAL_USB driver related setting. */
|
|
||||||
/*===========================================================================*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Serial over USB buffers size.
|
|
||||||
* @details Configuration parameter, the buffer size must be a multiple of
|
|
||||||
* the USB data endpoint maximum packet size.
|
|
||||||
* @note The default is 64 bytes for both the transmission and receive
|
|
||||||
* buffers.
|
|
||||||
*/
|
|
||||||
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
|
||||||
#define SERIAL_USB_BUFFERS_SIZE 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
|
||||||
/* SPI driver related settings. */
|
|
||||||
/*===========================================================================*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables synchronous APIs.
|
|
||||||
* @note Disabling this option saves both code and data space.
|
|
||||||
*/
|
|
||||||
#if !defined(SPI_USE_WAIT) || defined(__DOXYGEN__)
|
|
||||||
#define SPI_USE_WAIT TRUE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Enables the @p spiAcquireBus() and @p spiReleaseBus() APIs.
|
|
||||||
* @note Disabling this option saves both code and data space.
|
|
||||||
*/
|
|
||||||
#if !defined(SPI_USE_MUTUAL_EXCLUSION) || defined(__DOXYGEN__)
|
|
||||||
#define SPI_USE_MUTUAL_EXCLUSION TRUE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
/* USB driver related settings. */
|
/* USB driver related settings. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
@@ -351,4 +185,3 @@
|
|||||||
#endif /* _HALCONF_H_ */
|
#endif /* _HALCONF_H_ */
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
|
@@ -1,31 +0,0 @@
|
|||||||
#include "chimera_ergo.h"
|
|
||||||
|
|
||||||
void uart_init(void) {
|
|
||||||
SERIAL_UART_INIT();
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_init(void) {
|
|
||||||
DDRD |= (1<<1);
|
|
||||||
PORTD |= (1<<1);
|
|
||||||
DDRF |= (1<<4) | (1<<5);
|
|
||||||
PORTF |= (1<<4) | (1<<5);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
|
||||||
// put your keyboard start-up code here
|
|
||||||
// runs once when the firmware starts up
|
|
||||||
matrix_init_user();
|
|
||||||
uart_init();
|
|
||||||
led_init();
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_kb(void) {
|
|
||||||
// put your looping keyboard code here
|
|
||||||
// runs every cycle (a lot)
|
|
||||||
matrix_scan_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_kb(uint8_t usb_led) {
|
|
||||||
|
|
||||||
}
|
|
@@ -1,82 +0,0 @@
|
|||||||
#ifndef CHIMERA_ERGO_H
|
|
||||||
#define CHIMERA_ERGO_H
|
|
||||||
|
|
||||||
#include "quantum.h"
|
|
||||||
#include "matrix.h"
|
|
||||||
#include "backlight.h"
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
#define red_led_off PORTF |= (1<<5)
|
|
||||||
#define red_led_on PORTF &= ~(1<<5)
|
|
||||||
#define blu_led_off PORTF |= (1<<4)
|
|
||||||
#define blu_led_on PORTF &= ~(1<<4)
|
|
||||||
#define grn_led_off PORTD |= (1<<1)
|
|
||||||
#define grn_led_on PORTD &= ~(1<<1)
|
|
||||||
|
|
||||||
#define set_led_off red_led_off; grn_led_off; blu_led_off
|
|
||||||
#define set_led_red red_led_on; grn_led_off; blu_led_off
|
|
||||||
#define set_led_blue red_led_off; grn_led_off; blu_led_on
|
|
||||||
#define set_led_green red_led_off; grn_led_on; blu_led_off
|
|
||||||
#define set_led_yellow red_led_on; grn_led_on; blu_led_off
|
|
||||||
#define set_led_magenta red_led_on; grn_led_off; blu_led_on
|
|
||||||
#define set_led_cyan red_led_off; grn_led_on; blu_led_on
|
|
||||||
#define set_led_white red_led_on; grn_led_on; blu_led_on
|
|
||||||
|
|
||||||
/*
|
|
||||||
#define LED_B 5
|
|
||||||
#define LED_R 6
|
|
||||||
#define LED_G 7
|
|
||||||
|
|
||||||
#define all_leds_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
|
|
||||||
|
|
||||||
#define red_led_on PORTF |= (1<<LED_R)
|
|
||||||
#define red_led_off PORTF &= ~(1<<LED_R)
|
|
||||||
#define grn_led_on PORTF |= (1<<LED_G)
|
|
||||||
#define grn_led_off PORTF &= ~(1<<LED_G)
|
|
||||||
#define blu_led_on PORTF |= (1<<LED_B)
|
|
||||||
#define blu_led_off PORTF &= ~(1<<LED_B)
|
|
||||||
|
|
||||||
#define set_led_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
|
|
||||||
#define set_led_red PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_G) | (1<<LED_R)
|
|
||||||
#define set_led_blue PORTF = PORTF & ~(1<<LED_G) & ~(1<<LED_R) | (1<<LED_B)
|
|
||||||
#define set_led_green PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_R) | (1<<LED_G)
|
|
||||||
#define set_led_yellow PORTF = PORTF & ~(1<<LED_B) | (1<<LED_R) | (1<<LED_G)
|
|
||||||
#define set_led_magenta PORTF = PORTF & ~(1<<LED_G) | (1<<LED_R) | (1<<LED_B)
|
|
||||||
#define set_led_cyan PORTF = PORTF & ~(1<<LED_R) | (1<<LED_B) | (1<<LED_G)
|
|
||||||
#define set_led_white PORTF |= (1<<LED_B) | (1<<LED_R) | (1<<LED_G)
|
|
||||||
*/
|
|
||||||
|
|
||||||
// This a shortcut to help you visually see your layout.
|
|
||||||
// The first section contains all of the arguements
|
|
||||||
// The second converts the arguments into a two-dimensional array
|
|
||||||
#define KC_KEYMAP( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \
|
|
||||||
k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \
|
|
||||||
k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \
|
|
||||||
k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, \
|
|
||||||
k48, k49, k50, k51 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ KC_NO, KC_NO, KC_##k26, KC_##k15, KC_##k28, KC_##k01, KC_##k42, KC_##k31, KC_##k20, KC_##k33, KC_NO, KC_NO }, \
|
|
||||||
{ KC_##k00, KC_NO, KC_##k14, KC_##k27, KC_##k16, KC_##k36, KC_##k47, KC_##k19, KC_##k32, KC_##k21, KC_NO, KC_##k11 }, \
|
|
||||||
{ KC_##k12, KC_##k25, KC_##k02, KC_##k39, KC_##k17, KC_##k49, KC_##k50, KC_##k18, KC_##k44, KC_##k09, KC_##k34, KC_##k23 }, \
|
|
||||||
{ KC_##k24, KC_##k13, KC_##k38, KC_##k04, KC_##k05, KC_##k48, KC_##k51, KC_##k06, KC_##k07, KC_##k45, KC_##k22, KC_##k35 }, \
|
|
||||||
{ KC_##k29, KC_##k41, KC_##k03, KC_##k40, KC_##k37, KC_NO, KC_##k30, KC_##k43, KC_##k08, KC_##k10, KC_##k46, KC_NO }, \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define KEYMAP( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \
|
|
||||||
k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \
|
|
||||||
k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \
|
|
||||||
k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, \
|
|
||||||
k48, k49, k50, k51 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ KC_NO, KC_NO, k26, k15, k28, k01, k42, k31, k20, k33, KC_NO, KC_NO }, \
|
|
||||||
{ k00, KC_NO, k14, k27, k16, k36, k47, k19, k32, k21, KC_NO, k11 }, \
|
|
||||||
{ k12, k25, k02, k39, k17, k49, k50, k18, k44, k09, k34, k23 }, \
|
|
||||||
{ k24, k13, k38, k04, k05, k48, k51, k06, k07, k45, k22, k35 }, \
|
|
||||||
{ k29, k41, k03, k40, k37, KC_NO, k30, k43, k08, k10, k46, KC_NO }, \
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,87 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#include "config_common.h"
|
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
|
|
||||||
#define VENDOR_ID 0xFEED
|
|
||||||
#define PRODUCT_ID 0x6060
|
|
||||||
#define DEVICE_VER 0x0001
|
|
||||||
#define MANUFACTURER unknown
|
|
||||||
#define PRODUCT Chimera Ergo
|
|
||||||
#define DESCRIPTION q.m.k. keyboard firmware for Chimera Ergo
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 6
|
|
||||||
#define MATRIX_COLS 12
|
|
||||||
|
|
||||||
/* define if matrix has ghost */
|
|
||||||
//#define MATRIX_HAS_GHOST
|
|
||||||
|
|
||||||
/* number of backlight levels */
|
|
||||||
//#define BACKLIGHT_LEVELS 3
|
|
||||||
|
|
||||||
#define ONESHOT_TIMEOUT 500
|
|
||||||
|
|
||||||
|
|
||||||
/* key combination for command */
|
|
||||||
#define IS_COMMAND() ( \
|
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
|
||||||
)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Feature disable options
|
|
||||||
* These options are also useful to firmware size reduction.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PREVENT_STUCK_MODIFIERS
|
|
||||||
|
|
||||||
/* disable debug print */
|
|
||||||
//#define NO_DEBUG
|
|
||||||
|
|
||||||
/* disable print */
|
|
||||||
//#define NO_PRINT
|
|
||||||
|
|
||||||
/* disable action features */
|
|
||||||
//#define NO_ACTION_LAYER
|
|
||||||
//#define NO_ACTION_TAPPING
|
|
||||||
//#define NO_ACTION_ONESHOT
|
|
||||||
//#define NO_ACTION_MACRO
|
|
||||||
//#define NO_ACTION_FUNCTION
|
|
||||||
|
|
||||||
//UART settings for communication with the RF microcontroller
|
|
||||||
#define SERIAL_UART_BAUD 1000000
|
|
||||||
#define SERIAL_UART_DATA UDR1
|
|
||||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
|
||||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
|
||||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
|
||||||
#define SERIAL_UART_INIT() do { \
|
|
||||||
/* baud rate */ \
|
|
||||||
UBRR1L = SERIAL_UART_UBRR; \
|
|
||||||
/* baud rate */ \
|
|
||||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
|
||||||
/* enable TX and RX */ \
|
|
||||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
|
||||||
/* 8-bit data */ \
|
|
||||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,206 +0,0 @@
|
|||||||
// this is the style you want to emulate.
|
|
||||||
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
|
|
||||||
|
|
||||||
#include "chimera_ergo.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 chimera_ergo_layers
|
|
||||||
{
|
|
||||||
_QWERTY,
|
|
||||||
_CAPS,
|
|
||||||
_NUMPAD,
|
|
||||||
_SYMBOLS,
|
|
||||||
_MACROS,
|
|
||||||
_NAV
|
|
||||||
};
|
|
||||||
|
|
||||||
#define KC_NMPD TG(_NUMPAD)
|
|
||||||
#define KC_SYMB TG(_SYMBOLS)
|
|
||||||
#define KC_SPFN LT(_NAV,KC_EQL)
|
|
||||||
#define KC_SCTL MT(MOD_LCTL, KC_LBRC)
|
|
||||||
#define KC_SCTR MT(MOD_LCTL, KC_RBRC)
|
|
||||||
#define KC_SPLT MT(MOD_LALT, KC_MINS)
|
|
||||||
#define KC_SPRT MT(MOD_LALT, KC_1)
|
|
||||||
#define KC_GBRC MT(MOD_RGUI, KC_RBRC)
|
|
||||||
#define KC_GQOT MT(MOD_LGUI, KC_QUOT)
|
|
||||||
#define KC_MESC LT(_MACROS, KC_ESC)
|
|
||||||
#define KC_INCL M(0)
|
|
||||||
#define KC_PULL M(1)
|
|
||||||
#define KC_PUSH M(2)
|
|
||||||
#define KC_SCAP M(3)
|
|
||||||
#define KC_SCOF M(4)
|
|
||||||
#define KC_CAD LALT(LCTL(KC_DEL))
|
|
||||||
|
|
||||||
#define LONGPRESS_DELAY 150
|
|
||||||
//#define LAYER_TOGGLE_DELAY 300
|
|
||||||
|
|
||||||
// Fillers to make layering more clear
|
|
||||||
#define _______ KC_TRNS
|
|
||||||
#define XXXXXXX KC_NO
|
|
||||||
#define KC_ KC_TRNS
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
|
|
||||||
[_QWERTY] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
LBRC, 1 ,SCTL,SPLT,SPFN, 5 , 6 ,GBRC,SPRT,SCTR, 0 ,RBRC,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
MESC, Q , W , E , R , T , Y , U , I , O , P ,QUOT,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
TAB , A , S , D , F , G , H , J , K , L ,SCLN,ENT ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
LSPO, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,RSPC,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
NMPD,BSPC, SPC ,SYMB
|
|
||||||
// \------------------+----+----/ \---+----+----+--------------/
|
|
||||||
),
|
|
||||||
|
|
||||||
[_CAPS] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
,UNDS, , , , , , , , , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , , , , , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , , , , ,COLN, ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
SCOF, , , , , , , , , , ,SCOF,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , ,
|
|
||||||
// \------------------+----+----/ \---+----+----+--------------/
|
|
||||||
),
|
|
||||||
|
|
||||||
[_NUMPAD] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
, , , , , , , , , ,MINS, ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, ,COLN, , , , , 7 , 8 , 9 ,ASTR, ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, ,DOT , , , , , 4 , 5 , 6 ,PLUS, ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , , 1 , 2 , 3 ,SLSH, ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , 0
|
|
||||||
// \------------------+----+----/ \---+----+----+--------------/
|
|
||||||
),
|
|
||||||
|
|
||||||
[_SYMBOLS] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
, , , , , , , , , , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,BSLS,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
F1 , F2 , F3 , F4 , F5 , F6 , TILD,EQL ,UNDS,LCBR,RCBR, ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
F7 , F8 , F9 ,F10 ,F11 ,F12 , GRV ,PLUS,MINS,LBRC,RBRC, ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
PIPE, , ,
|
|
||||||
// \------------------+----+----/ \---+----+----+--------------/
|
|
||||||
),
|
|
||||||
|
|
||||||
[_MACROS] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
, , , , , , , , , , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , , ,INCL, , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , ,CAD , , , , , , , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
SCAP, , , , , , , ,PULL,PUSH, , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , ,
|
|
||||||
// \------------------+----+----/ \---+----+----+--------------/
|
|
||||||
),
|
|
||||||
|
|
||||||
[_NAV] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
, , , , , , , , , , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , ,PGUP, UP ,PGDN,PSCR, ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , ,LEFT,DOWN,RGHT, , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , , , , , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
,DEL , ,
|
|
||||||
// \------------------+----+----/ \---+----+----+--------------/
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
const uint16_t PROGMEM fn_actions[] = {
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|
||||||
{
|
|
||||||
switch(id) {
|
|
||||||
/* include some kind of library or header */
|
|
||||||
case 0:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
SEND_STRING("#include <>");
|
|
||||||
return MACRO( T(LEFT), END);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
SEND_STRING("git pull");
|
|
||||||
return MACRO( T(ENT), END );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
if (record->event.pressed){
|
|
||||||
SEND_STRING("git push");
|
|
||||||
return MACRO( T(ENT), END );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
if (record->event.pressed){
|
|
||||||
layer_on(_CAPS);
|
|
||||||
register_code(KC_CAPSLOCK);
|
|
||||||
unregister_code(KC_CAPSLOCK);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
if (record->event.pressed){
|
|
||||||
layer_off(_CAPS);
|
|
||||||
register_code(KC_CAPSLOCK);
|
|
||||||
unregister_code(KC_CAPSLOCK);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return MACRO_NONE;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
uint8_t layer = biton32(layer_state);
|
|
||||||
|
|
||||||
switch (layer) {
|
|
||||||
case _QWERTY:
|
|
||||||
set_led_green;
|
|
||||||
break;
|
|
||||||
case _CAPS:
|
|
||||||
set_led_white;
|
|
||||||
break;
|
|
||||||
case _NUMPAD:
|
|
||||||
set_led_blue;
|
|
||||||
break;
|
|
||||||
case _SYMBOLS:
|
|
||||||
set_led_red;
|
|
||||||
break;
|
|
||||||
case _NAV:
|
|
||||||
set_led_magenta;
|
|
||||||
break;
|
|
||||||
case _MACROS:
|
|
||||||
set_led_cyan;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
set_led_green;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
};
|
|
@@ -1,164 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2012 Jun Wako
|
|
||||||
Copyright 2014 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/>.
|
|
||||||
*/
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stdbool.h>
|
|
||||||
#if defined(__AVR__)
|
|
||||||
#include <avr/io.h>
|
|
||||||
#endif
|
|
||||||
#include "wait.h"
|
|
||||||
#include "print.h"
|
|
||||||
#include "debug.h"
|
|
||||||
#include "util.h"
|
|
||||||
#include "matrix.h"
|
|
||||||
#include "timer.h"
|
|
||||||
|
|
||||||
#if (MATRIX_COLS <= 8)
|
|
||||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
|
||||||
# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
|
|
||||||
# define matrix_bitpop(i) bitpop(matrix[i])
|
|
||||||
# define ROW_SHIFTER ((uint8_t)1)
|
|
||||||
#elif (MATRIX_COLS <= 16)
|
|
||||||
# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
|
|
||||||
# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
|
|
||||||
# define matrix_bitpop(i) bitpop16(matrix[i])
|
|
||||||
# define ROW_SHIFTER ((uint16_t)1)
|
|
||||||
#elif (MATRIX_COLS <= 32)
|
|
||||||
# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
|
|
||||||
# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
|
|
||||||
# define matrix_bitpop(i) bitpop32(matrix[i])
|
|
||||||
# define ROW_SHIFTER ((uint32_t)1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* matrix state(1:on, 0:off) */
|
|
||||||
static matrix_row_t matrix[MATRIX_ROWS];
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_init_quantum(void) {
|
|
||||||
matrix_init_kb();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_scan_quantum(void) {
|
|
||||||
matrix_scan_kb();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_init_kb(void) {
|
|
||||||
matrix_init_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_scan_kb(void) {
|
|
||||||
matrix_scan_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_init_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
uint8_t matrix_rows(void) {
|
|
||||||
return MATRIX_ROWS;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
uint8_t matrix_cols(void) {
|
|
||||||
return MATRIX_COLS;
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_init(void) {
|
|
||||||
|
|
||||||
matrix_init_quantum();
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t matrix_scan(void)
|
|
||||||
{
|
|
||||||
SERIAL_UART_INIT();
|
|
||||||
|
|
||||||
uint32_t timeout = 0;
|
|
||||||
|
|
||||||
//the s character requests the RF slave to send the matrix
|
|
||||||
SERIAL_UART_DATA = 's';
|
|
||||||
|
|
||||||
//trust the external keystates entirely, erase the last data
|
|
||||||
uint8_t uart_data[14] = {0};
|
|
||||||
|
|
||||||
//there are 10 bytes corresponding to 10 columns, and an end byte
|
|
||||||
for (uint8_t i = 0; i < 14; i++) {
|
|
||||||
//wait for the serial data, timeout if it's been too long
|
|
||||||
//this only happened in testing with a loose wire, but does no
|
|
||||||
//harm to leave it in here
|
|
||||||
while(!SERIAL_UART_RXD_PRESENT){
|
|
||||||
timeout++;
|
|
||||||
if (timeout > 10000){
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
uart_data[i] = SERIAL_UART_DATA;
|
|
||||||
}
|
|
||||||
|
|
||||||
//check for the end packet, the key state bytes use the LSBs, so 0xE0
|
|
||||||
//will only show up here if the correct bytes were recieved
|
|
||||||
if (uart_data[10] == 0xE0)
|
|
||||||
{
|
|
||||||
//shifting and transferring the keystates to the QMK matrix variable
|
|
||||||
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
|
|
||||||
matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 6;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
matrix_scan_quantum();
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
bool matrix_is_on(uint8_t row, uint8_t col)
|
|
||||||
{
|
|
||||||
return (matrix[row] & ((matrix_row_t)1<col));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
matrix_row_t matrix_get_row(uint8_t row)
|
|
||||||
{
|
|
||||||
return matrix[row];
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_print(void)
|
|
||||||
{
|
|
||||||
print_matrix_header();
|
|
||||||
|
|
||||||
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
|
|
||||||
phex(row); print(": ");
|
|
||||||
print_matrix_row(row);
|
|
||||||
print("\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t matrix_key_count(void)
|
|
||||||
{
|
|
||||||
uint8_t count = 0;
|
|
||||||
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
|
|
||||||
count += matrix_bitpop(i);
|
|
||||||
}
|
|
||||||
return count;
|
|
||||||
}
|
|
@@ -1,19 +0,0 @@
|
|||||||
# Chimera Ergo
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
A split wireless 40% ergonomic keyboard
|
|
||||||
|
|
||||||
Keyboard Maintainer: [William Wilson](https://github.com/GlenPickle)
|
|
||||||
|
|
||||||
|
|
||||||
Hardware Supported: Chimera Ergo PCB, WaveShare core nRF51822
|
|
||||||
|
|
||||||
Hardware Availability: [Gerbers](https://github.com/GlenPickle/Chimera/tree/master/ergo/gerbers)
|
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
|
||||||
|
|
||||||
make chimera_ergo:default
|
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
|
|
||||||
|
|
@@ -1,82 +0,0 @@
|
|||||||
|
|
||||||
OPT_DEFS += -DCHIMERA_ERGO_PROMICRO
|
|
||||||
CHIMERA_ERGO_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
|
|
||||||
avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
|
|
||||||
|
|
||||||
# # project specific files
|
|
||||||
SRC = matrix.c
|
|
||||||
|
|
||||||
|
|
||||||
# MCU name
|
|
||||||
#MCU = at90usb1287
|
|
||||||
MCU = atmega32u4
|
|
||||||
|
|
||||||
# Processor frequency.
|
|
||||||
# This will define a symbol, F_CPU, in all source code files equal to the
|
|
||||||
# processor frequency in Hz. You can then use this symbol in your source code to
|
|
||||||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
|
||||||
# automatically to create a 32-bit value in your source code.
|
|
||||||
#
|
|
||||||
# This will be an integer division of F_USB below, as it is sourced by
|
|
||||||
# F_USB after it has run through any CPU prescalers. Note that this value
|
|
||||||
# does not *change* the processor frequency - it should merely be updated to
|
|
||||||
# reflect the processor speed set externally so that the code can use accurate
|
|
||||||
# software delays.
|
|
||||||
F_CPU = 16000000
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# LUFA specific
|
|
||||||
#
|
|
||||||
# Target architecture (see library "Board Types" documentation).
|
|
||||||
ARCH = AVR8
|
|
||||||
|
|
||||||
# Input clock frequency.
|
|
||||||
# This will define a symbol, F_USB, in all source code files equal to the
|
|
||||||
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
|
||||||
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
|
||||||
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
|
||||||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
|
||||||
# at the end, this will be done automatically to create a 32-bit value in your
|
|
||||||
# source code.
|
|
||||||
#
|
|
||||||
# If no clock division is performed on the input clock inside the AVR (via the
|
|
||||||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
|
|
||||||
F_USB = $(F_CPU)
|
|
||||||
|
|
||||||
# Bootloader
|
|
||||||
# This definition is optional, and if your keyboard supports multiple bootloaders of
|
|
||||||
# different sizes, comment this out, and the correct address will be loaded
|
|
||||||
# automatically (+60). See bootloader.mk for all options.
|
|
||||||
BOOTLOADER = caterina
|
|
||||||
|
|
||||||
# Interrupt driven control endpoint task(+60)
|
|
||||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
|
||||||
|
|
||||||
# Boot Section Size in *bytes*
|
|
||||||
# Teensy halfKay 512
|
|
||||||
# Teensy++ halfKay 1024
|
|
||||||
# Atmel DFU loader 4096
|
|
||||||
# LUFA bootloader 4096
|
|
||||||
# USBaspLoader 2048
|
|
||||||
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
|
||||||
|
|
||||||
|
|
||||||
# Build Options
|
|
||||||
# comment out to disable the options.
|
|
||||||
#
|
|
||||||
#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
|
||||||
CONSOLE_ENABLE = yes # Console for debug(+400)
|
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
|
||||||
CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge
|
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
|
||||||
# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
|
|
||||||
NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
|
||||||
# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
|
||||||
# MIDI_ENABLE = YES # MIDI controls
|
|
||||||
UNICODE_ENABLE = YES # Unicode
|
|
||||||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
|
||||||
|
|
||||||
USB = /dev/ttyACM0
|
|
@@ -1,31 +0,0 @@
|
|||||||
#include "chimera_ls.h"
|
|
||||||
|
|
||||||
void uart_init(void) {
|
|
||||||
SERIAL_UART_INIT();
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_init(void) {
|
|
||||||
DDRD |= (1<<1);
|
|
||||||
PORTD |= (1<<1);
|
|
||||||
DDRF |= (1<<4) | (1<<5);
|
|
||||||
PORTF |= (1<<4) | (1<<5);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
|
||||||
// put your keyboard start-up code here
|
|
||||||
// runs once when the firmware starts up
|
|
||||||
matrix_init_user();
|
|
||||||
uart_init();
|
|
||||||
led_init();
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_kb(void) {
|
|
||||||
// put your looping keyboard code here
|
|
||||||
// runs every cycle (a lot)
|
|
||||||
matrix_scan_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
void led_set_kb(uint8_t usb_led) {
|
|
||||||
|
|
||||||
}
|
|
@@ -1,82 +0,0 @@
|
|||||||
#ifndef CHIMERA_LETS_SPLIT_H
|
|
||||||
#define CHIMERA_LETS_SPLIT_H
|
|
||||||
|
|
||||||
#include "quantum.h"
|
|
||||||
#include "matrix.h"
|
|
||||||
#include "backlight.h"
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
#define red_led_off PORTF |= (1<<5)
|
|
||||||
#define red_led_on PORTF &= ~(1<<5)
|
|
||||||
#define blu_led_off PORTF |= (1<<4)
|
|
||||||
#define blu_led_on PORTF &= ~(1<<4)
|
|
||||||
#define grn_led_off PORTD |= (1<<1)
|
|
||||||
#define grn_led_on PORTD &= ~(1<<1)
|
|
||||||
|
|
||||||
#define set_led_off red_led_off; grn_led_off; blu_led_off
|
|
||||||
#define set_led_red red_led_on; grn_led_off; blu_led_off
|
|
||||||
#define set_led_blue red_led_off; grn_led_off; blu_led_on
|
|
||||||
#define set_led_green red_led_off; grn_led_on; blu_led_off
|
|
||||||
#define set_led_yellow red_led_on; grn_led_on; blu_led_off
|
|
||||||
#define set_led_magenta red_led_on; grn_led_off; blu_led_on
|
|
||||||
#define set_led_cyan red_led_off; grn_led_on; blu_led_on
|
|
||||||
#define set_led_white red_led_on; grn_led_on; blu_led_on
|
|
||||||
|
|
||||||
/*
|
|
||||||
#define LED_B 5
|
|
||||||
#define LED_R 6
|
|
||||||
#define LED_G 7
|
|
||||||
|
|
||||||
#define all_leds_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
|
|
||||||
|
|
||||||
#define red_led_on PORTF |= (1<<LED_R)
|
|
||||||
#define red_led_off PORTF &= ~(1<<LED_R)
|
|
||||||
#define grn_led_on PORTF |= (1<<LED_G)
|
|
||||||
#define grn_led_off PORTF &= ~(1<<LED_G)
|
|
||||||
#define blu_led_on PORTF |= (1<<LED_B)
|
|
||||||
#define blu_led_off PORTF &= ~(1<<LED_B)
|
|
||||||
|
|
||||||
#define set_led_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
|
|
||||||
#define set_led_red PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_G) | (1<<LED_R)
|
|
||||||
#define set_led_blue PORTF = PORTF & ~(1<<LED_G) & ~(1<<LED_R) | (1<<LED_B)
|
|
||||||
#define set_led_green PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_R) | (1<<LED_G)
|
|
||||||
#define set_led_yellow PORTF = PORTF & ~(1<<LED_B) | (1<<LED_R) | (1<<LED_G)
|
|
||||||
#define set_led_magenta PORTF = PORTF & ~(1<<LED_G) | (1<<LED_R) | (1<<LED_B)
|
|
||||||
#define set_led_cyan PORTF = PORTF & ~(1<<LED_R) | (1<<LED_B) | (1<<LED_G)
|
|
||||||
#define set_led_white PORTF |= (1<<LED_B) | (1<<LED_R) | (1<<LED_G)
|
|
||||||
*/
|
|
||||||
|
|
||||||
// This a shortcut to help you visually see your layout.
|
|
||||||
// The first section contains all of the arguements
|
|
||||||
// The second converts the arguments into a two-dimensional array
|
|
||||||
|
|
||||||
#define KC_KEYMAP( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \
|
|
||||||
k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \
|
|
||||||
k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \
|
|
||||||
k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ KC_##k43, KC_##k45, KC_##k34, KC_##k11, KC_##k23, KC_##k40, KC_##k38, KC_##k25, KC_##k00, KC_##k12 }, \
|
|
||||||
{ KC_##k31, KC_##k44, KC_##k46, KC_##k35, KC_##k22, KC_##k28, KC_##k39, KC_##k37, KC_##k24, KC_##k13 }, \
|
|
||||||
{ KC_##k30, KC_##k32, KC_##k33, KC_##k47, KC_##k09, KC_##k29, KC_##k27, KC_##k26, KC_##k36, KC_##k02 }, \
|
|
||||||
{ KC_##k19, KC_##k20, KC_##k21, KC_##k42, KC_##k18, KC_##k16, KC_##k15, KC_##k14, KC_##k41, KC_##k17 }, \
|
|
||||||
{ KC_##k06, KC_##k07, KC_##k08, KC_##k10, KC_NO, KC_##k05, KC_##k04, KC_##k03, KC_##k01, KC_NO }, \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define KEYMAP( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \
|
|
||||||
k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \
|
|
||||||
k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \
|
|
||||||
k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ k43, k45, k34, k11, k23, k40, k38, k25, k00, k12 }, \
|
|
||||||
{ k31, k44, k46, k35, k22, k28, k39, k37, k24, k13 }, \
|
|
||||||
{ k30, k32, k33, k47, k09, k29, k27, k26, k36, k02 }, \
|
|
||||||
{ k19, k20, k21, k42, k18, k16, k15, k14, k41, k17 }, \
|
|
||||||
{ k06, k07, k08, k10, KC_NO, k05, k04, k03, k01, KC_NO }, \
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,87 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#include "config_common.h"
|
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
|
|
||||||
#define VENDOR_ID 0xFEED
|
|
||||||
#define PRODUCT_ID 0x6060
|
|
||||||
#define DEVICE_VER 0x0001
|
|
||||||
#define MANUFACTURER unknown
|
|
||||||
#define PRODUCT Chimera Lets Split
|
|
||||||
#define DESCRIPTION q.m.k. keyboard firmware for Chimera Lets Split
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 5
|
|
||||||
#define MATRIX_COLS 12
|
|
||||||
|
|
||||||
/* define if matrix has ghost */
|
|
||||||
//#define MATRIX_HAS_GHOST
|
|
||||||
|
|
||||||
/* number of backlight levels */
|
|
||||||
//#define BACKLIGHT_LEVELS 3
|
|
||||||
|
|
||||||
#define ONESHOT_TIMEOUT 500
|
|
||||||
|
|
||||||
|
|
||||||
/* key combination for command */
|
|
||||||
#define IS_COMMAND() ( \
|
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
|
||||||
)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Feature disable options
|
|
||||||
* These options are also useful to firmware size reduction.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PREVENT_STUCK_MODIFIERS
|
|
||||||
|
|
||||||
/* disable debug print */
|
|
||||||
//#define NO_DEBUG
|
|
||||||
|
|
||||||
/* disable print */
|
|
||||||
//#define NO_PRINT
|
|
||||||
|
|
||||||
/* disable action features */
|
|
||||||
//#define NO_ACTION_LAYER
|
|
||||||
//#define NO_ACTION_TAPPING
|
|
||||||
//#define NO_ACTION_ONESHOT
|
|
||||||
//#define NO_ACTION_MACRO
|
|
||||||
//#define NO_ACTION_FUNCTION
|
|
||||||
|
|
||||||
//UART settings for communication with the RF microcontroller
|
|
||||||
#define SERIAL_UART_BAUD 1000000
|
|
||||||
#define SERIAL_UART_DATA UDR1
|
|
||||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
|
||||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
|
||||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
|
||||||
#define SERIAL_UART_INIT() do { \
|
|
||||||
/* baud rate */ \
|
|
||||||
UBRR1L = SERIAL_UART_UBRR; \
|
|
||||||
/* baud rate */ \
|
|
||||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
|
||||||
/* enable TX and RX */ \
|
|
||||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
|
||||||
/* 8-bit data */ \
|
|
||||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
|
||||||
} while(0)
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,191 +0,0 @@
|
|||||||
// this is the style you want to emulate.
|
|
||||||
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
|
|
||||||
|
|
||||||
#include "chimera_ls.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 chimera_lets_split_layers
|
|
||||||
{
|
|
||||||
_QWERTY,
|
|
||||||
_CAPS,
|
|
||||||
_NUMPAD,
|
|
||||||
_SYMBOLS,
|
|
||||||
_MACROS,
|
|
||||||
_NAV
|
|
||||||
};
|
|
||||||
|
|
||||||
#define KC_NMPD TG(_NUMPAD)
|
|
||||||
#define KC_SYMB TG(_SYMBOLS)
|
|
||||||
#define KC_SPFN LT(_NAV,KC_EQL)
|
|
||||||
#define KC_SCTL MT(MOD_LCTL, KC_BSLS)
|
|
||||||
#define KC_SCTR MT(MOD_LCTL, KC_RBRC)
|
|
||||||
#define KC_SPLT MT(MOD_LALT, KC_MINS)
|
|
||||||
#define KC_MESC LT(_MACROS, KC_ESC)
|
|
||||||
#define KC_INCL M(0)
|
|
||||||
#define KC_PULL M(1)
|
|
||||||
#define KC_PUSH M(2)
|
|
||||||
#define KC_SCAP M(3)
|
|
||||||
#define KC_SCOF M(4)
|
|
||||||
#define KC_CAD LALT(LCTL(KC_DEL))
|
|
||||||
|
|
||||||
#define LONGPRESS_DELAY 150
|
|
||||||
//#define LAYER_TOGGLE_DELAY 300
|
|
||||||
|
|
||||||
// Fillers to make layering more clear
|
|
||||||
#define _______ KC_TRNS
|
|
||||||
#define XXXXXXX KC_NO
|
|
||||||
#define KC_ KC_TRNS
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
|
|
||||||
[_QWERTY] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
MESC, Q , W , E , R , T , Y , U , I , O , P ,BSPC,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
TAB , A , S , D , F , G , H , J , K , L ,SCLN, ENT,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
LSPO, Z , X , C , V , B , N , M ,COMM,DOT ,SLSH,RSPC,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
SCTL,SPFN,SPLT,AMPR,NMPD,SPC , SPC ,SYMB,ASTR,EXLM,LBRC,SCTR
|
|
||||||
//`----+----+----+----+----+----' `----+----+----+----+----+----'
|
|
||||||
),
|
|
||||||
|
|
||||||
[_CAPS] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
, , , , , , , , , , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , , , , ,COLN, ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , , , , , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, ,UNDS, , , , , , , , ,
|
|
||||||
//`----+----+----+----+----+----' `----+----+----+----+----+----'
|
|
||||||
),
|
|
||||||
|
|
||||||
|
|
||||||
[_NUMPAD] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
, , , , , , , 7 , 8 , 9 ,MINS,QUOT,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , , 4 , 5 , 6 ,PLUS, ENT,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
LSFT, , , , , , , 1 , 2 , 3 ,ASTR, EQL,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , ,BSPC, SPC , 0 , 0 , DOT,SLSH,
|
|
||||||
//`----+----+----+----+----+----' `----+----+----+----+----+----'
|
|
||||||
),
|
|
||||||
|
|
||||||
[_SYMBOLS] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,QUOT,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
F1 , F2 , F3 , F4 , F5 , F6 , TILD,EQL ,UNDS,LCBR,RCBR,PIPE,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
F7 , F8 , F9 , F10, F11, F12, GRV ,PLUS,MINS,LBRC,RBRC,BSLS,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , NO ,BSPC, SPC , , , , ,
|
|
||||||
//`----+----+----+----+----+----' `----+----+----+----+----+----'
|
|
||||||
),
|
|
||||||
|
|
||||||
[_NAV] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
, , , , DEL,BSPC, ,HOME, UP , END, INS,PSCR,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , ,LSFT,LCTL, ENT, ,LEFT,DOWN,RGHT, DEL, ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , ,PGUP,PGDN, , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , ,DEL , , , , , ,
|
|
||||||
//`----+----+----+----+----+----' `----+----+----+----+----+----'
|
|
||||||
),
|
|
||||||
|
|
||||||
[_MACROS] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
|
|
||||||
, , , , , , , ,INCL, , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , ,CAD , , , , , , , , ,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
SCAP, , , , , , , ,PULL,PUSH, ,SCAP,
|
|
||||||
//|----+----+----+----+----+----| |----+----+----+----+----+----|
|
|
||||||
, , , , , , , , , , ,
|
|
||||||
//`----+----+----+----+----+----' `----+----+----+----+----+----'
|
|
||||||
),
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
const uint16_t PROGMEM fn_actions[] = {
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|
||||||
{
|
|
||||||
switch(id) {
|
|
||||||
/* include some kind of library or header */
|
|
||||||
case 0:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
SEND_STRING("#include <>");
|
|
||||||
return MACRO( T(LEFT), END);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
SEND_STRING("git pull");
|
|
||||||
return MACRO( T(ENT), END );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
if (record->event.pressed){
|
|
||||||
SEND_STRING("git push");
|
|
||||||
return MACRO( T(ENT), END );
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
if (record->event.pressed){
|
|
||||||
layer_on(_CAPS);
|
|
||||||
register_code(KC_CAPSLOCK);
|
|
||||||
unregister_code(KC_CAPSLOCK);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
if (record->event.pressed){
|
|
||||||
layer_off(_CAPS);
|
|
||||||
register_code(KC_CAPSLOCK);
|
|
||||||
unregister_code(KC_CAPSLOCK);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return MACRO_NONE;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
uint8_t layer = biton32(layer_state);
|
|
||||||
|
|
||||||
switch (layer) {
|
|
||||||
case _QWERTY:
|
|
||||||
set_led_green;
|
|
||||||
break;
|
|
||||||
case _CAPS:
|
|
||||||
set_led_white;
|
|
||||||
break;
|
|
||||||
case _NUMPAD:
|
|
||||||
set_led_blue;
|
|
||||||
break;
|
|
||||||
case _SYMBOLS:
|
|
||||||
set_led_red;
|
|
||||||
break;
|
|
||||||
case _NAV:
|
|
||||||
set_led_magenta;
|
|
||||||
break;
|
|
||||||
case _MACROS:
|
|
||||||
set_led_cyan;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
set_led_green;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
};
|
|
@@ -1,168 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright 2012 Jun Wako
|
|
||||||
Copyright 2014 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/>.
|
|
||||||
*/
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stdbool.h>
|
|
||||||
#if defined(__AVR__)
|
|
||||||
#include <avr/io.h>
|
|
||||||
#endif
|
|
||||||
#include "wait.h"
|
|
||||||
#include "print.h"
|
|
||||||
#include "debug.h"
|
|
||||||
#include "util.h"
|
|
||||||
#include "matrix.h"
|
|
||||||
#include "timer.h"
|
|
||||||
|
|
||||||
#if (MATRIX_COLS <= 8)
|
|
||||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
|
||||||
# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
|
|
||||||
# define matrix_bitpop(i) bitpop(matrix[i])
|
|
||||||
# define ROW_SHIFTER ((uint8_t)1)
|
|
||||||
#elif (MATRIX_COLS <= 16)
|
|
||||||
# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
|
|
||||||
# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
|
|
||||||
# define matrix_bitpop(i) bitpop16(matrix[i])
|
|
||||||
# define ROW_SHIFTER ((uint16_t)1)
|
|
||||||
#elif (MATRIX_COLS <= 32)
|
|
||||||
# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
|
|
||||||
# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
|
|
||||||
# define matrix_bitpop(i) bitpop32(matrix[i])
|
|
||||||
# define ROW_SHIFTER ((uint32_t)1)
|
|
||||||
#elif (MATRIX_COLS <= 64)
|
|
||||||
# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF\n")
|
|
||||||
# define print_matrix_row(row) print_bin_reverse64(matrix_get_row(row))
|
|
||||||
# define matrix_bitpop(i) bitpop64(matrix[i])
|
|
||||||
# define ROW_SHIFTER ((uint64_t)1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* matrix state(1:on, 0:off) */
|
|
||||||
static matrix_row_t matrix[MATRIX_ROWS];
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_init_quantum(void) {
|
|
||||||
matrix_init_kb();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_scan_quantum(void) {
|
|
||||||
matrix_scan_kb();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_init_kb(void) {
|
|
||||||
matrix_init_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_scan_kb(void) {
|
|
||||||
matrix_scan_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_init_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
uint8_t matrix_rows(void) {
|
|
||||||
return MATRIX_ROWS;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
uint8_t matrix_cols(void) {
|
|
||||||
return MATRIX_COLS;
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_init(void) {
|
|
||||||
matrix_init_quantum();
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t matrix_scan(void)
|
|
||||||
{
|
|
||||||
SERIAL_UART_INIT();
|
|
||||||
|
|
||||||
uint32_t timeout = 0;
|
|
||||||
|
|
||||||
//the s character requests the RF slave to send the matrix
|
|
||||||
SERIAL_UART_DATA = 's';
|
|
||||||
|
|
||||||
//trust the external keystates entirely, erase the last data
|
|
||||||
uint8_t uart_data[11] = {0};
|
|
||||||
|
|
||||||
//there are 10 bytes corresponding to 10 columns, and an end byte
|
|
||||||
for (uint8_t i = 0; i < 11; i++) {
|
|
||||||
//wait for the serial data, timeout if it's been too long
|
|
||||||
//this only happened in testing with a loose wire, but does no
|
|
||||||
//harm to leave it in here
|
|
||||||
while(!SERIAL_UART_RXD_PRESENT){
|
|
||||||
timeout++;
|
|
||||||
if (timeout > 10000){
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
uart_data[i] = SERIAL_UART_DATA;
|
|
||||||
}
|
|
||||||
|
|
||||||
//check for the end packet, the key state bytes use the LSBs, so 0xE0
|
|
||||||
//will only show up here if the correct bytes were recieved
|
|
||||||
if (uart_data[10] == 0xE0)
|
|
||||||
{
|
|
||||||
//shifting and transferring the keystates to the QMK matrix variable
|
|
||||||
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
|
|
||||||
matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
matrix_scan_quantum();
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
bool matrix_is_on(uint8_t row, uint8_t col)
|
|
||||||
{
|
|
||||||
return (matrix[row] & ((matrix_row_t)1<col));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
matrix_row_t matrix_get_row(uint8_t row)
|
|
||||||
{
|
|
||||||
return matrix[row];
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_print(void)
|
|
||||||
{
|
|
||||||
print_matrix_header();
|
|
||||||
|
|
||||||
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
|
|
||||||
phex(row); print(": ");
|
|
||||||
print_matrix_row(row);
|
|
||||||
print("\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t matrix_key_count(void)
|
|
||||||
{
|
|
||||||
uint8_t count = 0;
|
|
||||||
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
|
|
||||||
count += matrix_bitpop(i);
|
|
||||||
}
|
|
||||||
return count;
|
|
||||||
}
|
|
@@ -1,19 +0,0 @@
|
|||||||
# Chimera LS
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
A wireless version of the let's split: a split 40% ortholinear keyboard
|
|
||||||
|
|
||||||
Keyboard Maintainer: [William Wilson](https://github.com/GlenPickle)
|
|
||||||
|
|
||||||
|
|
||||||
Hardware Supported: Chimera LS PCB, WaveShare core nRF51822
|
|
||||||
|
|
||||||
Hardware Availability: [Gerbers](https://github.com/GlenPickle/Chimera/tree/master/ls/gerbers)
|
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
|
||||||
|
|
||||||
make chimera_ls:default
|
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
|
|
||||||
|
|
@@ -1,82 +0,0 @@
|
|||||||
|
|
||||||
OPT_DEFS += -DCHIMERA_LS_PROMICRO
|
|
||||||
CHIMERA_LS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
|
|
||||||
avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
|
|
||||||
|
|
||||||
# # project specific files
|
|
||||||
SRC = matrix.c
|
|
||||||
|
|
||||||
|
|
||||||
# MCU name
|
|
||||||
#MCU = at90usb1287
|
|
||||||
MCU = atmega32u4
|
|
||||||
|
|
||||||
# Processor frequency.
|
|
||||||
# This will define a symbol, F_CPU, in all source code files equal to the
|
|
||||||
# processor frequency in Hz. You can then use this symbol in your source code to
|
|
||||||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
|
||||||
# automatically to create a 32-bit value in your source code.
|
|
||||||
#
|
|
||||||
# This will be an integer division of F_USB below, as it is sourced by
|
|
||||||
# F_USB after it has run through any CPU prescalers. Note that this value
|
|
||||||
# does not *change* the processor frequency - it should merely be updated to
|
|
||||||
# reflect the processor speed set externally so that the code can use accurate
|
|
||||||
# software delays.
|
|
||||||
F_CPU = 16000000
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# LUFA specific
|
|
||||||
#
|
|
||||||
# Target architecture (see library "Board Types" documentation).
|
|
||||||
ARCH = AVR8
|
|
||||||
|
|
||||||
# Input clock frequency.
|
|
||||||
# This will define a symbol, F_USB, in all source code files equal to the
|
|
||||||
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
|
||||||
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
|
||||||
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
|
||||||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
|
||||||
# at the end, this will be done automatically to create a 32-bit value in your
|
|
||||||
# source code.
|
|
||||||
#
|
|
||||||
# If no clock division is performed on the input clock inside the AVR (via the
|
|
||||||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
|
|
||||||
F_USB = $(F_CPU)
|
|
||||||
|
|
||||||
# Bootloader
|
|
||||||
# This definition is optional, and if your keyboard supports multiple bootloaders of
|
|
||||||
# different sizes, comment this out, and the correct address will be loaded
|
|
||||||
# automatically (+60). See bootloader.mk for all options.
|
|
||||||
BOOTLOADER = caterina
|
|
||||||
|
|
||||||
# Interrupt driven control endpoint task(+60)
|
|
||||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
|
||||||
|
|
||||||
# Boot Section Size in *bytes*
|
|
||||||
# Teensy halfKay 512
|
|
||||||
# Teensy++ halfKay 1024
|
|
||||||
# Atmel DFU loader 4096
|
|
||||||
# LUFA bootloader 4096
|
|
||||||
# USBaspLoader 2048
|
|
||||||
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
|
||||||
|
|
||||||
|
|
||||||
# Build Options
|
|
||||||
# comment out to disable the options.
|
|
||||||
#
|
|
||||||
#BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
|
||||||
CONSOLE_ENABLE = yes # Console for debug(+400)
|
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
|
||||||
CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge
|
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
|
||||||
# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
|
|
||||||
NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
|
||||||
# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
|
||||||
# MIDI_ENABLE = YES # MIDI controls
|
|
||||||
UNICODE_ENABLE = YES # Unicode
|
|
||||||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
|
||||||
|
|
||||||
USB = /dev/ttyACM0
|
|
@@ -49,7 +49,7 @@
|
|||||||
// This a shortcut to help you visually see your layout.
|
// This a shortcut to help you visually see your layout.
|
||||||
// The first section contains all of the arguements
|
// The first section contains all of the arguements
|
||||||
// The second converts the arguments into a two-dimensional array
|
// The second converts the arguments into a two-dimensional array
|
||||||
#define KC_KEYMAP( \
|
#define KEYMAP( \
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, \
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, \
|
||||||
k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, \
|
k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, \
|
||||||
k28, k29, k31, k32, k33, k34, k35, k36, k37, k38, k41, k42, k43, k44,\
|
k28, k29, k31, k32, k33, k34, k35, k36, k37, k38, k41, k42, k43, k44,\
|
||||||
@@ -63,17 +63,4 @@
|
|||||||
{ KC_NO, KC_##k28, KC_##k14, KC_##k00, KC_##k45, KC_##k48, KC_##k13, KC_##k27, KC_##k44, KC_NO }, \
|
{ KC_NO, KC_##k28, KC_##k14, KC_##k00, KC_##k45, KC_##k48, KC_##k13, KC_##k27, KC_##k44, KC_NO }, \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define KEYMAP( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, \
|
|
||||||
k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, \
|
|
||||||
k28, k29, k31, k32, k33, k34, k35, k36, k37, k38, k41, k42, k43, k44,\
|
|
||||||
k45, k46, k47, k48 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ k01, k02, k03, k04, k05, k08, k09, k10, k11, k12 }, \
|
|
||||||
{ k15, k16, k17, k18, k19, k22, k23, k24, k25, k26 }, \
|
|
||||||
{ k29, k31, k32, k33, k34, k37, k38, k41, k42, k43 }, \
|
|
||||||
{ KC_NO, k06, k20, k35, k46, k47, k36, k21, k07, KC_NO }, \
|
|
||||||
{ KC_NO, k28, k14, k00, k45, k48, k13, k27, k44, KC_NO }, \
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -44,7 +44,7 @@ enum chimera_ortho_layers
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[_QWERTY] = KC_KEYMAP(
|
[_QWERTY] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
MESC, Q , W , E , R , T ,SCTL, SCTR, Y , U , I , O , P ,QUOT,
|
MESC, Q , W , E , R , T ,SCTL, SCTR, Y , U , I , O , P ,QUOT,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// \------------------+----+----+---/ \---+----+----+-------------------/
|
// \------------------+----+----+---/ \---+----+----+-------------------/
|
||||||
),
|
),
|
||||||
|
|
||||||
[_CAPS] = KC_KEYMAP(
|
[_CAPS] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
, , , , , , , , , , , , , ,
|
, , , , , , , , , , , , , ,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// \------------------+----+----+---/ \---+----+----+-------------------/
|
// \------------------+----+----+---/ \---+----+----+-------------------/
|
||||||
),
|
),
|
||||||
|
|
||||||
[_NUMPAD] = KC_KEYMAP(
|
[_NUMPAD] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
, ,COLN , , , , , , , 7 , 8 , 9 ,ASTR,MINS,
|
, ,COLN , , , , , , , 7 , 8 , 9 ,ASTR,MINS,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// \------------------+----+----+---/ \---+----+----+-------------------/
|
// \------------------+----+----+---/ \---+----+----+-------------------/
|
||||||
),
|
),
|
||||||
|
|
||||||
[_SYMBOLS] = KC_KEYMAP(
|
[_SYMBOLS] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
,EXLM, AT ,HASH,DLR ,PERC, , ,CIRC,AMPR,ASTR,LPRN,RPRN,BSLS,
|
,EXLM, AT ,HASH,DLR ,PERC, , ,CIRC,AMPR,ASTR,LPRN,RPRN,BSLS,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// \------------------+----+----+---/ \---+----+----+-------------------/
|
// \------------------+----+----+---/ \---+----+----+-------------------/
|
||||||
),
|
),
|
||||||
|
|
||||||
[_NAV] = KC_KEYMAP(
|
[_NAV] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
, , , , , , , , , , UP , ,PSCR, ,
|
, , , , , , , , , , UP , ,PSCR, ,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// \------------------+----+----+---/ \---+----+----+-------------------/
|
// \------------------+----+----+---/ \---+----+----+-------------------/
|
||||||
),
|
),
|
||||||
|
|
||||||
[_MACROS] = KC_KEYMAP(
|
[_MACROS] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
, , , , , , , , , ,INCL, , , ,
|
, , , , , , , , , ,INCL, , , ,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
|
@@ -206,7 +206,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[_QWERTY] = KC_KEYMAP(
|
[_QWERTY] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
MESC, Q ,CSHW,ENAV, R , T ,SPC , CLPS, Y , U ,INAV, O , P ,TTT,
|
MESC, Q ,CSHW,ENAV, R , T ,SPC , CLPS, Y , U ,INAV, O , P ,TTT,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -218,7 +218,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// \------------------+----+----+---/ \---+----+----+-------------------/
|
// \------------------+----+----+---/ \---+----+----+-------------------/
|
||||||
),
|
),
|
||||||
|
|
||||||
[_NUMPAD] = KC_KEYMAP(
|
[_NUMPAD] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
, , , ,ASTR, , , , , 7 , 8 , 9 ,ASTR,/**/,
|
, , , ,ASTR, , , , , 7 , 8 , 9 ,ASTR,/**/,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -230,7 +230,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// \------------------+----+----+---/ \---+----+----+-------------------/
|
// \------------------+----+----+---/ \---+----+----+-------------------/
|
||||||
),
|
),
|
||||||
|
|
||||||
[_SYMBOLS] = KC_KEYMAP(
|
[_SYMBOLS] = KEYMAP(
|
||||||
//,----+----+-----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+-----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
,EXLM, AT ,LCBR,RCBR,HASH, , ,CIRC,AMPR,ASTR,LPRN,RPRN,/**/,
|
,EXLM, AT ,LCBR,RCBR,HASH, , ,CIRC,AMPR,ASTR,LPRN,RPRN,/**/,
|
||||||
//|----+----+-----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+-----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -242,7 +242,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// \-------------------+----+----+---/ \---+----+----+-------------------/
|
// \-------------------+----+----+---/ \---+----+----+-------------------/
|
||||||
),
|
),
|
||||||
|
|
||||||
[_FUNCTION] = KC_KEYMAP(
|
[_FUNCTION] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
F6F7 ,F1 ,F2 ,F3 ,ALF4,F5 ,F6 , F7 ,F8 ,F9 ,F10 ,F11 ,F12 ,/**/,
|
F6F7 ,F1 ,F2 ,F3 ,ALF4,F5 ,F6 , F7 ,F8 ,F9 ,F10 ,F11 ,F12 ,/**/,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -254,7 +254,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// \------------------+----+----+---/ \---+----+----+-------------------/
|
// \------------------+----+----+---/ \---+----+----+-------------------/
|
||||||
),
|
),
|
||||||
|
|
||||||
[_NAV] = KC_KEYMAP(
|
[_NAV] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
, ,SNAPLEFT,/**/,SNAPRIGHT,, , , , , UP , , , ,
|
, ,SNAPLEFT,/**/,SNAPRIGHT,, , , , , UP , , , ,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -266,7 +266,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// \------------------+----+----+---/ \---+----+----+-------------------/
|
// \------------------+----+----+---/ \---+----+----+-------------------/
|
||||||
),
|
),
|
||||||
|
|
||||||
[_TEXTNAV] = KC_KEYMAP(
|
[_TEXTNAV] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
, , , , , , , , , ,/**/, , , ,
|
, , , , , , , , , ,/**/, , , ,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -278,7 +278,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
// \------------------+----+----+---/ \---+----+----+-------------------/
|
// \------------------+----+----+---/ \---+----+----+-------------------/
|
||||||
),
|
),
|
||||||
|
|
||||||
[_MOUSE] = KC_KEYMAP(
|
[_MOUSE] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
, , ,MS_UP, , , , , , , UP , , , ,/**/
|
, , ,MS_UP, , , , , , , UP , , , ,/**/
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
@@ -291,7 +291,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
[_MACROS] = KC_KEYMAP(
|
[_MACROS] = KEYMAP(
|
||||||
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
//,----+----+----+----+----+----+----. ,----+----+----+----+----+----+----.
|
||||||
/**/,RESET,SECRET_2,SECRET_3, , , ,SYSTEM_SLEEP, , ,INCL, , , ,
|
/**/,RESET,SECRET_2,SECRET_3, , , ,SYSTEM_SLEEP, , ,INCL, , , ,
|
||||||
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
//|----+----+----+----+----+----+----| |----+----+----+----+----+----+----|
|
||||||
|
@@ -47,6 +47,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
/* matrix state(1:on, 0:off) */
|
/* matrix state(1:on, 0:off) */
|
||||||
static matrix_row_t matrix[MATRIX_ROWS];
|
static matrix_row_t matrix[MATRIX_ROWS];
|
||||||
|
|
||||||
|
__attribute__ ((weak))
|
||||||
|
void matrix_init_quantum(void) {
|
||||||
|
matrix_init_kb();
|
||||||
|
}
|
||||||
|
|
||||||
|
__attribute__ ((weak))
|
||||||
|
void matrix_scan_quantum(void) {
|
||||||
|
matrix_scan_kb();
|
||||||
|
}
|
||||||
|
|
||||||
__attribute__ ((weak))
|
__attribute__ ((weak))
|
||||||
void matrix_init_kb(void) {
|
void matrix_init_kb(void) {
|
||||||
matrix_init_user();
|
matrix_init_user();
|
||||||
|
@@ -1,14 +0,0 @@
|
|||||||
Chocopad
|
|
||||||
========
|
|
||||||
|
|
||||||
A 4x4 macropad keyboard using Kailh PG1350 Lower Profile Choc switches.
|
|
||||||
|
|
||||||
Keyboard Maintainer: Keebio
|
|
||||||
Hardware Supported: Chocopad PCB, Arduino Pro Micro
|
|
||||||
Hardware Availability: [Keebio](https://keeb.io)
|
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
|
||||||
|
|
||||||
make chocopad:default
|
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
|
|
@@ -1 +0,0 @@
|
|||||||
#include "chocopad.h"
|
|
@@ -1,32 +0,0 @@
|
|||||||
#ifndef CHOCOPAD_H
|
|
||||||
#define CHOCOPAD_H
|
|
||||||
|
|
||||||
#include "quantum.h"
|
|
||||||
|
|
||||||
#define KEYMAP( \
|
|
||||||
A1, A2, A3, A4, \
|
|
||||||
B1, B2, B3, B4, \
|
|
||||||
C1, C2, C3, C4, \
|
|
||||||
D1, D2, D3, D4 \
|
|
||||||
) { \
|
|
||||||
{ A1, A2, A3, A4 }, \
|
|
||||||
{ B1, B2, B3, B4 }, \
|
|
||||||
{ C1, C2, C3, C4 }, \
|
|
||||||
{ D1, D2, D3, D4 } \
|
|
||||||
}
|
|
||||||
|
|
||||||
// Used to create a keymap using only KC_ prefixed keys
|
|
||||||
#define KC_KEYMAP( \
|
|
||||||
A1, A2, A3, A4, \
|
|
||||||
B1, B2, B3, B4, \
|
|
||||||
C1, C2, C3, C4, \
|
|
||||||
D1, D2, D3, D4 \
|
|
||||||
) \
|
|
||||||
KEYMAP( \
|
|
||||||
KC_##A1, KC_##A2, KC_##A3, KC_##A4, \
|
|
||||||
KC_##B1, KC_##B2, KC_##B3, KC_##B4, \
|
|
||||||
KC_##C1, KC_##C2, KC_##C3, KC_##C4, \
|
|
||||||
KC_##D1, KC_##D2, KC_##D3, KC_##D4 \
|
|
||||||
)
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,59 +0,0 @@
|
|||||||
#ifndef CONFIG_H
|
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#include "config_common.h"
|
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
|
||||||
#define VENDOR_ID 0xCEEB
|
|
||||||
#define PRODUCT_ID 0x1144
|
|
||||||
#define DEVICE_VER 0x0100
|
|
||||||
#define MANUFACTURER Keebio
|
|
||||||
#define PRODUCT Chocopad
|
|
||||||
#define DESCRIPTION 4x4 macropad using Kailh Choc low-profile switches
|
|
||||||
|
|
||||||
/* key matrix size */
|
|
||||||
#define MATRIX_ROWS 4
|
|
||||||
#define MATRIX_COLS 4
|
|
||||||
|
|
||||||
/* key matrix pins */
|
|
||||||
#define MATRIX_ROW_PINS { D7, E6, B3, B2 }
|
|
||||||
#define MATRIX_COL_PINS { D2, D4, F6, F5 }
|
|
||||||
|
|
||||||
/* COL2ROW or ROW2COL */
|
|
||||||
#define DIODE_DIRECTION COL2ROW
|
|
||||||
|
|
||||||
/* number of backlight levels */
|
|
||||||
#define BACKLIGHT_PIN B5
|
|
||||||
#define BACKLIGHT_LEVELS 6
|
|
||||||
|
|
||||||
/* Set 0 if debouncing isn't needed */
|
|
||||||
#define DEBOUNCING_DELAY 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
|
|
||||||
|
|
||||||
/* key combination for command */
|
|
||||||
#define IS_COMMAND() ( \
|
|
||||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
|
||||||
)
|
|
||||||
|
|
||||||
/* prevent stuck modifiers */
|
|
||||||
#define PREVENT_STUCK_MODIFIERS
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef RGB_DI_PIN
|
|
||||||
#define RGBLIGHT_ANIMATIONS
|
|
||||||
#define RGBLIGHT_HUE_STEP 8
|
|
||||||
#define RGBLIGHT_SAT_STEP 8
|
|
||||||
#define RGBLIGHT_VAL_STEP 8
|
|
||||||
#endif
|
|
||||||
#define RGB_DI_PIN D3
|
|
||||||
#define RGBLIGHT_TIMER
|
|
||||||
#define RGBLED_NUM 4
|
|
||||||
#define ws2812_PORTREG PORTD
|
|
||||||
#define ws2812_DDRREG DDRD
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,6 +0,0 @@
|
|||||||
#ifndef CONFIG_USER_H
|
|
||||||
#define CONFIG_USER_H
|
|
||||||
|
|
||||||
#include "../../config.h"
|
|
||||||
|
|
||||||
#endif
|
|
@@ -1,61 +0,0 @@
|
|||||||
#include "chocopad.h"
|
|
||||||
|
|
||||||
#define _BASE 0
|
|
||||||
#define _FN1 1
|
|
||||||
#define _FN2 2
|
|
||||||
|
|
||||||
#define KC_ KC_TRNS
|
|
||||||
#define _______ KC_TRNS
|
|
||||||
|
|
||||||
#define KC_X1 MO(_FN1)
|
|
||||||
#define KC_X2 MO(_FN2)
|
|
||||||
#define KC_RST RESET
|
|
||||||
#define KC_BSTP BL_STEP
|
|
||||||
#define KC_RTOG RGB_TOG
|
|
||||||
#define KC_RMOD RGB_MOD
|
|
||||||
#define KC_RHUI RGB_HUI
|
|
||||||
#define KC_RHUD RGB_HUD
|
|
||||||
#define KC_RSAI RGB_SAI
|
|
||||||
#define KC_RSAD RGB_SAD
|
|
||||||
#define KC_RVAI RGB_VAI
|
|
||||||
#define KC_RVAD RGB_VAD
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
|
|
||||||
[_BASE] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----.
|
|
||||||
PGUP,HOME, UP ,END ,
|
|
||||||
//|----+----+----+----|
|
|
||||||
PGDN,LEFT,DOWN,RGHT,
|
|
||||||
//|----+----+----+----|
|
|
||||||
X2 ,VOLU,MPLY,MPRV,
|
|
||||||
//|----+----+----+----|
|
|
||||||
X1 ,VOLD,MUTE,MNXT
|
|
||||||
//`----+----+----+----'
|
|
||||||
),
|
|
||||||
|
|
||||||
[_FN1] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----.
|
|
||||||
ESC , P7 , P8 , P9 ,
|
|
||||||
//|----+----+----+----|
|
|
||||||
TAB , P4 , P5 , P6 ,
|
|
||||||
//|----+----+----+----|
|
|
||||||
ENT , P1 , P2 , P3 ,
|
|
||||||
//|----+----+----+----|
|
|
||||||
, P0 , P0 ,DOT
|
|
||||||
//`----+----+----+----'
|
|
||||||
),
|
|
||||||
|
|
||||||
[_FN2] = KC_KEYMAP(
|
|
||||||
//,----+----+----+----.
|
|
||||||
RTOG,RHUI,RSAI,RVAI,
|
|
||||||
//|----+----+----+----|
|
|
||||||
RMOD,RHUD,RSAD,RVAD,
|
|
||||||
//|----+----+----+----|
|
|
||||||
, , ,RST ,
|
|
||||||
//|----+----+----+----|
|
|
||||||
BSTP, , ,
|
|
||||||
//`----+----+----+----'
|
|
||||||
)
|
|
||||||
|
|
||||||
};
|
|
@@ -1,56 +0,0 @@
|
|||||||
# MCU name
|
|
||||||
MCU = atmega32u4
|
|
||||||
|
|
||||||
# Processor frequency.
|
|
||||||
# This will define a symbol, F_CPU, in all source code files equal to the
|
|
||||||
# processor frequency in Hz. You can then use this symbol in your source code to
|
|
||||||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
|
||||||
# automatically to create a 32-bit value in your source code.
|
|
||||||
#
|
|
||||||
# This will be an integer division of F_USB below, as it is sourced by
|
|
||||||
# F_USB after it has run through any CPU prescalers. Note that this value
|
|
||||||
# does not *change* the processor frequency - it should merely be updated to
|
|
||||||
# reflect the processor speed set externally so that the code can use accurate
|
|
||||||
# software delays.
|
|
||||||
F_CPU = 16000000
|
|
||||||
|
|
||||||
#
|
|
||||||
# LUFA specific
|
|
||||||
#
|
|
||||||
# Target architecture (see library "Board Types" documentation).
|
|
||||||
ARCH = AVR8
|
|
||||||
|
|
||||||
# Input clock frequency.
|
|
||||||
# This will define a symbol, F_USB, in all source code files equal to the
|
|
||||||
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
|
||||||
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
|
||||||
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
|
||||||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
|
||||||
# at the end, this will be done automatically to create a 32-bit value in your
|
|
||||||
# source code.
|
|
||||||
#
|
|
||||||
# If no clock division is performed on the input clock inside the AVR (via the
|
|
||||||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
|
|
||||||
F_USB = $(F_CPU)
|
|
||||||
|
|
||||||
# Interrupt driven control endpoint task(+60)
|
|
||||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
|
||||||
|
|
||||||
|
|
||||||
# Boot Section Size in *bytes*
|
|
||||||
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
|
||||||
|
|
||||||
|
|
||||||
# Build Options
|
|
||||||
# comment out to disable the options.
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
|
||||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
|
||||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
|
||||||
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
|
||||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
|
||||||
AUDIO_ENABLE = no
|
|
||||||
RGBLIGHT_ENABLE = yes
|
|
@@ -62,15 +62,13 @@ const PALConfig pal_default_config = {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void enter_bootloader_mode_if_requested(void);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Early initialization code.
|
* @brief Early initialization code.
|
||||||
* @details This initialization must be performed just after stack setup
|
* @details This initialization must be performed just after stack setup
|
||||||
* and before any other initialization.
|
* and before any other initialization.
|
||||||
*/
|
*/
|
||||||
void __early_init(void) {
|
void __early_init(void) {
|
||||||
enter_bootloader_mode_if_requested();
|
|
||||||
stm32_clock_init();
|
stm32_clock_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1171,7 +1171,7 @@
|
|||||||
* USB bus de-activation macro, required by the USB driver.
|
* USB bus de-activation macro, required by the USB driver.
|
||||||
*/
|
*/
|
||||||
// #define usb_lld_disconnect_bus(usbp)
|
// #define usb_lld_disconnect_bus(usbp)
|
||||||
#define usb_lld_disconnect_bus(usbp) (palSetPadMode(GPIOA, GPIOA_USB_DP, PAL_MODE_OUTPUT_PUSHPULL)); palClearPad(GPIOA, GPIOA_USB_DP)
|
#define usb_lld_disconnect_bus(usbp) (palSetPadMode(GPIOA, GPIOA_USB_DP, PAL_MODE_OUTPUT_PUSHPULL))
|
||||||
// #define usb_lld_disconnect_bus(usbp) palSetPadMode(GPIOA, 12, PAL_MODE_OUTPUT_PUSHPULL); palClearPad(GPIOA, 12)
|
// #define usb_lld_disconnect_bus(usbp) palSetPadMode(GPIOA, 12, PAL_MODE_OUTPUT_PUSHPULL); palClearPad(GPIOA, 12)
|
||||||
|
|
||||||
#if !defined(_FROM_ASM_)
|
#if !defined(_FROM_ASM_)
|
||||||
|
@@ -22,9 +22,11 @@
|
|||||||
#define VENDOR_ID 0xC1ED
|
#define VENDOR_ID 0xC1ED
|
||||||
#define PRODUCT_ID 0x2350
|
#define PRODUCT_ID 0x2350
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER Clueboard
|
#define MANUFACTURER "Clueboard"
|
||||||
#define PRODUCT Clueboard 60%
|
#define USBSTR_MANUFACTURER 'C', '\x00', 'l', '\x00', 'u', '\x00', 'e', '\x00', 'b', '\x00', 'o', '\x00', 'a', '\x00', 'r', '\x00', 'd', '\x00'
|
||||||
#define DESCRIPTION Clueboard 60%
|
#define PRODUCT "Clueboard60"
|
||||||
|
#define USBSTR_PRODUCT 'C', '\x00', 'l', '\x00', 'u', '\x00', 'e', '\x00', 'b', '\x00', 'o', '\x00', 'a', '\x00', 'r', '\x00', 'd', '\x00', ' ', '\x00', '6', '\x00', '0', '\x00', '%', '\x00'
|
||||||
|
#define DESCRIPTION "Clueboard 60%"
|
||||||
|
|
||||||
/* key matrix size */
|
/* key matrix size */
|
||||||
#define MATRIX_ROWS 5
|
#define MATRIX_ROWS 5
|
||||||
|
@@ -320,7 +320,7 @@
|
|||||||
* buffers.
|
* buffers.
|
||||||
*/
|
*/
|
||||||
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
#if !defined(SERIAL_USB_BUFFERS_SIZE) || defined(__DOXYGEN__)
|
||||||
#define SERIAL_USB_BUFFERS_SIZE 1
|
#define SERIAL_USB_BUFFERS_SIZE 256
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1,134 +0,0 @@
|
|||||||
#include "60.h"
|
|
||||||
|
|
||||||
#define _______ KC_TRNS
|
|
||||||
|
|
||||||
enum keyboard_layers {
|
|
||||||
_BL,
|
|
||||||
_FL,
|
|
||||||
_CL,
|
|
||||||
_YF
|
|
||||||
};
|
|
||||||
|
|
||||||
enum custom_keycodes {
|
|
||||||
S_BSKTC = SAFE_RANGE,
|
|
||||||
S_ODEJY,
|
|
||||||
S_RCKBY,
|
|
||||||
S_DOEDR,
|
|
||||||
S_SCALE,
|
|
||||||
S_ONEUP,
|
|
||||||
S_COIN,
|
|
||||||
S_SONIC,
|
|
||||||
S_ZELDA
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef AUDIO_ENABLE
|
|
||||||
float song_basketcase[][2] = SONG(BASKET_CASE);
|
|
||||||
float song_ode_to_joy[][2] = SONG(ODE_TO_JOY);
|
|
||||||
float song_rock_a_bye_baby[][2] = SONG(ROCK_A_BYE_BABY);
|
|
||||||
float song_doe_a_deer[][2] = SONG(DOE_A_DEER);
|
|
||||||
float song_scale[][2] = SONG(MUSIC_SCALE_SOUND);
|
|
||||||
float song_coin[][2] = SONG(COIN_SOUND);
|
|
||||||
float song_one_up[][2] = SONG(ONE_UP_SOUND);
|
|
||||||
float song_sonic_ring[][2] = SONG(SONIC_RING);
|
|
||||||
float song_zelda_puzzle[][2] = SONG(ZELDA_PUZZLE);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
/* Layer 0: Default Layer
|
|
||||||
* ,-----------------------------------------------------------------.
|
|
||||||
* |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| `|BSp|
|
|
||||||
* |-----------------------------------------------------------------|
|
|
||||||
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \|
|
|
||||||
* |-----------------------------------------------------------------|
|
|
||||||
* |MT(CTL, ESC)| A| S| D| F| G| H| J| K| L| ;| '|Enter |
|
|
||||||
* |-----------------------------------------------------------------|
|
|
||||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Fn0|
|
|
||||||
* |-----------------------------------------------------------------'
|
|
||||||
* |Ctrl |Alt|Gui | Space |Alt |Gui|Fn |Ctrl |
|
|
||||||
* `-----------------------------------------------------------------'
|
|
||||||
*/
|
|
||||||
[_BL] = KEYMAP(
|
|
||||||
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_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, \
|
|
||||||
MT(MOD_LCTL, KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NUHS, KC_ENT, \
|
|
||||||
KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, MO(_YF), \
|
|
||||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL),
|
|
||||||
[_FL] = KEYMAP(
|
|
||||||
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, _______,_______,\
|
|
||||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
|
|
||||||
_______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
|
|
||||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, MO(_YF), \
|
|
||||||
_______,_______,_______, _______, _______, _______, MO(_FL), _______),
|
|
||||||
[_CL] = KEYMAP(
|
|
||||||
BL_STEP,S_BSKTC,S_ODEJY,S_RCKBY,S_DOEDR,S_SCALE,S_ONEUP,S_COIN, S_SONIC,S_ZELDA,_______,_______,_______,_______,_______,\
|
|
||||||
_______, _______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, \
|
|
||||||
_______, _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
|
|
||||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, MO(_YF), \
|
|
||||||
_______, _______, _______, _______, _______, _______, MO(_FL), _______),
|
|
||||||
[_YF] = KEYMAP(
|
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
|
|
||||||
_______,_______,KC_UP ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
|
|
||||||
_______,KC_LEFT,KC_DOWN,KC_RIGHT,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, \
|
|
||||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, MO(_YF), \
|
|
||||||
_______, _______, _______, _______, _______, _______, MO(_FL), _______)
|
|
||||||
};
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
switch (keycode) {
|
|
||||||
case S_BSKTC:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
stop_all_notes();
|
|
||||||
PLAY_SONG(song_basketcase);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case S_ODEJY:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
stop_all_notes();
|
|
||||||
PLAY_SONG(song_ode_to_joy);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case S_RCKBY:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
stop_all_notes();
|
|
||||||
PLAY_SONG(song_rock_a_bye_baby);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case S_DOEDR:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
stop_all_notes();
|
|
||||||
PLAY_SONG(song_doe_a_deer);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case S_SCALE:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
stop_all_notes();
|
|
||||||
PLAY_SONG(song_scale);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case S_ONEUP:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
stop_all_notes();
|
|
||||||
PLAY_SONG(song_one_up);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case S_COIN:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
stop_all_notes();
|
|
||||||
PLAY_SONG(song_coin);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case S_SONIC:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
stop_all_notes();
|
|
||||||
PLAY_SONG(song_sonic_ring);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
case S_ZELDA:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
stop_all_notes();
|
|
||||||
PLAY_SONG(song_zelda_puzzle);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
@@ -1,14 +0,0 @@
|
|||||||
# /u/yanfali keymap for clueboard 60%
|
|
||||||
|
|
||||||
Almost the same as default but differs in the following ways
|
|
||||||
|
|
||||||
1. `Caps Lock` -> `MT(KC_LCTL, KC_ESC)`.
|
|
||||||
I'm a heavy vim user and I prefer escape to be closer than default. I also move `Control` to this key if you hold it.
|
|
||||||
1. Switch Alt and GUI.
|
|
||||||
I spend most of my time on OSX, so I reverse Alt and GUI to be
|
|
||||||
more comfortable on OSX.
|
|
||||||
1. Added a custom layer.
|
|
||||||
I use this to map the cursor keys to WASD, the familiar directional
|
|
||||||
gaming keys. As I use a split right shift, this naturally leads
|
|
||||||
to the left hand being used for navigation. This is also the
|
|
||||||
best place to add custom mappings, macros and combo keys.
|
|
@@ -28,8 +28,6 @@ MCU = cortex-m4
|
|||||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
||||||
ARMV = 7
|
ARMV = 7
|
||||||
|
|
||||||
USE_FPU = yes
|
|
||||||
|
|
||||||
# Vector table for application
|
# Vector table for application
|
||||||
# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
|
# 0x00000000-0x00001000 area is occupied by bootlaoder.*/
|
||||||
# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
|
# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
|
||||||
@@ -37,7 +35,7 @@ USE_FPU = yes
|
|||||||
OPT_DEFS =
|
OPT_DEFS =
|
||||||
|
|
||||||
# Options to pass to dfu-util when flashing
|
# Options to pass to dfu-util when flashing
|
||||||
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
|
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000 -R
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# comment out to disable the options.
|
# comment out to disable the options.
|
||||||
|
@@ -1,36 +0,0 @@
|
|||||||
#include "66.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.
|
|
||||||
#define _BL 0
|
|
||||||
#define _FL 1
|
|
||||||
#define _CL 2
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
|
||||||
*/
|
|
||||||
[_BL] = LAYOUT_66_ansi(
|
|
||||||
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_BSPC, KC_PGUP,
|
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, KC_PGDN,
|
|
||||||
KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT,
|
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
|
||||||
KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
|
||||||
*/
|
|
||||||
[_FL] = LAYOUT_66_ansi(
|
|
||||||
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_DEL, KC_VOLU,
|
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD,
|
|
||||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
|
||||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP,
|
|
||||||
_______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
|
||||||
*/
|
|
||||||
[_CL] = LAYOUT_66_ansi(
|
|
||||||
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI,
|
|
||||||
_______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
|
|
||||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
|
|
||||||
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI,
|
|
||||||
_______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
|
|
||||||
};
|
|
@@ -1,11 +0,0 @@
|
|||||||

|
|
||||||
|
|
||||||
# Basic Clueboard 66% Hotswap Layout
|
|
||||||
|
|
||||||
This is the default layout that comes flashed on every Clueboard. For the most
|
|
||||||
part it's a straightforward and easy to follow layout. The only unusual key is
|
|
||||||
the key in the upper left, which sends Escape normally, but Grave when any of
|
|
||||||
the Ctrl, Alt, or GUI modifiers are held down.
|
|
||||||
|
|
||||||
This uses `LAYOUT_66_ansi`, which is compatable with the `66_ansi` community
|
|
||||||
layout.
|
|
@@ -1,36 +0,0 @@
|
|||||||
#include "66.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.
|
|
||||||
#define _BL 0
|
|
||||||
#define _FL 1
|
|
||||||
#define _CL 2
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
|
||||||
*/
|
|
||||||
[_BL] = LAYOUT_66_iso(
|
|
||||||
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_BSPC, KC_PGUP,
|
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC, KC_PGDN,
|
|
||||||
KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NUHS,KC_ENT,
|
|
||||||
KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
|
||||||
KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
|
||||||
*/
|
|
||||||
[_FL] = LAYOUT_66_iso(
|
|
||||||
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_DEL, KC_VOLU,
|
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______, KC_VOLD,
|
|
||||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP,
|
|
||||||
_______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
|
||||||
*/
|
|
||||||
[_CL] = LAYOUT_66_iso(
|
|
||||||
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI,
|
|
||||||
_______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
|
|
||||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
|
||||||
MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI,
|
|
||||||
_______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
|
|
||||||
};
|
|
@@ -1,8 +0,0 @@
|
|||||||

|
|
||||||
|
|
||||||
# Default Clueboard Layout
|
|
||||||
|
|
||||||
This is the default layout that comes flashed on every Clueboard. For the most
|
|
||||||
part it's a straightforward and easy to follow layout. The only unusual key is
|
|
||||||
the key in the upper left, which sends Escape normally, but Grave when any of
|
|
||||||
the Ctrl, Alt, or GUI modifiers are held down.
|
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -11,28 +14,28 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_INS, KC_DEL, KC_PGUP,
|
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_INS, KC_DEL, KC_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
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_PGDN, \
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSPC, KC_UP,
|
KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSPC, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, MO(_FL), KC_LALT, KC_BSPC,KC_SPC, KC_RALT, KC_APP, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, MO(_FL), KC_LALT, KC_BSPC,KC_SPC, KC_RALT, KC_APP, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_HOME, KC_END, KC_VOLU,
|
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_HOME, KC_END, KC_VOLU, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,KC_SLCK, KC_PAUS, _______, _______, KC_MUTE, KC_VOLD,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,KC_SLCK, KC_PAUS, _______, _______, KC_MUTE, KC_VOLD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, KC_PSCR,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, KC_PSCR, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MPLY,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MPLY, \
|
||||||
_______, KC_MYCM, MO(_FL), _______, _______,_______, _______, KC_CALC, MO(_FL), _______, KC_MPRV, KC_MSTP, KC_MNXT),
|
_______, KC_MYCM, MO(_FL), _______, _______,_______, _______, KC_CALC, MO(_FL), _______, KC_MPRV, KC_MSTP, KC_MNXT),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
KC_PWR, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
KC_PWR, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, RGB_MOD,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, RGB_MOD, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,RGB_HUD, RGB_HUI, _______, _______, _______, KC_WAKE,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,RGB_HUD, RGB_HUI, _______, _______, _______, KC_WAKE, \
|
||||||
_______, _______, MO(_FL), _______, RGB_SAD,RGB_SAI, _______, _______, MO(_FL), _______, _______, KC_SLEP, _______),
|
_______, _______, MO(_FL), _______, RGB_SAD,RGB_SAI, _______, _______, MO(_FL), _______, _______, KC_SLEP, _______),
|
||||||
};
|
};
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -11,28 +14,28 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_GRV, KC_BSPC, KC_PGUP,
|
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_GRV, KC_BSPC, KC_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
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_PGDN, \
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_DEL, BL_STEP,
|
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_DEL, BL_STEP, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______,
|
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \
|
||||||
_______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END),
|
_______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
||||||
};
|
};
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -11,28 +14,28 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_GRV, KC_BSPC, KC_PGUP,
|
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_GRV, KC_BSPC, KC_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, \
|
||||||
KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NUHS, KC_ENT,
|
KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT,KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT,KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_CAPS, KC_VOLU,
|
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_CAPS, KC_VOLU, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,KC_HOME,KC_PGDN,KC_PGUP, KC_END, _______, _______, _______, KC_VOLD,
|
_______, _______, _______,_______,_______,_______,_______,KC_HOME,KC_PGDN,KC_PGUP, KC_END, _______, _______, _______, KC_VOLD, \
|
||||||
KC_DEL, _______, MO(_CL),_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, _______, _______, _______,
|
KC_DEL, _______, MO(_CL),_______,_______,_______,_______,KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \
|
||||||
_______, _______, _______,_______, _______,_______, _______, _______, MO(_FL), _______, KC_HOME, KC_PGDN, KC_END),
|
_______, _______, _______,_______, _______,_______, _______, _______, MO(_FL), _______, KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
BL_STEP, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
BL_STEP, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
||||||
};
|
};
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
#define _BL 0
|
#define _BL 0
|
||||||
@@ -9,28 +12,28 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_GRV, KC_BSPC, KC_PGUP,
|
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_GRV, KC_BSPC, KC_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, KC_PGDN,
|
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_PGDN, \
|
||||||
KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NUHS,KC_ENT,
|
KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NUHS,KC_ENT, \
|
||||||
KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RO, KC_RSFT, KC_UP,
|
KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL,KC_LGUI,KC_LALT,KC_MHEN, KC_SPC, KC_SPC, KC_HENK,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
KC_LCTL,KC_LGUI,KC_LALT,KC_MHEN, KC_SPC, KC_SPC, KC_HENK,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_DEL, KC_VOLU,
|
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_DEL, KC_VOLU, \
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD,
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD, \
|
||||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_PGUP,
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_PGUP, \
|
||||||
_______,_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
_______,_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI,
|
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI, \
|
||||||
_______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
|
_______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, \
|
||||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
|
||||||
MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI,
|
MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, \
|
||||||
_______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
|
_______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
|
||||||
};
|
};
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -11,28 +14,28 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_PSCR,
|
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_PSCR, \
|
||||||
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_PAUS,
|
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_PAUS, \
|
||||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC,KC_SPC, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC,KC_SPC, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_INS, KC_DEL, BL_STEP,
|
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_INS, KC_DEL, BL_STEP, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______,
|
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \
|
||||||
_______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), _______, KC_HOME, KC_PGDN, KC_END),
|
_______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), _______, KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, MO(_FL), _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, MO(_FL), _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
||||||
};
|
};
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -11,28 +14,28 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_GRV, KC_BSPC, KC_PGUP,
|
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_GRV, KC_BSPC, KC_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, KC_PGDN,
|
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_PGDN, \
|
||||||
KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NUHS,KC_ENT,
|
KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NUHS,KC_ENT, \
|
||||||
KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RO, KC_RSFT, KC_UP,
|
KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL,KC_LALT,KC_LGUI,KC_MHEN, KC_SPC, KC_SPC, KC_HENK,KC_RGUI,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
KC_LCTL,KC_LALT,KC_LGUI,KC_MHEN, KC_SPC, KC_SPC, KC_HENK,KC_RGUI,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_DEL, KC_VOLU,
|
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_DEL, KC_VOLU, \
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MRWD,KC_MPLY,KC_MFFD,_______,KC_MUTE, KC_VOLD,
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MRWD,KC_MPLY,KC_MFFD,_______,KC_MUTE, KC_VOLD, \
|
||||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_PGUP,
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_PGUP, \
|
||||||
_______,_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
_______,_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
BL_STEP,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI,
|
BL_STEP,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI, \
|
||||||
_______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
|
_______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, \
|
||||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
|
||||||
MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI,
|
MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, \
|
||||||
_______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
|
_______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
|
||||||
};
|
};
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
// Helpful defines
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
#define xxxxxxx KC_NO
|
#define xxxxxxx KC_NO
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||||
@@ -48,60 +49,60 @@
|
|||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer) */
|
/* Keymap _BL: Base Layer (Default Layer) */
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_BSPC, KC_INS,
|
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_BSPC, KC_INS, \
|
||||||
HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, \
|
||||||
ESC_FUN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
ESC_FUN, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, KC_RSFT, KC_UP,
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT,_______, L_MOUSE, L_MOUSE, _______, KC_RALT, KC_RCTL, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT,_______, L_MOUSE, L_MOUSE, _______, KC_RALT, KC_RCTL, MO_FUNC, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function layer */
|
/* Keymap _FL: Function layer */
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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, _______, _______, BL_STEP,
|
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, _______, _______, BL_STEP, \
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, KC_PAUS, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, KC_PAUS, _______, _______, _______, _______, \
|
||||||
_______, _______, MO_CTL, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______,
|
_______, _______, MO_CTL, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, \
|
||||||
KC_LSPO, _______, _______, _______, _______, _______, _______, _______, MEDIA, _______, _______, TO_MIDI, _______, KC_RSPC, KC_PGUP,
|
KC_LSPO, _______, _______, _______, _______, _______, _______, _______, MEDIA, _______, _______, TO_MIDI, _______, KC_RSPC, KC_PGUP, \
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, MO_FUNC, KC_HOME, KC_PGDN, KC_END),
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, MO_FUNC, KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _ME: Media layer */
|
/* Keymap _ME: Media layer */
|
||||||
[_ME] = LAYOUT(
|
[_ME] = KEYMAP(
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, \
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, \
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, MEDIA, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, MEDIA, _______, _______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT),
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer */
|
/* Keymap _CL: Control layer */
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
_______, RGB_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, RGB_RST, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO_CTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, MO_CTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI, \
|
||||||
_______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
_______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
||||||
|
|
||||||
/* Keymap _ML: Mouse layer */
|
/* Keymap _ML: Mouse layer */
|
||||||
[_ML] = LAYOUT(
|
[_ML] = KEYMAP(
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
_______, _______, KC_BTN2, KC_BTN3, KC_BTN1, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, _______,
|
_______, _______, KC_BTN2, KC_BTN3, KC_BTN1, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, _______, \
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, \
|
||||||
_______, _______, _______, _______, L_MOUSE, L_MOUSE, _______, KC_BTN1, KC_BTN3, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R),
|
_______, _______, _______, _______, L_MOUSE, L_MOUSE, _______, KC_BTN1, KC_BTN3, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_R),
|
||||||
|
|
||||||
#if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED)
|
#if defined(MIDI_ENABLE) && defined(MIDI_ADVANCED)
|
||||||
/* Keymap _MI: MIDI layer (Advanced)*/
|
/* Keymap _MI: MIDI layer (Advanced)*/
|
||||||
[_MI] = LAYOUT(
|
[_MI] = KEYMAP(
|
||||||
TO_BASE,MI_VEL_1,MI_VEL_2,MI_VEL_3,MI_VEL_4,MI_VEL_5,MI_VEL_6,MI_VEL_7,MI_VEL_8,MI_VEL_9,MI_VEL_10, MI_CHD, MI_CHU, xxxxxxx, xxxxxxx, xxxxxxx,
|
TO_BASE,MI_VEL_1,MI_VEL_2,MI_VEL_3,MI_VEL_4,MI_VEL_5,MI_VEL_6,MI_VEL_7,MI_VEL_8,MI_VEL_9,MI_VEL_10, MI_CHD, MI_CHU, xxxxxxx, xxxxxxx, xxxxxxx, \
|
||||||
xxxxxxx, xxxxxxx, MI_Cs, MI_Ds, xxxxxxx, MI_Fs, MI_Gs, MI_As, xxxxxxx, MI_Cs_1, MI_Ds_1, xxxxxxx, MI_Fs_1, xxxxxxx, xxxxxxx,
|
xxxxxxx, xxxxxxx, MI_Cs, MI_Ds, xxxxxxx, MI_Fs, MI_Gs, MI_As, xxxxxxx, MI_Cs_1, MI_Ds_1, xxxxxxx, MI_Fs_1, xxxxxxx, xxxxxxx, \
|
||||||
MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, MI_G_1, xxxxxxx,
|
MI_MOD, MI_C, MI_D, MI_E, MI_F, MI_G, MI_A, MI_B, MI_C_1, MI_D_1, MI_E_1, MI_F_1, MI_G_1, xxxxxxx, \
|
||||||
MI_SUS, xxxxxxx, MI_OCTD, MI_OCTU,MI_MODSD,MI_MODSU, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, MI_TRNSD,MI_TRNSU,MI_TRNS_0, MI_SUS, xxxxxxx,
|
MI_SUS, xxxxxxx, MI_OCTD, MI_OCTU,MI_MODSD,MI_MODSU, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, MI_TRNSD,MI_TRNSU,MI_TRNS_0, MI_SUS, xxxxxxx, \
|
||||||
xxxxxxx, xxxxxxx, xxxxxxx,xxxxxxx, MI_ALLOFF, MI_ALLOFF, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx),
|
xxxxxxx, xxxxxxx, xxxxxxx,xxxxxxx, MI_ALLOFF, MI_ALLOFF, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx),
|
||||||
#elif defined(MIDI_ENABLE) && defined(MIDI_BASIC)
|
#elif defined(MIDI_ENABLE) && defined(MIDI_BASIC)
|
||||||
/* Keymap _MI: MIDI layer (Basic)*/
|
/* Keymap _MI: MIDI layer (Basic)*/
|
||||||
[_MI] = LAYOUT(
|
[_MI] = KEYMAP(
|
||||||
TO_BASE, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx,
|
TO_BASE, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, \
|
||||||
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx,
|
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, \
|
||||||
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx,
|
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, \
|
||||||
xxxxxxx, xxxxxxx, MI_ON, MI_OFF, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx,
|
xxxxxxx, xxxxxxx, MI_ON, MI_OFF, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, \
|
||||||
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx),
|
xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx),
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
@@ -1,36 +0,0 @@
|
|||||||
#include "66.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.
|
|
||||||
#define _BL 0
|
|
||||||
#define _FL 1
|
|
||||||
#define _CL 2
|
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
|
||||||
*/
|
|
||||||
[_BL] = 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_GRV, KC_BSPC, RGB_VAI,
|
|
||||||
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, RGB_VAD,
|
|
||||||
KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NUHS,KC_ENT,
|
|
||||||
KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RO, KC_RSFT, KC_UP,
|
|
||||||
KC_LCTL,KC_LGUI,KC_LALT,KC_MHEN, KC_SPC, KC_SPC, KC_HENK,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
|
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
|
||||||
*/
|
|
||||||
[_FL] = 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_DEL, KC_VOLU,
|
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD,
|
|
||||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, KC_PGUP,
|
|
||||||
_______,_______,_______,_______, _______,_______, _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
|
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
|
||||||
*/
|
|
||||||
[_CL] = LAYOUT(
|
|
||||||
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI,
|
|
||||||
_______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
|
|
||||||
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
|
||||||
MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI,
|
|
||||||
_______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
|
|
||||||
};
|
|
@@ -1,8 +0,0 @@
|
|||||||

|
|
||||||
|
|
||||||
# Default Clueboard Layout
|
|
||||||
|
|
||||||
This is the default layout that comes flashed on every Clueboard. For the most
|
|
||||||
part it's a straightforward and easy to follow layout. The only unusual key is
|
|
||||||
the key in the upper left, which sends Escape normally, but Grave when any of
|
|
||||||
the Ctrl, Alt, or GUI modifiers are held down.
|
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -11,28 +14,28 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_PGUP,
|
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_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
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_PGDN, \
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
MO(_FL), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), KC_UP,
|
MO(_FL), KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), KC_UP, \
|
||||||
KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_DEL, BL_STEP,
|
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_DEL, BL_STEP, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,KC_SLCK, KC_PAUS, _______, _______, _______, _______,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,KC_SLCK, KC_PAUS, _______, _______, _______, _______, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), KC_PGUP,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), KC_PGUP, \
|
||||||
_______, _______, _______,_______, _______,_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
|
_______, _______, _______,_______, _______,_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Reset/Underlight layer
|
/* Keymap _CL: Reset/Underlight layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
||||||
};
|
};
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -12,37 +15,37 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_GRV, KC_BSPC, KC_PGUP,
|
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_GRV, KC_BSPC, KC_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
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_PGDN, \
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_DEL, BL_STEP,
|
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_DEL, BL_STEP, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______,
|
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \
|
||||||
_______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END),
|
_______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
||||||
|
|
||||||
/* Keymap _ML: Mouse layer
|
/* Keymap _ML: Mouse layer
|
||||||
*/
|
*/
|
||||||
[_ML] = LAYOUT(
|
[_ML] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, _______, \
|
||||||
_______, _______, KC_BTN3,KC_BTN2,KC_BTN1,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, KC_BTN3,KC_BTN2,KC_BTN1,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MS_U,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MS_U, \
|
||||||
_______, _______, _______,_______, LT(_ML, KC_SPC),LT(_ML, KC_SPC), _______, KC_BTN1, KC_BTN2, KC_BTN3, KC_MS_L, KC_MS_D,KC_MS_R),
|
_______, _______, _______,_______, LT(_ML, KC_SPC),LT(_ML, KC_SPC), _______, KC_BTN1, KC_BTN2, KC_BTN3, KC_MS_L, KC_MS_D,KC_MS_R),
|
||||||
};
|
};
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "clueboard.h"
|
#include "clueboard.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -10,29 +13,29 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_GRV, KC_BSPC, KC_HOME,
|
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_GRV, KC_BSPC, KC_HOME, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
|
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_END, \
|
||||||
MO(_FL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
MO(_FL), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
|
KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI,KC_LALT,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI,KC_LALT,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_DEL, KC_PGUP,
|
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_DEL, KC_PGUP, \
|
||||||
_______, RGB_TOG, KC_MPRV, KC_MPLY, KC_MNXT,_______,_______,KC_HOME,KC_UP, KC_END, _______, _______, _______, KC_PSCR, KC_PGDN,
|
_______, RGB_TOG, KC_MPRV, KC_MPLY, KC_MNXT,_______,_______,KC_HOME,KC_UP, KC_END, _______, _______, _______, KC_PSCR, KC_PGDN, \
|
||||||
_______, RGB_VAI, KC_MUTE, KC_VOLD, KC_VOLU,_______,_______,KC_LEFT,KC_DOWN,KC_RIGHT, _______, _______, _______, _______,
|
_______, RGB_VAI, KC_MUTE, KC_VOLD, KC_VOLU,_______,_______,KC_LEFT,KC_DOWN,KC_RIGHT, _______, _______, _______, _______, \
|
||||||
_______, RGB_VAD, _______, _______, _______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI,
|
_______, RGB_VAD, _______, _______, _______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI, \
|
||||||
_______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI)
|
_______, _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI)
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
|
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI,
|
BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI, \
|
||||||
_______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
|
_______,_______,_______,_______,RESET, _______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD, \
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, \
|
||||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI,
|
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI, \
|
||||||
_______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,_______,_______,RGB_HUD,RGB_SAD,RGB_HUI),
|
_______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,_______,_______,RGB_HUD,RGB_SAD,RGB_HUI),
|
||||||
};*/
|
};*/
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -12,38 +15,38 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_PGUP,
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
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_PGDN, \
|
||||||
F(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
F(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RGUI, MO(_FL), MO(_ME), KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RGUI, MO(_FL), MO(_ME), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_DEL, KC_HOME,
|
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_DEL, KC_HOME, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, KC_PSCR, KC_END,
|
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, KC_PSCR, KC_END, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \
|
||||||
_______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), MO(_ME), KC_HOME, KC_PGDN, KC_END),
|
_______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), MO(_ME), KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_ME] = LAYOUT(
|
[_ME] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, KC_VOLD,
|
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, KC_VOLD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______ , _______, _______,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______ , _______, _______, \
|
||||||
_______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), MO(_ME), KC_MPRV, KC_MPLY, KC_MNXT),
|
_______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), MO(_ME), KC_MPRV, KC_MPLY, KC_MNXT),
|
||||||
|
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, MO(_FL), _______, RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, MO(_FL), _______, RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
||||||
};
|
};
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -11,28 +14,28 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_GRV, KC_BSPC, KC_PGUP,
|
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_GRV, KC_BSPC, KC_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
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_PGDN, \
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
MO(_FL), KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
|
MO(_FL), KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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, S(KC_GRV), KC_DEL, BL_STEP,
|
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, S(KC_GRV), KC_DEL, BL_STEP, \
|
||||||
S(KC_TAB), S(KC_Q), S(KC_W),S(KC_E),S(KC_R),S(KC_T), S(KC_Y), S(KC_U),S(KC_I),S(KC_O), S(KC_P), S(KC_LBRC),S(KC_RBRC),S(KC_BSLS), S(KC_PGDN),
|
S(KC_TAB), S(KC_Q), S(KC_W),S(KC_E),S(KC_R),S(KC_T), S(KC_Y), S(KC_U),S(KC_I),S(KC_O), S(KC_P), S(KC_LBRC),S(KC_RBRC),S(KC_BSLS), S(KC_PGDN), \
|
||||||
S(KC_LCTL),S(KC_A), MO(_CL),S(KC_D),S(KC_F),S(KC_G), S(KC_H), S(KC_J),S(KC_K),S(KC_L), S(KC_SCLN),S(KC_QUOT),S(KC_NUHS),S(KC_ENT),
|
S(KC_LCTL),S(KC_A), MO(_CL),S(KC_D),S(KC_F),S(KC_G), S(KC_H), S(KC_J),S(KC_K),S(KC_L), S(KC_SCLN),S(KC_QUOT),S(KC_NUHS),S(KC_ENT), \
|
||||||
MO(_FL), S(KC_NUBS),S(KC_Z),S(KC_X),S(KC_C),S(KC_V), S(KC_B), S(KC_N),S(KC_M),S(KC_COMM),S(KC_DOT), S(KC_SLSH),S(KC_RO), KC_RSFT, KC_PGUP,
|
MO(_FL), S(KC_NUBS),S(KC_Z),S(KC_X),S(KC_C),S(KC_V), S(KC_B), S(KC_N),S(KC_M),S(KC_COMM),S(KC_DOT), S(KC_SLSH),S(KC_RO), KC_RSFT, KC_PGUP, \
|
||||||
KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, S(KC_SPC),S(KC_SPC), KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_HOME, KC_PGDN, KC_END),
|
KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, S(KC_SPC),S(KC_SPC), KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD,RGB_SAD,RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD,RGB_SAD,RGB_HUI),
|
||||||
};
|
};
|
||||||
|
@@ -1,8 +1,7 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
enum custom_keycodes {
|
// Helpful defines
|
||||||
M_SHRUG = SAFE_RANGE
|
#define _______ KC_TRNS
|
||||||
};
|
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
@@ -15,39 +14,28 @@ enum custom_keycodes {
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_GRV, KC_BSPC, KC_PGUP,
|
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_GRV, KC_BSPC, KC_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
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_PGDN, \
|
||||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
MO(_FL), KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
|
MO(_FL), KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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, S(KC_GRV), KC_DEL, BL_STEP,
|
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, S(KC_GRV), KC_DEL, BL_STEP, \
|
||||||
S(KC_TAB), S(KC_Q), S(KC_W),S(KC_E),S(KC_R),S(KC_T), S(KC_Y), S(KC_U),S(KC_I),S(KC_O), S(KC_P), S(KC_LBRC),S(KC_RBRC),S(KC_BSLS), S(KC_PGDN),
|
S(KC_TAB), S(KC_Q), S(KC_W),S(KC_E),S(KC_R),S(KC_T), S(KC_Y), S(KC_U),S(KC_I),S(KC_O), S(KC_P), S(KC_LBRC),S(KC_RBRC),S(KC_BSLS), S(KC_PGDN), \
|
||||||
S(KC_LCTL),S(KC_A), MO(_CL),S(KC_D),S(KC_F),S(KC_G), S(KC_H), S(KC_J),S(KC_K),S(KC_L), S(KC_SCLN),S(KC_QUOT),S(KC_NUHS),S(KC_ENT),
|
S(KC_LCTL),S(KC_A), MO(_CL),S(KC_D),S(KC_F),S(KC_G), S(KC_H), S(KC_J),S(KC_K),S(KC_L), S(KC_SCLN),S(KC_QUOT),S(KC_NUHS),S(KC_ENT), \
|
||||||
MO(_FL), S(KC_NUBS),S(KC_Z),S(KC_X),S(KC_C),S(KC_V), S(KC_B), S(KC_N),S(KC_M),S(KC_COMM),S(KC_DOT), S(KC_SLSH),S(KC_RO), KC_RSFT, KC_PGUP,
|
MO(_FL), S(KC_NUBS),S(KC_Z),S(KC_X),S(KC_C),S(KC_V), S(KC_B), S(KC_N),S(KC_M),S(KC_COMM),S(KC_DOT), S(KC_SLSH),S(KC_RO), KC_RSFT, KC_PGUP, \
|
||||||
KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, S(KC_SPC),S(KC_SPC), KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_HOME, KC_PGDN, KC_END),
|
KC_LCTL, KC_LALT, KC_LGUI,KC_MHEN, S(KC_SPC),S(KC_SPC), KC_HENK, KC_RGUI, KC_RALT, KC_RCTL, KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
M_SHRUG, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD,RGB_SAD,RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD,RGB_SAD,RGB_HUI),
|
||||||
};
|
};
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
if (record->event.pressed) {
|
|
||||||
switch(keycode) {
|
|
||||||
case M_SHRUG:
|
|
||||||
SEND_STRING("/shrug"SS_TAP(X_ENTER));
|
|
||||||
return false; break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
};
|
|
||||||
|
@@ -17,6 +17,7 @@ enum planck_keycodes {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Helpful defines
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
#define XXXXXXX KC_NO
|
#define XXXXXXX KC_NO
|
||||||
|
|
||||||
// Custom macros
|
// Custom macros
|
||||||
@@ -39,11 +40,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt|
|
* |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt|
|
||||||
* `------------------------------------------------------------------'
|
* `------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_QWERTY] = LAYOUT(
|
[_QWERTY] = KEYMAP(
|
||||||
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_BSLS, KC_GRV, KC_PGUP,
|
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_BSLS, KC_GRV, KC_PGUP, \
|
||||||
HPR_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_PGDN,
|
HPR_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_PGDN, \
|
||||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT,
|
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, \
|
||||||
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, MO(_FL), KC_UP,
|
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, MO(_FL), KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC,KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC,KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _COLEMAK: Base Layer
|
/* Keymap _COLEMAK: Base Layer
|
||||||
@@ -59,11 +60,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt|
|
* |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt|
|
||||||
* `------------------------------------------------------------------'
|
* `------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_COLEMAK] = LAYOUT(
|
[_COLEMAK] = KEYMAP(
|
||||||
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_BSLS, KC_GRV, KC_PGUP,
|
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_BSLS, KC_GRV, KC_PGUP, \
|
||||||
HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN,
|
HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN, \
|
||||||
CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, XXXXXXX, KC_ENT,
|
CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, XXXXXXX, KC_ENT, \
|
||||||
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, MO(_FL), KC_UP,
|
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, MO(_FL), KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC,KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC,KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _DVORAK: Base Layer
|
/* Keymap _DVORAK: Base Layer
|
||||||
@@ -79,29 +80,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt|
|
* |Ctrl|Gui|Alt | | Space| Space| |Alt |Gui |Ctrl|Left|Down|Rgt|
|
||||||
* `------------------------------------------------------------------'
|
* `------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_DVORAK] = LAYOUT(
|
[_DVORAK] = KEYMAP(
|
||||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, KC_PGUP,
|
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, KC_PGUP, \
|
||||||
HPR_TAB, KC_QUOT, KC_COMM,KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, KC_PGDN,
|
HPR_TAB, KC_QUOT, KC_COMM,KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, KC_PGDN, \
|
||||||
CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, XXXXXXX, KC_ENT,
|
CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, XXXXXXX, KC_ENT, \
|
||||||
KC_LSFT, XXXXXXX, KC_SCLN,KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, MO(_FL), KC_UP,
|
KC_LSFT, XXXXXXX, KC_SCLN,KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, MO(_FL), KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC,KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC,KC_SPC, XXXXXXX, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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, _______, _______, BL_STEP,
|
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, _______, _______, BL_STEP, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, KC_DEL, _______,
|
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, KC_DEL, _______, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), KC_PGUP,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), KC_PGUP, \
|
||||||
_______, _______, _______, _______, _______,_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
|
_______, _______, _______, _______, _______,_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,QWERTY, COLEMAK,DVORAK, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,QWERTY, COLEMAK,DVORAK, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
// Helpful defines
|
// Helpful defines
|
||||||
#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
|
#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||||
@@ -15,29 +16,29 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
F(0), 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_PGUP,
|
F(0), 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_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
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_PGDN, \
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_DEL, BL_STEP,
|
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_DEL, BL_STEP, \
|
||||||
_______, _______, _______,_______,_______,F(1) ,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______,
|
_______, _______, _______,_______,_______,F(1) ,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \
|
||||||
_______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END),
|
_______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -11,28 +14,28 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_GRV, KC_BSPC, KC_PGUP,
|
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_GRV, KC_BSPC, KC_PGUP, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
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_PGDN, \
|
||||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_DEL, KC_INS,
|
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_DEL, KC_INS, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, KC_DEL,
|
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, KC_DEL, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \
|
||||||
_______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END),
|
_______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD,RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD,RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD,RGB_HUI),
|
||||||
};
|
};
|
||||||
|
@@ -1,5 +1,8 @@
|
|||||||
#include "66.h"
|
#include "66.h"
|
||||||
|
|
||||||
|
// Helpful defines
|
||||||
|
#define _______ KC_TRNS
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
// 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.
|
// 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
|
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||||
@@ -11,28 +14,28 @@
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Keymap _BL: Base Layer (Default Layer)
|
/* Keymap _BL: Base Layer (Default Layer)
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
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_GRV, KC_BSPC, KC_INS,
|
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_GRV, KC_BSPC, KC_INS, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, \
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
|
||||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
|
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
/* Keymap _FL: Function Layer
|
/* Keymap _FL: Function Layer
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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_DEL, BL_STEP,
|
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_DEL, BL_STEP, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______,
|
_______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \
|
||||||
_______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END),
|
_______, _______, _______, _______, _______,_______, _______, _______, _______, MO(_FL), KC_HOME, KC_PGDN, KC_END),
|
||||||
|
|
||||||
/* Keymap _CL: Control layer
|
/* Keymap _CL: Control layer
|
||||||
*/
|
*/
|
||||||
[_CL] = LAYOUT(
|
[_CL] = KEYMAP(
|
||||||
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
|
_______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
|
||||||
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
|
_______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
|
||||||
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
|
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
|
||||||
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI,
|
MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, MO(_FL), RGB_SAI, \
|
||||||
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
|
||||||
};
|
};
|
||||||
|
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* | Ctrl| Gui| Alt| MHen| Space| Space| Hen| Alt| Ctrl| _FL|LEFT|DOWN|RGHT|
|
* | Ctrl| Gui| Alt| MHen| Space| Space| Hen| Alt| Ctrl| _FL|LEFT|DOWN|RGHT|
|
||||||
* `----------------------------------------------------------------------------------'
|
* `----------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_BL] = LAYOUT(
|
[_BL] = KEYMAP(
|
||||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSPC, KC_PGUP, \
|
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_GRV, KC_BSPC, KC_PGUP, \
|
||||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGDN, \
|
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGDN, \
|
||||||
LT(_FL, KC_CAPS), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_NUHS, KC_ENT, \
|
LT(_FL, KC_CAPS), KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_NUHS, KC_ENT, \
|
||||||
@@ -48,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* | | | | | | | | | | _FL|HOME|PGDN| END|
|
* | | | | | | | | | | _FL|HOME|PGDN| END|
|
||||||
* `----------------------------------------------------------------------------------'
|
* `----------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_FL] = LAYOUT(
|
[_FL] = KEYMAP(
|
||||||
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, BL_STEP, \
|
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, BL_STEP, \
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||||
KC_TRNS, KC_TRNS, MO(_RS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
KC_TRNS, KC_TRNS, MO(_RS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||||
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* | | | | | | | | | | _FL|HUE-|SAT-|HUE+|
|
* | | | | | | | | | | _FL|HUE-|SAT-|HUE+|
|
||||||
* `----------------------------------------------------------------------------------'
|
* `----------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[_RS] = LAYOUT(
|
[_RS] = KEYMAP(
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, \
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, \
|
||||||
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, 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, RGB_VAD, \
|
||||||
KC_TRNS, KC_TRNS, MO(_RS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
KC_TRNS, KC_TRNS, MO(_RS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
|
||||||
|
@@ -6,13 +6,13 @@ A fully customizable 66% keyboard.
|
|||||||
|
|
||||||
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
|
||||||
* Hardware Supported: Clueboard 66% PCB
|
* Hardware Supported: Clueboard 66% PCB
|
||||||
* rev1 (PCB Version 1.0)
|
* rev1 (1.0)
|
||||||
* rev2 (PCB Versions 2.0, 2.0.1, 2.1, 2.5, 2.5.1, 2.6)
|
* rev2 (2.0, 2.0.1, 2.1, 2.5, 2.5.1, 2.6)
|
||||||
* rev3 (PCB Versions 2.7, 2.8)
|
* rev3 (2.7)
|
||||||
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
* Hardware Availability: [clueboard.co](https://clueboard.co/)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make clueboard/66/rev3:default
|
make clueboard/66:default
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
|
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
|
||||||
|
@@ -30,7 +30,7 @@
|
|||||||
// The first section contains all of the arguements
|
// The first section contains all of the arguements
|
||||||
// The second converts the arguments into a two-dimensional array
|
// The second converts the arguments into a two-dimensional array
|
||||||
|
|
||||||
#define LAYOUT( \
|
#define KEYMAP( \
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
|
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
|
||||||
@@ -43,34 +43,5 @@
|
|||||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \
|
||||||
{ k40, k41, k42, k43, KC_NO, k45, k46, KC_NO, KC_NO, k49, k4A, k4B, k4C, k4D, k4E, k4F } \
|
{ k40, k41, k42, k43, KC_NO, k45, k46, KC_NO, KC_NO, k49, k4A, k4B, k4C, k4D, k4E, k4F } \
|
||||||
}
|
}
|
||||||
#define KEYMAP LAYOUT
|
|
||||||
|
|
||||||
#define LAYOUT_66_ansi( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0F, \
|
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \
|
|
||||||
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, k3E, \
|
|
||||||
k40, k41, k42, k46, k4A, k4B, k4C, k4D, k4E, k4F \
|
|
||||||
) { \
|
|
||||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, KC_NO, k0E, k0F }, \
|
|
||||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, KC_NO, k1F }, \
|
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, KC_NO, k2D }, \
|
|
||||||
{ k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, KC_NO, k3D, k3E }, \
|
|
||||||
{ k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4A, k4B, k4C, k4D, k4E, k4F } \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define LAYOUT_66_iso( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0F, \
|
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1F, \
|
|
||||||
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, k3E, \
|
|
||||||
k40, k41, k42, k46, k4A, k4B, k4C, k4D, k4E, k4F \
|
|
||||||
) { \
|
|
||||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, KC_NO, k0E, k0F }, \
|
|
||||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, KC_NO, KC_NO, k1F }, \
|
|
||||||
{ 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, KC_NO, k3D, k3E }, \
|
|
||||||
{ k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4A, k4B, k4C, k4D, k4E, k4F } \
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -30,7 +30,7 @@
|
|||||||
// The first section contains all of the arguments
|
// The first section contains all of the arguments
|
||||||
// The second converts the arguments into a two-dimensional array
|
// The second converts the arguments into a two-dimensional array
|
||||||
|
|
||||||
#define LAYOUT( \
|
#define KEYMAP( \
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k55, k56, k57, \
|
k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k55, k56, k57, \
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \
|
k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
|
k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
|
||||||
@@ -48,48 +48,5 @@
|
|||||||
{ k80, k81, k82, k83, k84, k85, k86, KC_NO }, \
|
{ k80, k81, k82, k83, k84, k85, k86, KC_NO }, \
|
||||||
{ k90, KC_NO, k92, k93, k94, k95, k96, k97 } \
|
{ k90, KC_NO, k92, k93, k94, k95, k96, k97 } \
|
||||||
}
|
}
|
||||||
#define KEYMAP LAYOUT
|
|
||||||
|
|
||||||
/* LAYOUT_66_ansi, standard 66 key ANSI layout
|
|
||||||
*/
|
|
||||||
#define LAYOUT_66_ansi( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k56, k57, \
|
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \
|
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k75, \
|
|
||||||
k30, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k85, k86, \
|
|
||||||
k40, k41, k42, k46, k92, k93, k94, k95, k96, k97 \
|
|
||||||
) { \
|
|
||||||
{ k00, k01, k02, k03, k04, k05, k06, k07 }, \
|
|
||||||
{ k10, k11, k12, k13, k14, k15, k16, k17 }, \
|
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
|
||||||
{ k30, KC_NO, k32, k33, k34, k35, k36, k37 }, \
|
|
||||||
{ k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO }, \
|
|
||||||
{ k50, k51, k52, k53, k54, k55, KC_NO, k57 }, \
|
|
||||||
{ k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \
|
|
||||||
{ k70, k71, k72, k73, KC_NO, k75, KC_NO, KC_NO }, \
|
|
||||||
{ k80, k81, k82, k83, KC_NO, k85, k86, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 } \
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LAYOUT_66_iso, standard 67 key ISO layout
|
|
||||||
*/
|
|
||||||
#define LAYOUT_ISO( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k56, k57, \
|
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k67, \
|
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
|
|
||||||
k30, k31, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k85, k86, \
|
|
||||||
k40, k41, k42, k46, k92, k93, k94, k95, k96, k97 \
|
|
||||||
) { \
|
|
||||||
{ k00, k01, k02, k03, k04, k05, k06, k07 }, \
|
|
||||||
{ k10, k11, k12, k13, k14, k15, k16, k17 }, \
|
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
|
||||||
{ k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO }, \
|
|
||||||
{ k50, k51, k52, k53, k54, KC_NO, k56, k57 }, \
|
|
||||||
{ k60, k61, k62, k63, k64, KC_NO, KC_NO, k67 }, \
|
|
||||||
{ k70, k71, k72, k73, k74, k75, KC_NO, KC_NO }, \
|
|
||||||
{ k80, k81, k82, k83, KC_NO, k85, k86, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 } \
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -4,10 +4,10 @@
|
|||||||
#include "print.h"
|
#include "print.h"
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
void matrix_init_kb(void) {
|
||||||
// put your keyboard start-up code here
|
// put your keyboard start-up code here
|
||||||
// runs once when the firmware starts up
|
// runs once when the firmware starts up
|
||||||
matrix_init_user();
|
matrix_init_user();
|
||||||
led_init_ports();
|
led_init_ports();
|
||||||
|
|
||||||
// JTAG disable for PORT F. write JTD bit twice within four cycles.
|
// JTAG disable for PORT F. write JTD bit twice within four cycles.
|
||||||
MCUCR |= (1<<JTD);
|
MCUCR |= (1<<JTD);
|
||||||
|
@@ -30,7 +30,7 @@
|
|||||||
// The first section contains all of the arguments
|
// The first section contains all of the arguments
|
||||||
// The second converts the arguments into a two-dimensional array
|
// The second converts the arguments into a two-dimensional array
|
||||||
|
|
||||||
#define LAYOUT( \
|
#define KEYMAP( \
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k55, k56, k57, \
|
k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k55, k56, k57, \
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \
|
k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
|
k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
|
||||||
@@ -48,48 +48,5 @@
|
|||||||
{ k80, k81, k82, k83, k84, k85, k86, KC_NO }, \
|
{ k80, k81, k82, k83, k84, k85, k86, KC_NO }, \
|
||||||
{ k90, KC_NO, k92, k93, k94, k95, k96, k97 } \
|
{ k90, KC_NO, k92, k93, k94, k95, k96, k97 } \
|
||||||
}
|
}
|
||||||
#define KEYMAP LAYOUT
|
|
||||||
|
|
||||||
/* LAYOUT_66_ansi, standard 66 key ANSI layout
|
|
||||||
*/
|
|
||||||
#define LAYOUT_66_ansi( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k56, k57, \
|
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \
|
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k75, \
|
|
||||||
k30, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k85, k86, \
|
|
||||||
k40, k41, k42, k46, k92, k93, k94, k95, k96, k97 \
|
|
||||||
) { \
|
|
||||||
{ k00, k01, k02, k03, k04, k05, k06, k07 }, \
|
|
||||||
{ k10, k11, k12, k13, k14, k15, k16, k17 }, \
|
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
|
||||||
{ k30, KC_NO, k32, k33, k34, k35, k36, k37 }, \
|
|
||||||
{ k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO }, \
|
|
||||||
{ k50, k51, k52, k53, k54, KC_NO, KC_NO, k57 }, \
|
|
||||||
{ k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \
|
|
||||||
{ k70, k71, k72, k73, KC_NO, k75, KC_NO, KC_NO }, \
|
|
||||||
{ k80, k81, k82, k83, KC_NO, k85, k86, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 } \
|
|
||||||
}
|
|
||||||
|
|
||||||
/* LAYOUT_66_iso, standard 67 key ISO layout
|
|
||||||
*/
|
|
||||||
#define LAYOUT_66_iso( \
|
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k56, k57, \
|
|
||||||
k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k67, \
|
|
||||||
k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
|
|
||||||
k30, k31, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k85, k86, \
|
|
||||||
k40, k41, k42, k46, k92, k93, k94, k95, k96, k97 \
|
|
||||||
) { \
|
|
||||||
{ k00, k01, k02, k03, k04, k05, k06, k07 }, \
|
|
||||||
{ k10, k11, k12, k13, k14, k15, k16, k17 }, \
|
|
||||||
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
|
||||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
|
||||||
{ k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO }, \
|
|
||||||
{ k50, k51, k52, k53, k54, KC_NO, k56, k57 }, \
|
|
||||||
{ k60, k61, k62, k63, k64, KC_NO, KC_NO, k67 }, \
|
|
||||||
{ k70, k71, k72, k73, k74, k75, KC_NO, KC_NO }, \
|
|
||||||
{ k80, k81, k82, k83, KC_NO, k85, k86, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 } \
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user