Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f04e58dad6 | ||
|
|
d9b056486b | ||
|
|
2881f53dd4 | ||
|
|
d0ef139749 | ||
|
|
60cd12f8a4 | ||
|
|
c73d6f6ac8 | ||
|
|
f73f71db9c | ||
|
|
345d3cc046 |
No files matched your search
+10
@@ -115,6 +115,16 @@ This command examines your environment and alerts you to potential build or flas
|
|||||||
qmk doctor
|
qmk doctor
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## `qmk list_keyboards`
|
||||||
|
|
||||||
|
This command lists all the keyboards currently defined in `qmk_firmware`
|
||||||
|
|
||||||
|
**Usage**:
|
||||||
|
|
||||||
|
```
|
||||||
|
qmk list_keyboards
|
||||||
|
```
|
||||||
|
|
||||||
## `qmk new-keymap`
|
## `qmk new-keymap`
|
||||||
|
|
||||||
This command creates a new keymap based on a keyboard's existing default keymap.
|
This command creates a new keymap based on a keyboard's existing default keymap.
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ You can enable support for HD44780 Displays by setting the `HD44780_ENABLE` flag
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
You will need to configure the pins used by your display and its number of lines and collumn in your keyboards `config.h`.
|
You will need to configure the pins used by your display, and its number of lines and columns in your keyboard's `config.h`.
|
||||||
|
|
||||||
|
|
||||||
Uncomment the section labled HD44780 and change the parameters as needed.
|
Uncomment the section labled HD44780 and change the parameters as needed.
|
||||||
````
|
````
|
||||||
@@ -40,7 +41,7 @@ Should you need to configure other properties you can copy them from `quantum/hd
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
To initialize your display call lcd_init() with one of these parameters:
|
To initialize your display, call `lcd_init()` with one of these parameters:
|
||||||
````
|
````
|
||||||
LCD_DISP_OFF : display off
|
LCD_DISP_OFF : display off
|
||||||
LCD_DISP_ON : display on, cursor off
|
LCD_DISP_ON : display on, cursor off
|
||||||
@@ -53,4 +54,4 @@ To do so call `lcd_clrsrc()`.
|
|||||||
|
|
||||||
To now print something to your Display you first call `lcd_gotoxy(column, line)`. To go to the start of the first line you would call `lcd_gotoxy(0, 0)` and then print a string with `lcd_puts("example string")`.
|
To now print something to your Display you first call `lcd_gotoxy(column, line)`. To go to the start of the first line you would call `lcd_gotoxy(0, 0)` and then print a string with `lcd_puts("example string")`.
|
||||||
|
|
||||||
There are more posible methods to control the display. [For in depth documentation please visit the linked page.](http://homepage.hispeed.ch/peterfleury/doxygen/avr-gcc-libraries/group__pfleury__lcd.html)
|
There are more methods available to control the display. [For in depth documentation please visit the linked page.](http://homepage.hispeed.ch/peterfleury/doxygen/avr-gcc-libraries/group__pfleury__lcd.html)
|
||||||
@@ -149,7 +149,7 @@ In your keyboard config.h:
|
|||||||
|
|
||||||
#### PS/2 Mouse Features
|
#### PS/2 Mouse Features
|
||||||
|
|
||||||
These enable settings supported by the PS/2 mouse protocol: http://www.computer-engineering.org/ps2mouse/
|
These enable settings supported by the PS/2 mouse protocol.
|
||||||
|
|
||||||
```
|
```
|
||||||
/* Use remote mode instead of the default stream mode (see link) */
|
/* Use remote mode instead of the default stream mode (see link) */
|
||||||
@@ -202,7 +202,7 @@ Note: you can also use `ps2_mouse_set_resolution` for the same effect (not suppo
|
|||||||
#### Scroll Button
|
#### Scroll Button
|
||||||
|
|
||||||
If you're using a trackpoint, you will likely want to be able to use it for scrolling.
|
If you're using a trackpoint, you will likely want to be able to use it for scrolling.
|
||||||
Its possible to enable a "scroll button/s" that when pressed will cause the mouse to scroll instead of moving.
|
It's possible to enable a "scroll button/s" that when pressed will cause the mouse to scroll instead of moving.
|
||||||
To enable the feature, you must set a scroll button mask as follows:
|
To enable the feature, you must set a scroll button mask as follows:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
_____________________QWERTY_L3______________________, _____________________QWERTY_R3______________________,
|
_____________________QWERTY_L3______________________, _____________________QWERTY_R3______________________,
|
||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
T_GUI, KC_LCTL,LT_RAI, LT_LOW,KC_BSPC,KC_DEL
|
________MOD_LEFT_________, ________MOD_RIGHT________
|
||||||
//`---------------------' `---------------------'
|
//`---------------------' `---------------------'
|
||||||
),
|
),
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
_____________________DVORAK_L3______________________, _____________________DVORAK_R3______________________,
|
_____________________DVORAK_L3______________________, _____________________DVORAK_R3______________________,
|
||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
T_GUI, KC_LCTL,LT_RAI, LT_LOW,KC_BSPC,KC_DEL
|
________MOD_LEFT_________, ________MOD_RIGHT________
|
||||||
//`---------------------' `---------------------'
|
//`---------------------' `---------------------'
|
||||||
),
|
),
|
||||||
|
|
||||||
@@ -34,17 +34,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
_____________________COLEMAK_L3_____________________, _____________________COLEMAK_R3_____________________,
|
_____________________COLEMAK_L3_____________________, _____________________COLEMAK_R3_____________________,
|
||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
T_GUI, KC_LCTL,LT_RAI, LT_LOW,KC_BSPC,KC_DEL
|
________MOD_LEFT_________, ________MOD_RIGHT________
|
||||||
//`---------------------' `---------------------'
|
//`---------------------' `---------------------'
|
||||||
),
|
),
|
||||||
|
|
||||||
[_LOWER] = LAYOUT_wrapper(
|
[_LOWER] = LAYOUT_wrapper(
|
||||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||||
M_XXX2, M_XXX3, _________MEDIA_1_________, K_CSCN, _______________NAV_1______________, XXXXXXX, K_MDSH,
|
_____________________LOWER_L1_______________________, _____________________LOWER_R1_______________________,
|
||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
M_XXX4, M_XXX5, _________MEDIA_2_________, XXXXXXX, _______________NAV_2______________, K_LOCK, XXXXXXX,
|
_____________________LOWER_L2_______________________, _____________________LOWER_R2_______________________,
|
||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
KC_LSFT, M_SHFT, _________MEDIA_3_________, T_LBRC, T_RBRC, KC_M, XXXXXXX, M_CODE, M_XXX1, M_PYNV,
|
_____________________LOWER_L3_______________________, _____________________LOWER_R3_______________________,
|
||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
_______,_______,_______, _______,_______,_______
|
_______,_______,_______, _______,_______,_______
|
||||||
//`---------------------' `---------------------'
|
//`---------------------' `---------------------'
|
||||||
@@ -64,11 +64,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
|
|
||||||
[_ADJUST] = LAYOUT_wrapper( \
|
[_ADJUST] = LAYOUT_wrapper( \
|
||||||
//,----------------------------------------------------. ,----------------------------------------------------.
|
//,----------------------------------------------------. ,----------------------------------------------------.
|
||||||
M_MAKE, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY,
|
_____________________ADJUST_L1______________________, _____________________ADJUST_R1______________________,
|
||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
M_VRSN, M_MALL, RGB_SPI, RGB_SAI, RGB_HUI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
_____________________ADJUST_L2______________________, _____________________ADJUST_R2______________________,
|
||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
M_FLSH, XXXXXXX, RGB_SPD, RGB_SAD, RGB_HUD, RGB_VAD, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
_____________________ADJUST_L3______________________, _____________________ADJUST_R3______________________,
|
||||||
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
//|--------+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+-------|
|
||||||
_______,_______,_______, _______,_______,_______
|
_______,_______,_______, _______,_______,_______
|
||||||
//`---------------------' `---------------------'
|
//`---------------------' `---------------------'
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
_______, 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_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,
|
||||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
|
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, RESET,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, KC_BRMD, KC_BRMU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, KC_BRMD, KC_BRMU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
|
||||||
|
|
||||||
// TEMPLATE
|
// TEMPLATE
|
||||||
|
|||||||
@@ -0,0 +1,251 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2019 RedForty
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0xFEED
|
||||||
|
#define PRODUCT_ID 0x0000
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER RedForty
|
||||||
|
#define PRODUCT dactyl_left
|
||||||
|
#define DESCRIPTION A custom keyboard
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 6
|
||||||
|
#define MATRIX_COLS 6
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keyboard Matrix Assignments
|
||||||
|
*
|
||||||
|
* Change this to how you wired your keyboard
|
||||||
|
* COLS: AVR pins used for columns, left to right
|
||||||
|
* ROWS: AVR pins used for rows, top to bottom
|
||||||
|
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||||
|
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define MATRIX_ROW_PINS \
|
||||||
|
{ F0, F1, F4, F5, F6, F7 }
|
||||||
|
#define MATRIX_COL_PINS \
|
||||||
|
{ D0, B7, B3, B2, B1, B0 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL*/
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
|
||||||
|
*/
|
||||||
|
#define SOFT_SERIAL_PIN D2 // or D1, D2, D3, E6
|
||||||
|
|
||||||
|
// #define BACKLIGHT_PIN B7
|
||||||
|
// #define BACKLIGHT_BREATHING
|
||||||
|
// #define BACKLIGHT_LEVELS 3
|
||||||
|
|
||||||
|
// #define RGB_DI_PIN E2
|
||||||
|
// #ifdef RGB_DI_PIN
|
||||||
|
// #define RGBLED_NUM 16
|
||||||
|
// #define RGBLIGHT_HUE_STEP 8
|
||||||
|
// #define RGBLIGHT_SAT_STEP 8
|
||||||
|
// #define RGBLIGHT_VAL_STEP 8
|
||||||
|
// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||||
|
// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||||
|
// /*== all animations enable ==*/
|
||||||
|
// #define RGBLIGHT_ANIMATIONS
|
||||||
|
// /*== or choose animations ==*/
|
||||||
|
// #define RGBLIGHT_EFFECT_BREATHING
|
||||||
|
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||||
|
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||||
|
// #define RGBLIGHT_EFFECT_SNAKE
|
||||||
|
// #define RGBLIGHT_EFFECT_KNIGHT
|
||||||
|
// #define RGBLIGHT_EFFECT_CHRISTMAS
|
||||||
|
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||||
|
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||||
|
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||||
|
// /*== customize breathing effect ==*/
|
||||||
|
// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
||||||
|
// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
||||||
|
// /*==== use exp() and sin() ====*/
|
||||||
|
// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
||||||
|
// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||||
|
//#define MATRIX_HAS_GHOST
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||||
|
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||||
|
*/
|
||||||
|
// #define GRAVE_ESC_CTRL_OVERRIDE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Force NKRO
|
||||||
|
*
|
||||||
|
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||||
|
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||||
|
* makefile for this to work.)
|
||||||
|
*
|
||||||
|
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||||
|
* until the next keyboard reset.
|
||||||
|
*
|
||||||
|
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||||
|
* fully operational during normal computer usage.
|
||||||
|
*
|
||||||
|
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||||
|
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||||
|
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||||
|
* power-up.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//#define FORCE_NKRO
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Magic Key Options
|
||||||
|
*
|
||||||
|
* Magic keys are hotkey commands that allow control over firmware functions of
|
||||||
|
* the keyboard. They are best used in combination with the HID Listen program,
|
||||||
|
* found here: https://www.pjrc.com/teensy/hid_listen.html
|
||||||
|
*
|
||||||
|
* The options below allow the magic key functionality to be changed. This is
|
||||||
|
* useful if your keyboard/keypad is missing keys and you want magic key support.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* key combination for magic key command */
|
||||||
|
/* defined by default; to change, uncomment and set to the combination you want */
|
||||||
|
// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
|
||||||
|
|
||||||
|
/* control how magic key switches layers */
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
|
||||||
|
|
||||||
|
/* override magic key keymap */
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
|
||||||
|
//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
|
||||||
|
//#define MAGIC_KEY_HELP H
|
||||||
|
//#define MAGIC_KEY_HELP_ALT SLASH
|
||||||
|
//#define MAGIC_KEY_DEBUG D
|
||||||
|
//#define MAGIC_KEY_DEBUG_MATRIX X
|
||||||
|
//#define MAGIC_KEY_DEBUG_KBD K
|
||||||
|
//#define MAGIC_KEY_DEBUG_MOUSE M
|
||||||
|
//#define MAGIC_KEY_VERSION V
|
||||||
|
//#define MAGIC_KEY_STATUS S
|
||||||
|
//#define MAGIC_KEY_CONSOLE C
|
||||||
|
//#define MAGIC_KEY_LAYER0 0
|
||||||
|
//#define MAGIC_KEY_LAYER0_ALT GRAVE
|
||||||
|
//#define MAGIC_KEY_LAYER1 1
|
||||||
|
//#define MAGIC_KEY_LAYER2 2
|
||||||
|
//#define MAGIC_KEY_LAYER3 3
|
||||||
|
//#define MAGIC_KEY_LAYER4 4
|
||||||
|
//#define MAGIC_KEY_LAYER5 5
|
||||||
|
//#define MAGIC_KEY_LAYER6 6
|
||||||
|
//#define MAGIC_KEY_LAYER7 7
|
||||||
|
//#define MAGIC_KEY_LAYER8 8
|
||||||
|
//#define MAGIC_KEY_LAYER9 9
|
||||||
|
//#define MAGIC_KEY_BOOTLOADER B
|
||||||
|
//#define MAGIC_KEY_BOOTLOADER_ALT ESC
|
||||||
|
//#define MAGIC_KEY_LOCK CAPS
|
||||||
|
//#define MAGIC_KEY_EEPROM E
|
||||||
|
//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
|
||||||
|
//#define MAGIC_KEY_NKRO N
|
||||||
|
//#define MAGIC_KEY_SLEEP_LED Z
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Feature disable options
|
||||||
|
* These options are also useful to firmware size reduction.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
/*
|
||||||
|
* MIDI options
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Prevent use of disabled MIDI features in the keymap */
|
||||||
|
//#define MIDI_ENABLE_STRICT 1
|
||||||
|
|
||||||
|
/* enable basic MIDI features:
|
||||||
|
- MIDI notes can be sent when in Music mode is on
|
||||||
|
*/
|
||||||
|
//#define MIDI_BASIC
|
||||||
|
|
||||||
|
/* enable advanced MIDI features:
|
||||||
|
- MIDI notes can be added to the keymap
|
||||||
|
- Octave shift and transpose
|
||||||
|
- Virtual sustain, portamento, and modulation wheel
|
||||||
|
- etc.
|
||||||
|
*/
|
||||||
|
//#define MIDI_ADVANCED
|
||||||
|
|
||||||
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
|
//#define MIDI_TONE_KEYCODE_OCTAVES 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* HD44780 LCD Display Configuration
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
#define LCD_LINES 2 //< number of visible lines of the display
|
||||||
|
#define LCD_DISP_LENGTH 16 //< visibles characters per line of the display
|
||||||
|
|
||||||
|
#define LCD_IO_MODE 1 //< 0: memory mapped mode, 1: IO port mode
|
||||||
|
|
||||||
|
#if LCD_IO_MODE
|
||||||
|
#define LCD_PORT PORTB //< port for the LCD lines
|
||||||
|
#define LCD_DATA0_PORT LCD_PORT //< port for 4bit data bit 0
|
||||||
|
#define LCD_DATA1_PORT LCD_PORT //< port for 4bit data bit 1
|
||||||
|
#define LCD_DATA2_PORT LCD_PORT //< port for 4bit data bit 2
|
||||||
|
#define LCD_DATA3_PORT LCD_PORT //< port for 4bit data bit 3
|
||||||
|
#define LCD_DATA0_PIN 4 //< pin for 4bit data bit 0
|
||||||
|
#define LCD_DATA1_PIN 5 //< pin for 4bit data bit 1
|
||||||
|
#define LCD_DATA2_PIN 6 //< pin for 4bit data bit 2
|
||||||
|
#define LCD_DATA3_PIN 7 //< pin for 4bit data bit 3
|
||||||
|
#define LCD_RS_PORT LCD_PORT //< port for RS line
|
||||||
|
#define LCD_RS_PIN 3 //< pin for RS line
|
||||||
|
#define LCD_RW_PORT LCD_PORT //< port for RW line
|
||||||
|
#define LCD_RW_PIN 2 //< pin for RW line
|
||||||
|
#define LCD_E_PORT LCD_PORT //< port for Enable line
|
||||||
|
#define LCD_E_PIN 1 //< pin for Enable line
|
||||||
|
#endif
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Bootmagic Lite key configuration */
|
||||||
|
// #define BOOTMAGIC_LITE_ROW 0
|
||||||
|
// #define BOOTMAGIC_LITE_COLUMN 0
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
/* Copyright 2019 RedForty
|
||||||
|
*
|
||||||
|
* 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 "dactyl_left.h"
|
||||||
|
|
||||||
|
// Optional override functions below.
|
||||||
|
// You can leave any or all of these undefined.
|
||||||
|
// These are only required if you want to perform custom actions.
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
void matrix_init_kb(void) {
|
||||||
|
// put your keyboard start-up code here
|
||||||
|
// runs once when the firmware starts up
|
||||||
|
|
||||||
|
matrix_init_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
void matrix_scan_kb(void) {
|
||||||
|
// put your looping keyboard code here
|
||||||
|
// runs every cycle (a lot)
|
||||||
|
|
||||||
|
matrix_scan_user();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
// put your per-action keyboard code here
|
||||||
|
// runs for every action, just before processing by the firmware
|
||||||
|
|
||||||
|
return process_record_user(keycode, record);
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_set_kb(uint8_t usb_led) {
|
||||||
|
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
|
||||||
|
|
||||||
|
led_set_user(usb_led);
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
/* Copyright 2019 RedForty
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
/* This a shortcut to help you visually see your layout.
|
||||||
|
*
|
||||||
|
* The first section contains all of the arguments representing the physical
|
||||||
|
* layout of the board and position of the keys.
|
||||||
|
*
|
||||||
|
* The second converts the arguments into a two-dimensional array which
|
||||||
|
* represents the switch matrix.
|
||||||
|
*/
|
||||||
|
#define LAYOUT(\
|
||||||
|
k00, k01, k02, k03, k04, k05, \
|
||||||
|
k10, k11, k12, k13, k14, k15, \
|
||||||
|
k20, k21, k22, k23, k24, k25, \
|
||||||
|
k30, k31, k32, k33, k34, k35, \
|
||||||
|
k40, k41, k42, k43, k44, \
|
||||||
|
k50, k51, k52, k53, k54, k55 \
|
||||||
|
) { \
|
||||||
|
{ k00, k01, k02, k03, k04, k05 }, \
|
||||||
|
{ k10, k11, k12, k13, k14, k15 }, \
|
||||||
|
{ k20, k21, k22, k23, k24, k25 }, \
|
||||||
|
{ k30, k31, k32, k33, k34, k35 }, \
|
||||||
|
{ k40, k41, k42, k43, k44, KC_NO }, \
|
||||||
|
{ k50, k51, k52, k53, k54, k55 } \
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "dactyl_left",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "RedForty",
|
||||||
|
"width": 8,
|
||||||
|
"height": 7.75,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [{"x":0, "y":0.375, "w":1.5}, {"x":1.5, "y":0.375}, {"x":2.5, "y":0.125}, {"x":3.5, "y":0}, {"x":4.5, "y":0.125}, {"x":5.5, "y":0.25}, {"x":0, "y":1.375, "w":1.5}, {"x":1.5, "y":1.375}, {"x":2.5, "y":1.125}, {"x":3.5, "y":1}, {"x":4.5, "y":1.125}, {"x":5.5, "y":1.25}, {"x":0, "y":2.375, "w":1.5}, {"x":1.5, "y":2.375}, {"x":2.5, "y":2.125}, {"x":3.5, "y":2}, {"x":4.5, "y":2.125}, {"x":5.5, "y":2.25}, {"x":0, "y":3.375, "w":1.5}, {"x":1.5, "y":3.375}, {"x":2.5, "y":3.125}, {"x":3.5, "y":3}, {"x":4.5, "y":3.125}, {"x":5.5, "y":3.25}, {"x":0.5, "y":4.375}, {"x":1.5, "y":4.375}, {"x":2.5, "y":4.125}, {"x":3.5, "y":4}, {"x":4.5, "y":4.125}, {"x":6, "y":4.75}, {"x":7, "y":4.75}, {"x":5, "y":5.75, "h":2}, {"x":6, "y":5.75, "h":2}, {"x":7, "y":5.75}, {"x":7, "y":6.75}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
/* Copyright 2019 RedForty
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// place overrides here
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
/* Copyright 2019 RedForty
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// Defines the keycodes used by our macros in process_record_user
|
||||||
|
enum custom_keycodes { QMKBEST = SAFE_RANGE, QMKURL };
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT(/* Base */
|
||||||
|
KC_SPC, KC_1, KC_2, KC_3, KC_4, KC_5,
|
||||||
|
KC_SPC, KC_Q, KC_W, KC_E, KC_R, KC_T,
|
||||||
|
KC_SPC, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||||
|
KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B,
|
||||||
|
KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC,
|
||||||
|
KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC),
|
||||||
|
};
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case QMKBEST:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
// when keycode QMKBEST is pressed
|
||||||
|
SEND_STRING("QMK is the best thing ever!");
|
||||||
|
} else {
|
||||||
|
// when keycode QMKBEST is released
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case QMKURL:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
// when keycode QMKURL is pressed
|
||||||
|
SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
|
||||||
|
} else {
|
||||||
|
// when keycode QMKURL is released
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void matrix_init_user(void) {}
|
||||||
|
|
||||||
|
void matrix_scan_user(void) {}
|
||||||
|
|
||||||
|
void led_set_user(uint8_t usb_led) {}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
# The default keymap for dactyl_left
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# dactyl_left
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
A custom build of an ergodox dactyl using a Teensy. Pins are custom.
|
||||||
|
|
||||||
|
Keyboard Maintainer: [RedForty](https://github.com/RedForty)
|
||||||
|
Hardware Supported: Left side of the dactyl only
|
||||||
|
Hardware Availability: Custom job
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make handwired/dactyl_left:default
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
# Teensy halfkay
|
||||||
|
# Pro Micro caterina
|
||||||
|
# Atmel DFU atmel-dfu
|
||||||
|
# LUFA DFU lufa-dfu
|
||||||
|
# QMK DFU qmk-dfu
|
||||||
|
# atmega32a bootloadHID
|
||||||
|
BOOTLOADER = halfkay
|
||||||
|
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
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 = yes # Console for debug(+400)
|
||||||
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||||
|
HD44780_ENABLE = no # Enable support for HD44780 based LCDs (+400)
|
||||||
@@ -61,7 +61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
KC_LEFT, KC_RGHT,
|
KC_LEFT, KC_RGHT,
|
||||||
KC_PGUP,
|
KC_PGUP,
|
||||||
KC_PGDN,
|
KC_PGDN,
|
||||||
KC_DEL, LT_LOW
|
MT_DEL, LT_LOW
|
||||||
),
|
),
|
||||||
|
|
||||||
/* DVORAK
|
/* DVORAK
|
||||||
@@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
KC_LEFT, KC_RGHT,
|
KC_LEFT, KC_RGHT,
|
||||||
KC_PGUP,
|
KC_PGUP,
|
||||||
KC_PGDN,
|
KC_PGDN,
|
||||||
KC_DEL, LT_LOW
|
MT_DEL, LT_LOW
|
||||||
),
|
),
|
||||||
|
|
||||||
/* COLEMAK
|
/* COLEMAK
|
||||||
@@ -155,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
KC_LEFT, KC_RGHT,
|
KC_LEFT, KC_RGHT,
|
||||||
KC_PGUP,
|
KC_PGUP,
|
||||||
KC_PGDN,
|
KC_PGDN,
|
||||||
KC_DEL, LT_LOW
|
MT_DEL, LT_LOW
|
||||||
),
|
),
|
||||||
|
|
||||||
/* LOWER
|
/* LOWER
|
||||||
|
|||||||
@@ -58,9 +58,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
/* #define RGBLIGHT_SAT_STEP 8 */
|
/* #define RGBLIGHT_SAT_STEP 8 */
|
||||||
/* #define RGBLIGHT_VAL_STEP 8 */
|
/* #define RGBLIGHT_VAL_STEP 8 */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* CapsLock LED */
|
|
||||||
#define BACKLIGHT_PIN E6
|
|
||||||
#ifdef BACKLIGHT_PIN
|
|
||||||
#define BACKLIGHT_LEVELS 6
|
|
||||||
#endif
|
|
||||||
@@ -16,11 +16,11 @@
|
|||||||
#include "dimple.h"
|
#include "dimple.h"
|
||||||
|
|
||||||
void dimple_led_on() {
|
void dimple_led_on() {
|
||||||
writePinHigh(E6);
|
writePinLow(E6);
|
||||||
}
|
}
|
||||||
|
|
||||||
void dimple_led_off() {
|
void dimple_led_off() {
|
||||||
writePinLow(E6);
|
writePinHigh(E6);
|
||||||
}
|
}
|
||||||
|
|
||||||
void keyboard_pre_init_kb(void) {
|
void keyboard_pre_init_kb(void) {
|
||||||
|
|||||||
@@ -100,9 +100,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
*/
|
*/
|
||||||
[_LOWER] = LAYOUT_wrapper( \
|
[_LOWER] = LAYOUT_wrapper( \
|
||||||
_____________________FUNC_LEFT______________________, _____________________FUNC_RIGHT_____________________, \
|
_____________________FUNC_LEFT______________________, _____________________FUNC_RIGHT_____________________, \
|
||||||
M_XXX2, M_XXX3, _________MEDIA_1_________, _______, _______________NAV_1______________, _______, K_MDSH, \
|
_____________________LOWER_L1_______________________, _____________________LOWER_R1_______________________, \
|
||||||
M_XXX4, M_XXX5, _________MEDIA_2_________, _______, _______________NAV_2______________, K_LOCK, _______, \
|
_____________________LOWER_L2_______________________, _____________________LOWER_R2_______________________, \
|
||||||
_______, M_SHFT, _________MEDIA_3_________, _______, _______, _______, _______, KC_M, _______, _______, M_XXX1, M_PYNV, \
|
_____________________LOWER_L3_______________________, _______, _______, _____________________LOWER_R3_______________________, \
|
||||||
__________________________________, _______, _______, M_CODE, _______ \
|
__________________________________, _______, _______, M_CODE, _______ \
|
||||||
),
|
),
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `----------------------------' '------''--------------------'
|
* `----------------------------' '------''--------------------'
|
||||||
*/
|
*/
|
||||||
[_RAISE] = LAYOUT_wrapper( \
|
[_RAISE] = LAYOUT_wrapper( \
|
||||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, K_CSCN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||||
XXXXXXX, XXXXXXX, _____________MOUSE_1______________, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
XXXXXXX, XXXXXXX, _____________MOUSE_1______________, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||||
XXXXXXX, XXXXXXX, _____________MOUSE_2______________, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
XXXXXXX, XXXXXXX, _____________MOUSE_2______________, 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,\
|
||||||
@@ -130,9 +130,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
|
|
||||||
/* ADJUST
|
/* ADJUST
|
||||||
* ,------------------------------------------. ,-----------------------------------------.
|
* ,------------------------------------------. ,-----------------------------------------.
|
||||||
* |EEP_RST| | | | | | | | | |COLMAK|DVORAK|QWERTY|
|
* | | | | | | | | | | | | | |
|
||||||
* |-------+------+------+------+------+------| |------+------+------+------+------+------|
|
* |-------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
* |M_MAKE | | | | | | | | | | | | |
|
* |M_MAKE |EEPRST| | | | | | | | |COLMAK|DVORAK|QWERTY|
|
||||||
* |-------+------+------+------+------+------| |------+------+------+------+------+------|
|
* |-------+------+------+------+------+------| |------+------+------+------+------+------|
|
||||||
* |M_VRSN |M_MALL| | | | |-------. ,-------| | | | | | |
|
* |M_VRSN |M_MALL| | | | |-------. ,-------| | | | | | |
|
||||||
* |-------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
* |-------+------+------+------+------+------| | | |------+------+------+------+------+------|
|
||||||
@@ -143,10 +143,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
* `----------------------------' '------''--------------------'
|
* `----------------------------' '------''--------------------'
|
||||||
*/
|
*/
|
||||||
[_ADJUST] = LAYOUT_wrapper( \
|
[_ADJUST] = LAYOUT_wrapper( \
|
||||||
EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY, \
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
||||||
M_MAKE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
_____________________ADJUST_L1______________________, _____________________ADJUST_R1______________________, \
|
||||||
M_VRSN, M_MALL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
_____________________ADJUST_L2______________________, _____________________ADJUST_R2______________________, \
|
||||||
M_FLSH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
|
_____________________ADJUST_L3______________________, XXXXXXX, XXXXXXX, _____________________ADJUST_R3______________________,\
|
||||||
__________________________________, __________________________________ \
|
__________________________________, __________________________________ \
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
@@ -61,11 +61,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
|
|
||||||
[_LOWER] = LAYOUT_wrapper(
|
[_LOWER] = LAYOUT_wrapper(
|
||||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||||
M_XXX2, M_XXX3, _________MEDIA_1_________, XXXXXXX, K_CSCN, XXXXXXX, _______________NAV_1______________, XXXXXXX, K_MDSH,
|
_____________________LOWER_L1_______________________, K_CSCN, XXXXXXX, _____________________LOWER_R1_______________________,
|
||||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||||
M_XXX4, M_XXX5, _________MEDIA_2_________, XXXXXXX, XXXXXXX, XXXXXXX, _______________NAV_2______________, K_LOCK, XXXXXXX,
|
_____________________LOWER_L2_______________________, XXXXXXX, XXXXXXX, _____________________LOWER_R2_______________________,
|
||||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||||
XXXXXXX, M_SHFT, _________MEDIA_3_________, XXXXXXX, _______, _______, XXXXXXX, KC_M, XXXXXXX, XXXXXXX, M_XXX1, M_PYNV,
|
_____________________LOWER_L3_______________________, _______, _______, _____________________LOWER_R3_______________________,
|
||||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||||
__________________________________, _______, _______, M_CODE, _______
|
__________________________________, _______, _______, M_CODE, _______
|
||||||
//`---------------------------------------' `---------------------------------------'
|
//`---------------------------------------' `---------------------------------------'
|
||||||
@@ -85,11 +85,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
|
|
||||||
[_ADJUST] = LAYOUT_wrapper(
|
[_ADJUST] = LAYOUT_wrapper(
|
||||||
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
//,---------------------------------------------------------------------. ,---------------------------------------------------------------------.
|
||||||
M_MAKE, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY,
|
_____________________ADJUST_L1______________________, XXXXXXX, XXXXXXX, _____________________ADJUST_R1______________________,
|
||||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||||
M_VRSN, M_MALL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _____________________XXXXXXX________________________,
|
_____________________ADJUST_L2______________________, XXXXXXX, XXXXXXX, _____________________ADJUST_R2______________________,
|
||||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||||
M_FLSH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _____________________XXXXXXX________________________,
|
_____________________ADJUST_L3______________________, _______, _______, _____________________ADJUST_R3______________________,
|
||||||
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
//|---------+---------+---------+---------+---------+---------+---------| |---------+---------+---------+---------+---------+---------+---------|
|
||||||
__________________________________, __________________________________
|
__________________________________, __________________________________
|
||||||
//`---------------------------------------' `---------------------------------------'
|
//`---------------------------------------' `---------------------------------------'
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
/* Copyright 2018 'mechmerlin'
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// place overrides here
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
/* Copyright 2018 westfoxtrot
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
/* Default layer
|
||||||
|
* ,--------------------------------------------------------------------------------------------------------------------. ,-------.
|
||||||
|
* | GrvEsc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | + | ´ | Backspace | | PgUp |
|
||||||
|
* |--------------------------------------------------------------------------------------------------------------------+ +-------+
|
||||||
|
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Å | ¨ | Enter | | PgDn |
|
||||||
|
* |-----------------------------------------------------------------------------------------------------------, | `-------`
|
||||||
|
* | Mod Layer | A | S | D | F | G | H | J | K | L | Ö | Ä | ' | |
|
||||||
|
* |-----------------------------------------------------------------------------------------------------------------------,
|
||||||
|
* | Shift | < | Z | X | C | V | B | N | M | , | . | - | Shift | Up |
|
||||||
|
* |-----------------------------------------------------------------------------------------------------------------------+-------,
|
||||||
|
* | Control | Option | Command | Space | Command | Option | Left | Down | Right |
|
||||||
|
* `-------------------------------------------------------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
|
||||||
|
[0] = 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_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,
|
||||||
|
MO(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_RSFT, KC_NO, KC_UP,
|
||||||
|
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
|
||||||
|
/* Modifier layer
|
||||||
|
* ,--------------------------------------------------------------------------------------------------------------------. ,-------.
|
||||||
|
* | Esc | | | | | | | | [ | ] | | | | Delete | | VolUp |
|
||||||
|
* |--------------------------------------------------------------------------------------------------------------------+ +-------+
|
||||||
|
* | | | | | | | | PgUp | Up | PgDn | | | | | | VolDn |
|
||||||
|
* |-----------------------------------------------------------------------------------------------------------, | `-------`
|
||||||
|
* | | |Scrnsht|Desktop| | | | Left | Down | Right | | | Reset | |
|
||||||
|
* |-----------------------------------------------------------------------------------------------------------------------,
|
||||||
|
* | Shift | | | | | | | | | | | | Shift | Play |
|
||||||
|
* |-----------------------------------------------------------------------------------------------------------------------+-------,
|
||||||
|
* | | | | | | | Prev | Mute | Next |
|
||||||
|
* `-------------------------------------------------------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
|
||||||
|
[1] = LAYOUT(
|
||||||
|
KC_ESC, _______, _______, _______, _______, _______, _______, _______, RALT(KC_8), RALT(KC_9), _______, _______, _______, KC_DEL, KC__VOLUP,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, KC__VOLDOWN,
|
||||||
|
_______, _______, SGUI(KC_5), KC_F11, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RESET , _______,
|
||||||
|
KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, _______, KC_MPLY,
|
||||||
|
_______, _______, _______, _______, _______, _______, KC_MRWD, KC__MUTE, KC_MFFD),
|
||||||
|
};
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void matrix_init_user(void) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void matrix_scan_user(void) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void led_set_user(uint8_t usb_led) {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
# Cyclops keymap by peippo
|
||||||
|
|
||||||
|
Nordic layout with faster access to cursor movement keys and brackets.
|
||||||
|
|
||||||
|
## Keymap notes
|
||||||
|
|
||||||
|
- Default layer has a Grave Escape which outputs Escape when pressed normally, and `§` when Shift or Command are held. I like to setup Command+Esc to moving focus to next window (MacOS preferences, Keyboard / Shortcuts / Keyboard).
|
||||||
|
- `Caps Lock` can be held to access the modifier layer.
|
||||||
|
|
||||||
|
## Modifier layer
|
||||||
|
|
||||||
|
- Additional cursor movement keys on `J/K/L/I`, and Page Up/Page Down on `U/O`.
|
||||||
|
- Easier access to [] & {} (w/ Shift) on `8/9`.
|
||||||
|
- Show desktop on `D`.
|
||||||
|
- Screen capture tool on `S`.
|
||||||
|
- Media shortcuts on Arrow keys & Page Up/Page Down.
|
||||||
|
|
||||||
|
### Build
|
||||||
|
|
||||||
|
To build the firmware, run `make westfoxtrot/cyclops:peippo`.
|
||||||
@@ -8,6 +8,7 @@ from . import config
|
|||||||
from . import doctor
|
from . import doctor
|
||||||
from . import hello
|
from . import hello
|
||||||
from . import json
|
from . import json
|
||||||
|
from . import list
|
||||||
from . import new
|
from . import new
|
||||||
from . import pyformat
|
from . import pyformat
|
||||||
from . import pytest
|
from . import pytest
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
from . import keyboards
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
"""List the keyboards currently defined within QMK
|
||||||
|
"""
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import glob
|
||||||
|
|
||||||
|
from milc import cli
|
||||||
|
|
||||||
|
@cli.subcommand("List the keyboards currently defined within QMK")
|
||||||
|
def list_keyboards(cli):
|
||||||
|
"""List the keyboards currently defined within QMK
|
||||||
|
"""
|
||||||
|
|
||||||
|
base_path = os.path.join(os.getcwd(), "keyboards") + os.path.sep
|
||||||
|
kb_path_wildcard = os.path.join(base_path, "**", "rules.mk")
|
||||||
|
|
||||||
|
# find everywhere we have rules.mk where keymaps isn't in the path
|
||||||
|
paths = [path for path in glob.iglob(kb_path_wildcard, recursive=True) if 'keymaps' not in path]
|
||||||
|
|
||||||
|
# strip the keyboard directory path prefix and rules.mk suffix and alphabetize
|
||||||
|
find_name = lambda path: path.replace(base_path, "").replace(os.path.sep + "rules.mk", "")
|
||||||
|
names = sorted(map(find_name, paths))
|
||||||
|
|
||||||
|
for name in names:
|
||||||
|
# We echo instead of cli.log.info to allow easier piping of this output
|
||||||
|
cli.echo(name)
|
||||||
@@ -37,3 +37,11 @@ def test_pyformat():
|
|||||||
result = check_subcommand('pyformat')
|
result = check_subcommand('pyformat')
|
||||||
assert result.returncode == 0
|
assert result.returncode == 0
|
||||||
assert 'Successfully formatted the python code' in result.stderr
|
assert 'Successfully formatted the python code' in result.stderr
|
||||||
|
|
||||||
|
|
||||||
|
def test_list_keyboards():
|
||||||
|
result = check_subcommand('list_keyboards')
|
||||||
|
assert result.returncode == 0
|
||||||
|
# check to see if a known keyboard is returned
|
||||||
|
# this will fail if handwired/onekey/pytest is removed
|
||||||
|
assert 'handwired/onekey/pytest' in result.stdout
|
||||||
@@ -19,7 +19,7 @@ See: https://docs.qmk.fm/#/feature_userspace
|
|||||||
### [Keys](ninjonas.h#L37)
|
### [Keys](ninjonas.h#L37)
|
||||||
|Code | Description |
|
|Code | Description |
|
||||||
|---|---|
|
|---|---|
|
||||||
|K_LOCK | MacOS shortcut to execute lock command + ctrl + Q |
|
|K_LOCK | MacOS shortcut to execute lock command + CTRL + Q |
|
||||||
|K_CSCN | MacOS shortcut to copy a portion of the screen to the clipboard |
|
|K_CSCN | MacOS shortcut to copy a portion of the screen to the clipboard |
|
||||||
|K_MDSH | MacOS shortcut to get em-dash `–` |
|
|K_MDSH | MacOS shortcut to get em-dash `–` |
|
||||||
|K_RAPP | MacOS shortcut to switch apps to the right |
|
|K_RAPP | MacOS shortcut to switch apps to the right |
|
||||||
@@ -34,7 +34,13 @@ See: https://docs.qmk.fm/#/feature_userspace
|
|||||||
|LM_LOW | Dedicated key to momentarily toggle to use LOWER layer |
|
|LM_LOW | Dedicated key to momentarily toggle to use LOWER layer |
|
||||||
|LM_RAI | Dedicated key to momentarily toggle to use RAISE layer |
|
|LM_RAI | Dedicated key to momentarily toggle to use RAISE layer |
|
||||||
|
|
||||||
### [Layout Blocks](ninjonas.h#L50)
|
### [Mod-Taps](ninjonas.h#L50)
|
||||||
|
|Code | Description |
|
||||||
|
|---|---|
|
||||||
|
|MT_DEL | Tap for Delete, hold for + ALT + SHIFT |
|
||||||
|
|MT_EQL | Tap for =, hold for ALT + SHIFT |
|
||||||
|
|
||||||
|
### [Layout Blocks](ninjonas.h#L54)
|
||||||
Predefined keyboard layout templates to speed up configuring split keyboards
|
Predefined keyboard layout templates to speed up configuring split keyboards
|
||||||
|
|
||||||
|Code | Description |
|
|Code | Description |
|
||||||
@@ -59,6 +65,7 @@ Predefined keyboard layout templates to speed up configuring split keyboards
|
|||||||
|M_VRSN | macro to send QMK version |
|
|M_VRSN | macro to send QMK version |
|
||||||
|M_SHFT | Sends + alt + shift to a keycode to activate [ShiftIt](https://github.com/fikovnik/ShiftIt) |
|
|M_SHFT | Sends + alt + shift to a keycode to activate [ShiftIt](https://github.com/fikovnik/ShiftIt) |
|
||||||
|M_CODE | Opens [Visual Studio Code](https://code.visualstudio.com/) on current directory |
|
|M_CODE | Opens [Visual Studio Code](https://code.visualstudio.com/) on current directory |
|
||||||
|
|M_TERM | Launches Spotlight and calls Terminal |
|
||||||
|M_XXX1 to M_XXX5 | Reserved for secret macros see [Secrets](#secrets) |
|
|M_XXX1 to M_XXX5 | Reserved for secret macros see [Secrets](#secrets) |
|
||||||
|
|
||||||
### [Tap-Dance](tap_dances.h)
|
### [Tap-Dance](tap_dances.h)
|
||||||
@@ -78,7 +85,7 @@ There's times where you have macros you don't want to share like emails, an addr
|
|||||||
|
|
||||||
```c
|
```c
|
||||||
// secrets.c
|
// secrets.c
|
||||||
#include "ninjonas.h"
|
#include "ninjonas.h"
|
||||||
|
|
||||||
static const char * const secret[] = {
|
static const char * const secret[] = {
|
||||||
"BLANK1",
|
"BLANK1",
|
||||||
|
|||||||
@@ -47,6 +47,10 @@
|
|||||||
#define LT_LOW LT(_LOWER, KC_ENT)
|
#define LT_LOW LT(_LOWER, KC_ENT)
|
||||||
#define LT_RAI LT(_RAISE, KC_SPC)
|
#define LT_RAI LT(_RAISE, KC_SPC)
|
||||||
|
|
||||||
|
// Mod-Tap Keys
|
||||||
|
#define MT_DEL MT(MOD_LGUI | MOD_LALT | MOD_LSFT, KC_DEL)
|
||||||
|
#define MT_EQL MT(MOD_LALT | MOD_LSFT, KC_EQL)
|
||||||
|
|
||||||
// Layout blocks
|
// Layout blocks
|
||||||
#define _____________________QWERTY_L1______________________ T_TAB, T_Q, T_W, KC_E, KC_R, KC_T
|
#define _____________________QWERTY_L1______________________ T_TAB, T_Q, T_W, KC_E, KC_R, KC_T
|
||||||
#define _____________________QWERTY_L2______________________ T_ESC, KC_A, KC_S, KC_D, KC_F, KC_G
|
#define _____________________QWERTY_L2______________________ T_ESC, KC_A, KC_S, KC_D, KC_F, KC_G
|
||||||
@@ -54,7 +58,7 @@
|
|||||||
|
|
||||||
#define _____________________QWERTY_R1______________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS
|
#define _____________________QWERTY_R1______________________ KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS
|
||||||
#define _____________________QWERTY_R2______________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT
|
#define _____________________QWERTY_R2______________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT
|
||||||
#define _____________________QWERTY_R3______________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_EQL
|
#define _____________________QWERTY_R3______________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT_EQL
|
||||||
|
|
||||||
#define _____________________DVORAK_L1______________________ T_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
|
#define _____________________DVORAK_L1______________________ T_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y
|
||||||
#define _____________________DVORAK_L2______________________ T_ESC, KC_A, KC_O, KC_E, KC_U, KC_I
|
#define _____________________DVORAK_L2______________________ T_ESC, KC_A, KC_O, KC_E, KC_U, KC_I
|
||||||
@@ -62,7 +66,7 @@
|
|||||||
|
|
||||||
#define _____________________DVORAK_R1______________________ KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS
|
#define _____________________DVORAK_R1______________________ KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSLS
|
||||||
#define _____________________DVORAK_R2______________________ KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH
|
#define _____________________DVORAK_R2______________________ KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH
|
||||||
#define _____________________DVORAK_R3______________________ KC_B, KC_M, T_W, KC_V, KC_Z, KC_EQL
|
#define _____________________DVORAK_R3______________________ KC_B, KC_M, T_W, KC_V, KC_Z, MT_EQL
|
||||||
|
|
||||||
#define _____________________COLEMAK_L1_____________________ T_TAB, T_Q, T_W, KC_F, KC_P, KC_G
|
#define _____________________COLEMAK_L1_____________________ T_TAB, T_Q, T_W, KC_F, KC_P, KC_G
|
||||||
#define _____________________COLEMAK_L2_____________________ T_ESC, KC_A, KC_R, KC_S, KC_T, KC_D
|
#define _____________________COLEMAK_L2_____________________ T_ESC, KC_A, KC_R, KC_S, KC_T, KC_D
|
||||||
@@ -70,7 +74,7 @@
|
|||||||
|
|
||||||
#define _____________________COLEMAK_R1_____________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS
|
#define _____________________COLEMAK_R1_____________________ KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS
|
||||||
#define _____________________COLEMAK_R2_____________________ KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT
|
#define _____________________COLEMAK_R2_____________________ KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT
|
||||||
#define _____________________COLEMAK_R3_____________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_EQL
|
#define _____________________COLEMAK_R3_____________________ KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT_EQL
|
||||||
|
|
||||||
#define _____________________NUM_LEFT_______________________ T_GRV, KC_1, KC_2, KC_3, KC_4, KC_5
|
#define _____________________NUM_LEFT_______________________ T_GRV, KC_1, KC_2, KC_3, KC_4, KC_5
|
||||||
#define _____________________NUM_RIGHT______________________ KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS
|
#define _____________________NUM_RIGHT______________________ KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS
|
||||||
@@ -81,8 +85,31 @@
|
|||||||
#define _____________________SYM_LEFT_______________________ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC
|
#define _____________________SYM_LEFT_______________________ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC
|
||||||
#define _____________________SYM_RIGHT______________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS
|
#define _____________________SYM_RIGHT______________________ KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS
|
||||||
|
|
||||||
#define ____________________________________________________ _______, _______, _______, _______, _______, _______
|
#define _____________________LOWER_L1_______________________ M_XXX2, M_XXX3, _________MEDIA_1_________, K_CSCN
|
||||||
#define _____________________XXXXXXX________________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
#define _____________________LOWER_L2_______________________ M_XXX4, M_XXX5, _________MEDIA_2_________, XXXXXXX
|
||||||
|
#define _____________________LOWER_L3_______________________ KC_LSFT, M_SHFT, _________MEDIA_3_________, T_LBRC
|
||||||
|
|
||||||
|
#define _____________________LOWER_R1_______________________ _______________NAV_1______________, XXXXXXX, K_MDSH
|
||||||
|
#define _____________________LOWER_R2_______________________ _______________NAV_2______________, K_LOCK, XXXXXXX
|
||||||
|
#define _____________________LOWER_R3_______________________ T_RBRC, KC_M, M_TERM, M_CODE, M_XXX1, M_PYNV
|
||||||
|
|
||||||
|
#define _____________________ADJUST_L1______________________ M_MAKE, EEP_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
#define _____________________ADJUST_L2______________________ M_VRSN, M_MALL, RGB_SPI, RGB_SAI, RGB_HUI, RGB_VAI
|
||||||
|
#define _____________________ADJUST_L3______________________ M_FLSH, XXXXXXX, RGB_SPD, RGB_SAD, RGB_HUD, RGB_VAD
|
||||||
|
#else
|
||||||
|
#define _____________________ADJUST_L2______________________ M_VRSN, M_MALL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
#define _____________________ADJUST_L3______________________ M_FLSH, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
#define _____________________ADJUST_R1______________________ RGB_TOG, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY
|
||||||
|
#define _____________________ADJUST_R3______________________ RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
#else
|
||||||
|
#define _____________________ADJUST_R1______________________ XXXXXXX, XXXXXXX, XXXXXXX, COLEMAK, DVORAK, QWERTY
|
||||||
|
#define _____________________ADJUST_R3______________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
#endif
|
||||||
|
#define _____________________ADJUST_R2______________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||||
|
|
||||||
#define _______________NAV_1______________ KC_PGUP, KC_HOME, KC_UP, KC_END
|
#define _______________NAV_1______________ KC_PGUP, KC_HOME, KC_UP, KC_END
|
||||||
#define _______________NAV_2______________ KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT
|
#define _______________NAV_2______________ KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
@@ -91,14 +118,18 @@
|
|||||||
#define _____________MOUSE_2______________ KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U
|
#define _____________MOUSE_2______________ KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U
|
||||||
|
|
||||||
#define __________________________________ _______, _______, _______, _______
|
#define __________________________________ _______, _______, _______, _______
|
||||||
#define _____________XXXXXXX______________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
|
||||||
|
|
||||||
#define _________MEDIA_1_________ KC_BRIU, KC_MPLY, KC_MUTE
|
#define _________MEDIA_1_________ KC_BRIU, KC_MPLY, KC_MUTE
|
||||||
#define _________MEDIA_2_________ KC_BRID, KC_MFFD, KC__VOLUP
|
#define _________MEDIA_2_________ KC_BRID, KC_MFFD, KC__VOLUP
|
||||||
#define _________MEDIA_3_________ XXXXXXX, KC_MRWD, KC__VOLDOWN
|
#define _________MEDIA_3_________ XXXXXXX, KC_MRWD, KC__VOLDOWN
|
||||||
|
|
||||||
#define ________MOD_LEFT_________ KC_LALT, T_GUI, KC_LCTL
|
#ifdef KEYBOARD_crkbd_rev1
|
||||||
#define ________MOD_RIGHT________ KC_BSPC, KC_DEL, LM_LOW
|
#define ________MOD_LEFT_________ T_GUI, KC_LCTL, LT_RAI
|
||||||
|
#define ________MOD_RIGHT________ LT_LOW, KC_BSPC, MT_DEL
|
||||||
|
#else
|
||||||
|
#define ________MOD_LEFT_________ KC_LALT, T_GUI, KC_LCTL
|
||||||
|
#define ________MOD_RIGHT________ KC_BSPC, MT_DEL, LM_LOW
|
||||||
|
#endif
|
||||||
|
|
||||||
// Layout wrappers
|
// Layout wrappers
|
||||||
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
||||||
|
|||||||
+11
-4
@@ -4,12 +4,19 @@
|
|||||||
|
|
||||||
#ifdef OLED_DRIVER_ENABLE
|
#ifdef OLED_DRIVER_ENABLE
|
||||||
|
|
||||||
static uint16_t oled_timer = 0;
|
static uint32_t oled_timer = 0;
|
||||||
extern uint8_t is_master;
|
extern uint8_t is_master;
|
||||||
|
|
||||||
|
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||||
|
if (is_master) {
|
||||||
|
return OLED_ROTATION_0;
|
||||||
|
}
|
||||||
|
return OLED_ROTATION_180;
|
||||||
|
}
|
||||||
|
|
||||||
bool process_record_oled(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_oled(uint16_t keycode, keyrecord_t *record) {
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
oled_timer = timer_read();
|
oled_timer = timer_read32();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -64,7 +71,7 @@ static void render_logo(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void oled_task_user(void) {
|
void oled_task_user(void) {
|
||||||
if (timer_elapsed(oled_timer) > 30000) {
|
if (timer_elapsed32(oled_timer) > 30000) {
|
||||||
oled_off();
|
oled_off();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -75,8 +82,8 @@ void oled_task_user(void) {
|
|||||||
if (is_master) {
|
if (is_master) {
|
||||||
render_status();
|
render_status();
|
||||||
} else {
|
} else {
|
||||||
oled_write_P(PSTR("\n"), false);
|
|
||||||
render_logo();
|
render_logo();
|
||||||
|
oled_write_P(PSTR("\n"), false);
|
||||||
oled_scroll_left();
|
oled_scroll_left();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,10 +12,6 @@ bool process_record_oled(uint16_t keycode, keyrecord_t *record) { return true; }
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
#ifdef OLED_DRIVER_ENABLE
|
|
||||||
process_record_oled(keycode, record);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
|
|
||||||
// Sends pyenv to activate 'jira' environment
|
// Sends pyenv to activate 'jira' environment
|
||||||
@@ -81,7 +77,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
// Opens Visual Studio Code on current directory
|
// Opens Visual Studio Code on current directory
|
||||||
case M_CODE:
|
case M_CODE:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
SEND_STRING("code ." SS_TAP(X_ENTER));
|
SEND_STRING("code .\n");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
// Opens Terminal
|
||||||
|
case M_TERM:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
SEND_STRING(SS_DOWN(X_LGUI) SS_TAP(X_SPACE) SS_UP(X_LGUI));
|
||||||
|
wait_ms(250);
|
||||||
|
SEND_STRING("terminal\n");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -104,5 +109,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
// END: Layer macros
|
// END: Layer macros
|
||||||
}
|
}
|
||||||
|
|
||||||
return process_record_keymap(keycode, record) && process_record_secrets(keycode, record);
|
return process_record_keymap(keycode, record) && process_record_secrets(keycode, record)
|
||||||
|
#ifdef OLED_DRIVER_ENABLE
|
||||||
|
&& process_record_oled(keycode, record)
|
||||||
|
#endif
|
||||||
|
; // Close return
|
||||||
}
|
}
|
||||||
@@ -14,6 +14,7 @@ enum custom_keycodes {
|
|||||||
M_FLSH,
|
M_FLSH,
|
||||||
M_VRSN,
|
M_VRSN,
|
||||||
M_CODE,
|
M_CODE,
|
||||||
|
M_TERM,
|
||||||
// Secret Macros
|
// Secret Macros
|
||||||
M_XXX1,
|
M_XXX1,
|
||||||
M_XXX2,
|
M_XXX2,
|
||||||
|
|||||||
Reference in new issue
Block a user