Compare commits

...

23 Commits

Author SHA1 Message Date
Joel Challis
b1691ba696 Fix MATRIX_X_PINS_RIGHT ARM compilation (#6395) 2019-07-23 09:11:37 -04:00
Jarred Steenvoorden
7ec583e5ef [Keymap] Jarred's Plaid keymap (#6049)
* Add my plaid keymap

* Move planck / plaid keymaps to common layout folder
2019-07-23 00:07:57 -07:00
Will Sturgiss
c966da89da [Keymap] Added wsturgiss keymap for mechmini2 (#4917)
* basic layout v1.0

* changed KC_TRNS to _______

* most symbols are on double tap, except quote, that was cancer

* better formatting and set toggle for game layer

* added colors to layers to make knowing your current layer easy

* have an empty macro working

* enabled unicode

* moved stuff to my folder and removed edits from communal files

* cleanup

* removed the game layer.  Never used it

* made changes requested by drashna and vomindoraan

* got rid of some unnecessary code

* got very basic unicode on mac working

* added ctrl_esc

* more changes as requested by noroadsleft

* more leader additions, removed macros because leader stuff replaces that functionality

* removed an old macro I forgot to remove earlier

* final deletion at noroadsleft request

* changed a line to explicitly specify a purple color.
2019-07-22 23:59:12 -07:00
Drashna Jaelre
8060e52946 [Keyboard] Align Planck EZ config with ZSA/Ergodox config (#6371) 2019-07-22 23:28:25 -07:00
mechmerlin
2e8cdb126e update docs based on fireworm's comments 2019-07-22 20:55:23 -07:00
Drashna Jaelre
3261c408e4 Add support for TAP_CODE_DELAY to Hold-Tap keys (#5400)
* Add support for TAP_CODE_DELAY to Hold-Tap keys

* Better handling for tap code delay and caps version
2019-07-22 20:23:57 -07:00
Drashna Jaelre
d41961c9ed [Keymap] Drashna's Feature madness (#6128)
* Fix my Tap Dance issues after I broke them

* Cleanup and organization of userspace documentation

As well as some additional cleanup of functions due to review of documentation.

* Enable Tapdance on Glow and remove more animations

* Revert to Eager PR debouncing

* Add better check for startup animation

* Move where RGB Matrix defines are listed

* Limit RGB Matrix max val

* Update keyboard for Iris Rev 3 conflicts

* Enable encoder support on planck ez

* Remove is_master check from corne\'s OLED code

* Overhaul OLED screens for my Corne

* One last removal

* Show RGB valu On both sides

* Updates for OLED display info

* Fix compile issues for rgb config

* Disabled Space Cadet for all drashna keymaps

* Fix OLED Screen configs

* Minor OLED Tweaks

* Revert some Iris changes

* Fix song include

* Handle MAKE macro for the Corne boards better

* Add super hacky-hack for eeconfig initialization

* Add audio support for Fractal since Elite Cs support it

* Add defines for keycode steps

* Add White layout

* Update Corne RGB info

* Add fun effects to layer indication for RGB Matrix enabled boards

* Use proper define for product name detection

* Update formatting

* Use custom timeout mechanism for OLED timeout

* Fix up OLED screen HSV code for new HSV structure

* Better handle turning off RGB Matrix when sleeping

* Disable MultiSplash Animation

* Change Iris back to using serial

* Why was RGB disabled?!?!?!

* Limit val in rgb_matrix_layer_helper function

* Remove EECONFIG setting for RGB matrix
2019-07-22 20:22:33 -07:00
tucznak
840b9090a0 Adding personal keymaps (#6384)
* initial commit

* migrated the actual keymap to this keyboard

* added the actual Tanuki keymap

* Added QMK DFU bootloader support

* TuCZnak's keymaps - final

* Update keyboards/tanuki/keymaps/tucznak/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/ut472/keymaps/tucznak/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Apply suggestions from code review

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-07-22 16:32:47 -07:00
XScorpion2
40b0ddd425 Sol Rev 2 Keyboard (#6389)
* Basic Rev 2 implementation

* Updated LED defines and added Extra encoder support

* Fixed rgb pin assignment

* Physically accurate LED positions

* Single Color Band scrolling left to right effects

* Spirals, Pinwheels, and Documentation....Oh My!

* Spiral effect band thickness adjustments

* Fixing animation spin directions

* Full hand LED positions

* Basic Rev 2 implementation

Updated LED defines and added Extra encoder support

Fixed rgb pin assignment

Physically accurate LED positions

Full hand LED positions

Moving rev2 folder

* RGB Center Point LED position update

* Fixing led config commas

* Fixing led config commas

* fix enter key

* fix enter

* Small changes to default

* update default

* typo fix

* update default

* Fixing defines & led config, turned full hand & extra encoders into rules.mk feature

* Refactored rules.mk to have a post_rules.mk

* Forgot to offset the matrix to led map due to the edge led additions

* Updated LED flags and fixed my keymap

* Update keymap.c

include speed controls for RGB

* Fixing more rules.mk and adding keymap like encoders functionality

* Sol Rev 2 Implementation

* Minor fixes

* Keymap fixes

* Fix Colemak, add lock keys
2019-07-22 10:43:52 -07:00
Collin Diekvoss
17ff9cf554 New Keyboard: ZJ68 (#6378)
* added zj68 keyboard

* Suggested changes

* Suggested changes

* Suggested changes

* Requested changes

* Update keyboards/zj68/rules.mk

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-07-22 10:17:11 -07:00
MechMerlin
d3ebf903c9 [Keyboard] Add Unikorn 60 tsangan_hhkb layout (#6390)
* fix default keymap to not have Q in the 1 position.

* add tsangan hhkb layout

* add a tsangan default keymap

* clean up the default keymap

* add qmk configurator support for new layout
2019-07-22 02:20:20 -07:00
George Petri
f1c89280d5 [Keymap] Update keymap for keebio/quefrency 65% version (#6388)
* minor keymap changes

* minor keymap changes update readme

* update rules.mk

* add rgb

* add add arrows in hjkl

* removed backslashes

* fix missing comma

* spacing fix

* minor cleanup

* add r layer

* impl navigation layer

* moved backspace nearby

* updated readme
2019-07-22 02:14:43 -07:00
Sid Carter
4602361095 [Keymap] Switch Iris keymap from workman to colemak (#6385)
* via support and colemak layout

* figures tap and hold parts don't work vith via enabled - so those are commented out for now
2019-07-22 02:13:38 -07:00
Michael Pishchagin
28f53462d0 [Keyboard] Backport two fixes from TMK: usb-usb converter (#6383)
* usb_usb: Order of init prevents uneeded bus reset
7c228967a4 (diff-deed77fb597e3a0019ce59fc1d09e260)

* usb_usb: Fix startup block bug
c2ce617a36 (diff-deed77fb597e3a0019ce59fc1d09e260)
2019-07-22 02:07:28 -07:00
Luke Wesley-Holley
4532caf5f2 [Keyboard] KBP V60 Type R Added ISO default (#6372)
* [Layout] KBP V60 Type R ISO default

* Remove ifdef

* Apply suggestions from code review

@noroadsleft I've accepted your suggestions. Tried locally any everything works as expected.

Thanks again - this if my first keyboard and first time looking at/ using/ contributing to qmk so I appreciate the feedback 👍

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
2019-07-22 02:06:06 -07:00
noroadsleft
e08e6c11e3 [Keyboard] Fix QMK Configurator bug with Wilba Tech Zeal60 LAYOUT_60_all (#6387)
info.json file had the wrong name for the JSON key; the macro that is normally named LAYOUT_all by convention is named LAYOUT_60_all on the Zeal60.

Bug flagged by drashna for flight505 on QMK Discord.
2019-07-22 02:03:19 -07:00
Wilba
bffbb4b42d Refactoring wilba.tech PCBs, updating Rama Works U80-A (#6272)
* Added WT65-B, WT75-B, minor fixes

* Update keyboards/wilba_tech/wt65_b/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/wilba_tech/wt65_b/readme.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/wilba_tech/wt75_b/config.h

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Change DEBOUNCING_DELAY to DEBOUNCE

* Change DEBOUNCING_DELAY to DEBOUNCE

* Move Zeal60/Zeal65 files to keyboards/wilba_tech

* Change DEBOUNCING_DELAY to DEBOUNCE

* Refactoring zeal60 code to wilba_tech

* Moved Rama Works PCBs to wilba_tech

* Rename Rama Works files

* Cleanup info.json

* Cleanup readme.md

* Cleanup USB device strings

* U80-A RGB matrix, IS31FL3731 driver changes

* Fixed #include from keyboards/zeal60
2019-07-21 07:46:22 -04:00
noroadsleft
d686c0ea43 [Keyboard] Snagpad Configurator bugfix and readme refactor (#6381)
* Update snagpad.h

White-space changes only. Making this file easier to read.

* Update info.json

Refactor:

- add labels
- debug linting (one key object per line)
- reorder keys for LAYOUT_numpad_5x4 (fixes QMK Configurator assigning keys to incorrect positions)

* Update readme.md

Refactor to conform to QMK template.

Updated link to The Board Podcast (old link was Error 404).
2019-07-20 13:49:28 -07:00
trinity1561
b3cdc7ef70 [Keyboard] Update space65.c to fix caps lock LED (#6375) 2019-07-20 13:37:42 -07:00
Sid Carter
cf2ffadbcd [Keymap] Add Colemak to existing fc660c keymap (#6374)
* consistent enums

* add colemak to another layer for fun

* update readme

* consistent enums

* add colemak to another layer for fun

* update readme
2019-07-20 13:36:14 -07:00
Joel Challis
0da743d80b [Keyboard] Refactor handwired/splittest to support multiple boards (#6373)
* Refactor splittest to support multiple dev boards

* Refactor splittest to support multiple dev boards - revert change to number of RGB led

* Refactor splittest to support multiple dev boards - update docs

* Refactor splittest to support multiple dev boards - correct docs

* Refactor splittest to support multiple dev boards - update teensy master logic
2019-07-20 13:35:30 -07:00
MechMerlin
7afae46ea6 [Keyboard] Grid 600 Type 05 "PRESS" Cover Module (#6368)
* add grid600 type 5 press cover module

* Update keyboards/grid600/press/keymaps/default/keymap.c

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* remove unused custom keycode enum
2019-07-20 13:30:38 -07:00
jotix
c644299820 [Keyboard] leds in default keymap (#6357) 2019-07-20 13:25:20 -07:00
257 changed files with 4666 additions and 2401 deletions

View File

@ -71,10 +71,10 @@ uint8_t g_twi_transfer_buffer[20];
// buffers and the transfers in IS31FL3731_write_pwm_buffer() but it's
// probably not worth the extra complexity.
uint8_t g_pwm_buffer[DRIVER_COUNT][144];
bool g_pwm_buffer_update_required = false;
bool g_pwm_buffer_update_required[DRIVER_COUNT] = { false };
uint8_t g_led_control_registers[DRIVER_COUNT][18] = { { 0 }, { 0 } };
bool g_led_control_registers_update_required = false;
bool g_led_control_registers_update_required[DRIVER_COUNT] = { false };
// This is the bit pattern in the LED control registers
// (for matrix A, add one to register for matrix B)
@ -204,7 +204,7 @@ void IS31FL3731_set_color( int index, uint8_t red, uint8_t green, uint8_t blue )
g_pwm_buffer[led.driver][led.r - 0x24] = red;
g_pwm_buffer[led.driver][led.g - 0x24] = green;
g_pwm_buffer[led.driver][led.b - 0x24] = blue;
g_pwm_buffer_update_required = true;
g_pwm_buffer_update_required[led.driver] = true;
}
}
@ -220,12 +220,12 @@ void IS31FL3731_set_led_control_register( uint8_t index, bool red, bool green, b
{
is31_led led = g_is31_leds[index];
uint8_t control_register_r = (led.r - 0x24) / 8;
uint8_t control_register_g = (led.g - 0x24) / 8;
uint8_t control_register_b = (led.b - 0x24) / 8;
uint8_t bit_r = (led.r - 0x24) % 8;
uint8_t bit_g = (led.g - 0x24) % 8;
uint8_t bit_b = (led.b - 0x24) % 8;
uint8_t control_register_r = (led.r - 0x24) / 8;
uint8_t control_register_g = (led.g - 0x24) / 8;
uint8_t control_register_b = (led.b - 0x24) / 8;
uint8_t bit_r = (led.r - 0x24) % 8;
uint8_t bit_g = (led.g - 0x24) % 8;
uint8_t bit_b = (led.b - 0x24) % 8;
if ( red ) {
g_led_control_registers[led.driver][control_register_r] |= (1 << bit_r);
@ -243,28 +243,26 @@ void IS31FL3731_set_led_control_register( uint8_t index, bool red, bool green, b
g_led_control_registers[led.driver][control_register_b] &= ~(1 << bit_b);
}
g_led_control_registers_update_required = true;
g_led_control_registers_update_required[led.driver] = true;
}
void IS31FL3731_update_pwm_buffers( uint8_t addr1, uint8_t addr2 )
void IS31FL3731_update_pwm_buffers( uint8_t addr, uint8_t index )
{
if ( g_pwm_buffer_update_required )
if ( g_pwm_buffer_update_required[index] )
{
IS31FL3731_write_pwm_buffer( addr1, g_pwm_buffer[0] );
IS31FL3731_write_pwm_buffer( addr2, g_pwm_buffer[1] );
IS31FL3731_write_pwm_buffer( addr, g_pwm_buffer[index] );
}
g_pwm_buffer_update_required = false;
g_pwm_buffer_update_required[index] = false;
}
void IS31FL3731_update_led_control_registers( uint8_t addr1, uint8_t addr2 )
void IS31FL3731_update_led_control_registers( uint8_t addr, uint8_t index )
{
if ( g_led_control_registers_update_required )
if ( g_led_control_registers_update_required[index] )
{
for ( int i=0; i<18; i++ )
{
IS31FL3731_write_register(addr1, i, g_led_control_registers[0][i] );
IS31FL3731_write_register(addr2, i, g_led_control_registers[1][i] );
IS31FL3731_write_register( addr, i, g_led_control_registers[index][i] );
}
}
}

View File

@ -44,8 +44,8 @@ void IS31FL3731_set_led_control_register( uint8_t index, bool red, bool green, b
// (eg. from a timer interrupt).
// Call this while idle (in between matrix scans).
// If the buffer is dirty, it will update the driver with the buffer.
void IS31FL3731_update_pwm_buffers( uint8_t addr1, uint8_t addr2 );
void IS31FL3731_update_led_control_registers( uint8_t addr1, uint8_t addr2 );
void IS31FL3731_update_pwm_buffers( uint8_t addr, uint8_t index );
void IS31FL3731_update_led_control_registers( uint8_t addr, uint8_t index );
#define C1_1 0x24
#define C1_2 0x25

View File

@ -17,8 +17,8 @@
#include "tmk_core/common/eeprom.h"
// HACK
#include "keyboards/zeal60/zeal60_api.h" // Temporary hack
#include "keyboards/zeal60/zeal60_keycodes.h" // Temporary hack
#include "keyboards/wilba_tech/via_api.h" // Temporary hack
#include "keyboards/wilba_tech/via_keycodes.h" // Temporary hack
/* Artificial delay added to get media keys to work in the encoder*/
@ -72,7 +72,7 @@ void eeprom_set_valid(bool valid)
void eeprom_reset(void)
{
// Set the Zeal60 specific EEPROM state as invalid.
// Set the VIA specific EEPROM state as invalid.
eeprom_set_valid(false);
// Set the TMK/QMK EEPROM state as invalid.
eeconfig_disable();

View File

@ -12,8 +12,8 @@
#include "tmk_core/common/eeprom.h"
// HACK
#include "keyboards/zeal60/zeal60_api.h" // Temporary hack
#include "keyboards/zeal60/zeal60_keycodes.h" // Temporary hack
#include "keyboards/wilba_tech/via_api.h" // Temporary hack
#include "keyboards/wilba_tech/via_keycodes.h" // Temporary hack
backlight_config_t kb_backlight_config = {

View File

@ -74,8 +74,6 @@ static bool matrix_is_mod = false;
* This supports two cascaded hubs and four keyboards
*/
USB usb_host;
USBHub hub1(&usb_host);
USBHub hub2(&usb_host);
HIDBoot<HID_PROTOCOL_KEYBOARD> kbd1(&usb_host);
HIDBoot<HID_PROTOCOL_KEYBOARD> kbd2(&usb_host);
HIDBoot<HID_PROTOCOL_KEYBOARD> kbd3(&usb_host);
@ -84,6 +82,8 @@ KBDReportParser kbd_parser1;
KBDReportParser kbd_parser2;
KBDReportParser kbd_parser3;
KBDReportParser kbd_parser4;
USBHub hub1(&usb_host);
USBHub hub2(&usb_host);
extern "C"
@ -252,10 +252,10 @@ extern "C"
void led_set(uint8_t usb_led)
{
kbd1.SetReport(0, 0, 2, 0, 1, &usb_led);
kbd2.SetReport(0, 0, 2, 0, 1, &usb_led);
kbd3.SetReport(0, 0, 2, 0, 1, &usb_led);
kbd4.SetReport(0, 0, 2, 0, 1, &usb_led);
if (kbd1.isReady()) kbd1.SetReport(0, 0, 2, 0, 1, &usb_led);
if (kbd2.isReady()) kbd2.SetReport(0, 0, 2, 0, 1, &usb_led);
if (kbd3.isReady()) kbd3.SetReport(0, 0, 2, 0, 1, &usb_led);
if (kbd4.isReady()) kbd4.SetReport(0, 0, 2, 0, 1, &usb_led);
led_set_kb(usb_led);
}

View File

@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
/* Select hand configuration */
// #define MASTER_LEFT
@ -36,52 +35,31 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define TAPPING_TERM 100
#ifdef RGBLIGHT_ENABLE
# undef RGBLED_NUM
# define RGBLED_NUM 27
# undef RGBLED_NUM
# define RGBLED_NUM 27
# define RGBLIGHT_HUE_STEP 8
# define RGBLIGHT_SAT_STEP 8
# define RGBLIGHT_VAL_STEP 8
# define RGBLIGHT_LIMIT_VAL 100
# define RGBLIGHT_HUE_STEP 8
# define RGBLIGHT_SAT_STEP 8
# define RGBLIGHT_VAL_STEP 5
# define RGBLIGHT_LIMIT_VAL 150
#endif
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define DISABLE_RGB_MATRIX_ALPHAS_MODS
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
# define DISABLE_RGB_MATRIX_BREATHING
# define DISABLE_RGB_MATRIX_CYCLE_ALL
# define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
# define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
// # define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
// # define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
# define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
# define DISABLE_RGB_MATRIX_DUAL_BEACON
# define DISABLE_RGB_MATRIX_RAINBOW_BEACON
# define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
// # define DISABLE_RGB_MATRIX_RAINDROPS
// # define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
// # define DISABLE_RGB_MATRIX_TYPING_HEATMAP
// # define DISABLE_RGB_MATRIX_DIGITAL_RAIN
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
# define DISABLE_RGB_MATRIX_SPLASH
// # define DISABLE_RGB_MATRIX_MULTISPLASH
# define DISABLE_RGB_MATRIX_SOLID_SPLASH
# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
# define RGB_MATRIX_HUE_STEP 8
# define RGB_MATRIX_SAT_STEP 8
# define RGB_MATRIX_VAL_STEP 5
# define RGB_MATRIX_SPD_STEP 10
#endif
#ifdef AUDIO_ENABLE
# define B6_AUDIO
# define B6_AUDIO
// #define NO_MUSIC_MODE
#endif
@ -92,4 +70,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define OLED_FONT_WIDTH 5
// #define OLED_FONT_HEIGHT 7
#define OLED_DISABLE_TIMEOUT
#define TAPPING_TERM_PER_KEY

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,6 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SWAP_HANDS_ENABLE = no # Enable one-hand typing
RGBLIGHT_STARTUP_ANIMATION = yes
RGB_MATRIX_ENABLE = WS2812
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
@ -25,7 +24,3 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
BOOTLOADER = qmk-dfu
OLED_DRIVER_ENABLE = yes
ifneq ($(strip $(OLED_DRIVER_ENABLE)), yes)
RGB_MATRIX_SPLIT_RIGHT=yes
endif

View File

@ -6,3 +6,4 @@ Emulates original keymap with modifications for:
- Grave key(s)
- Reset on the function layer
- Mouse keys ala Tada68
- A layer for playing with Colemak

View File

@ -16,6 +16,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
enum siroleo_layers
{
_QWERTY,
_COLEMAK,
_FNM
};
enum siroleo_keycodes
{
QWERTY = SAFE_RANGE,
COLEMAK
};
#define FNM MO(_FNM)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* BASE layer: Default Layer
* ,--------------------------------------------------------------------------------------------------.
@ -30,12 +45,32 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Ctrl | Alt | Gui | Space | Fn | Ctrl | Alt | Left| Down|Right|
* `--------------------------------------------------------------------------------------------------´
*/
[0] = LAYOUT(
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_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_BSLS, KC_DEL,
KC_GRV ,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_LALT,KC_LGUI, KC_SPC, MO(1),KC_RCTL,KC_RALT, KC_LEFT,KC_DOWN,KC_RGHT
[_QWERTY] = 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_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_BSLS, KC_DEL,
KC_GRV , 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_LALT,KC_LGUI, KC_SPC, FNM,KC_RCTL,KC_RALT, KC_LEFT,KC_DOWN,KC_RGHT
),
/* Colemak Layer
* ,--------------------------------------------------------------------------------------------------.
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace | | ` |
* |-----------------------------------------------------------------------------------------+ +-----+
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp | | Del |
* |-----------------------------------------------------------------------------------------+ +-----+
* | ` | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
* |--------------------------------------------------------------------------------------------+
* | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | Up |
* +--------------------------------------------------------------------------------------------+-----+
* | Ctrl | Alt | Gui | Space | Fn | Ctrl | Alt | Left| Down|Right|
* `--------------------------------------------------------------------------------------------------´
*/
[_COLEMAK] = 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_GRV,
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_DEL,
KC_GRV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O ,KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM,KC_DOT,KC_SLSH,KC_RSFT, KC_UP,
KC_LCTL, KC_LALT,KC_LGUI, KC_SPC, FNM,KC_RCTL,KC_RALT, KC_LEFT,KC_DOWN,KC_RGHT
),
/* FN layer
* ,--------------------------------------------------------------------------------------------------.
@ -50,11 +85,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | Reset | | | | | | MsL | MsD | MsR |
* `--------------------------------------------------------------------------------------------------´
*/
[1] = LAYOUT(
[_FNM] = 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_MUTE, KC_VOLU,
_______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK,KC_PAUS,_______,_______,_______, KC_VOLD,
_______,_______,_______,_______,_______,_______,_______,_______,KC_HOME,KC_PGUP,_______,_______, _______,
_______,_______,_______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK,KC_PAUS,_______,_______, RESET, KC_VOLD,
_______,_______,_______, QWERTY,COLEMAK,_______,_______,_______,KC_HOME,KC_PGUP,_______,_______, _______,
_______,_______,_______,_______,_______,_______,_______,_______,KC_END, KC_PGDN,_______,KC_BTN1, KC_MS_U,
_______, RESET,_______, _______, MO(1), _______,_______, KC_MS_L,KC_MS_D,KC_MS_R
_______,_______,_______, _______, _______,_______,_______, KC_MS_L,KC_MS_D,KC_MS_R
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
set_single_persistent_default_layer(_QWERTY);
}
return false;
case COLEMAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_COLEMAK);
}
return false;
}
return true;
}

View File

@ -9,7 +9,7 @@
#include QMK_KEYBOARD_H
#include "drashna.h"
// clang-format off
#define LAYOUT_gergo_base( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
@ -111,3 +111,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
*/
// clang-format on

View File

@ -19,6 +19,7 @@ void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
setPinOutput(E6);
matrix_init_user();
}
@ -39,9 +40,9 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
void led_set_kb(uint8_t usb_led) {
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
writePinHigh(E6);
} else {
writePinLow(E6);
} else {
writePinHigh(E6);
}
led_set_user(usb_led);

View File

@ -0,0 +1,78 @@
/*
Copyright 2019 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
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x7539
#define DEVICE_VER 0x0005
#define MANUFACTURER Grid
#define PRODUCT PRESS
#define DESCRIPTION Top module for Grid 600
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 4
/*
* 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 }
#define MATRIX_COL_PINS { F1, F4, F5, F6 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define RGB_DI_PIN B6
#ifdef RGB_DI_PIN
#define RGBLED_NUM 4
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17
#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 */
#define RGBLIGHT_ANIMATIONS
/*== 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

View File

@ -0,0 +1,12 @@
{
"keyboard_name": "Grid 600 Type 05 PRESS Cover Module",
"url": "",
"maintainer": "qmk",
"width": 4,
"height": 1,
"layouts": {
"LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}]
}
}
}

View File

@ -1,4 +1,4 @@
/* Copyright 2018 amnesia0287
/* Copyright 2019 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

View File

@ -1,4 +1,4 @@
/* Copyright 2018 Jarred Steenvoorden
/* Copyright 2019 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
@ -13,22 +13,22 @@
* 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 "planck.h"
#include "jarred.h"
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QW] = LAYOUT_planck_grid_wrapper(QWERTY_4x12),
[_GAME] = LAYOUT_planck_grid_wrapper(GAME_4x12),
[_LW] = LAYOUT_planck_grid_wrapper(LOWER_4x12),
[_NV] = LAYOUT_planck_grid_wrapper(NAV_4x12),
[_NP] = LAYOUT_planck_grid_wrapper(NUMPAD_4x12),
[_MS] = LAYOUT_planck_grid_wrapper(MOUSE_4x12)
[0] = LAYOUT( /* Base */
KC_G, KC_R, KC_I, KC_D
),
};
#ifdef RGB_MATRIX_H
void rgb_matrix_indicators_user(void) {
// Disable light in middle of 2U position
rgb_matrix_set_color(42, 0, 0, 0);
void matrix_init_user(void) {
}
void matrix_scan_user(void) {
}
void led_set_user(uint8_t usb_led) {
}
#endif

View File

@ -0,0 +1 @@
# The default keymap for grid

View File

@ -0,0 +1,16 @@
/* Copyright 2019 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/>.
*/
#include "press.h"

View File

@ -0,0 +1,32 @@
/* Copyright 2019 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
#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 \
) { \
{ K00, K01, K02, K03 } \
}

View File

@ -0,0 +1,18 @@
# Grid 600 Type 05 "PRESS" Cover Module
Cover module for Grid 600 Keyboard with 4 keys.
Code for the module was originally located at [gridishere's QMK fork](https://github.com/gridishere/qmk_firmware/tree/master/keyboards/grid/gridmod5).
Please keep in mind that this is actually a separate keyboard from the one installed in the Grid 600.
Functionality such as layer changes and light modifications triggered on one PCB will not affect the other.
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
Hardware Supported: Grid 600 Type 05 "PRESS" cover module.
Hardware Availability: [zFrontier](https://en.zfrontier.com/products/grid600s)
Make example for this keyboard (after setting up your build environment):
make grid600/press: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).

View File

@ -0,0 +1,80 @@
# 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
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# atmega32a bootloadHID
BOOTLOADER = atmel-dfu
# If you don't know the bootloader type, then you can specify the
# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
# Teensy halfKay 512
# Teensy++ halfKay 1024
# Atmel DFU loader 4096
# LUFA bootloader 4096
# USBaspLoader 2048
# OPT_DEFS += -DBOOTLOADER_SIZE=4096
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = yes # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # 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)

View File

@ -0,0 +1,7 @@
# Grid 600 Cover Modules
The Grid 600 is a tray mount 60% case supporting most standard 60% PCBs.
A unique feature of the Grid 600 is that it has five different cover modules that not only include USB C pass through, but also have functions such as RGB or additional macro keys.
This is a collection of some of the programmable modules available for this enclosure.

View File

@ -13,11 +13,14 @@ extern keymap_config_t keymap_config;
#define _QWERTY 0
#define _LOWER 1
#define _RAISE 2
#define _ADJUST 3
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
static bool is_ctl_pressed;
static bool is_esc_pressed;
static bool is_bspc_pressed;
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
@ -73,20 +76,47 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
),
/* Adjust */
[_ADJUST] = LAYOUT_ortho_4x12 (
_______, RESET, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
uint32_t layer_state_set_user(uint32_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
#ifdef JOTANCK_LEDS
switch (biton32(state)) {
case _LOWER:
writePinHigh(JOTANCK_LED1);
writePinLow(JOTANCK_LED2);
break;
case _RAISE:
writePinLow(JOTANCK_LED1);
writePinHigh(JOTANCK_LED2);
break;
default:
writePinLow(JOTANCK_LED1);
writePinLow(JOTANCK_LED2);
break;
};
#endif
return state;
}
void matrix_init_user(void) {
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_LCTL:
is_ctl_pressed = record->event.pressed;
break;
case KC_ESC:
is_esc_pressed = record->event.pressed;
break;
case KC_BSPC:
is_bspc_pressed = record->event.pressed;
break;
};
return true;
}
void matrix_scan_user(void) {
if (is_ctl_pressed && is_esc_pressed && is_bspc_pressed) {
reset_keyboard();
}
}

View File

@ -35,4 +35,6 @@ Make example for this keyboard (after setting up your build environment):
![Default Keymap](https://i.imgur.com/xh7Dmd7.png)
To reset the keyboard press Ctrl+Esc+BackSpace
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).

View File

@ -33,12 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROWS 2
#define MATRIX_COLS 1
// wiring of each half
#define MATRIX_ROW_PINS { B3 }
#define MATRIX_COL_PINS { B6 }
#define SPLIT_HAND_PIN F6
#define SOFT_SERIAL_PIN D1
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
@ -51,7 +45,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_RESYNC_ENABLE
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 12
#define RGBLED_SPLIT { 6, 6 }

View File

@ -0,0 +1,28 @@
/* Copyright 2019
*
* 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"
// wiring of each half
#define MATRIX_ROW_PINS { B3 }
#define MATRIX_COL_PINS { B6 }
#define SPLIT_HAND_PIN F6
#define SOFT_SERIAL_PIN D1
/* ws2812 RGB LED */
#define RGB_DI_PIN D3

View File

@ -0,0 +1,11 @@
# Pro Micro splittest
To trigger keypress, short together pins *B3* and *B6* (marked on the PCB as *14* and *10*).
## Wiring
- Add switches to both Pro Micros across B3 and B6 pins
- Add pull-up resistor to left side between VCC and F6
- Add pull-down resistors to right side between GND and F6
- Connect the following pins on both sides together: D0, D1, GND, VCC
- Add I2C 4.7kOhm resistors between D0 and VCC, and D1 and VCC
- Wire Di of RGB strip for each half to D3

View File

@ -0,0 +1,58 @@
# 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
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# atmega32a bootloadHID
BOOTLOADER = caterina
# If you don't know the bootloader type, then you can specify the
# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
# Teensy halfKay 512
# Teensy++ halfKay 1024
# Atmel DFU loader 4096
# LUFA bootloader 4096
# USBaspLoader 2048
# OPT_DEFS += -DBOOTLOADER_SIZE=4096

View File

@ -4,7 +4,10 @@ Split Tester
A two-switch tester built using two Pro Micros, mainly intended to test RGB on split keyboards. Seen here: https://www.instagram.com/p/BvCPNzynwrV/
Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges)
Hardware Supported: Pro Micro
Hardware Supported: Pro Micro, Teensy 2.0
Hardware Availability:
**See each individual board for pin infomation**
Make example for this keyboard (after setting up your build environment):
@ -15,12 +18,3 @@ Example of flashing this keyboard:
make handwired/splittest:default:avrdude
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).
Wiring
------
- Add switches to both Pro Micros across B3 and B6 pins
- Add pull-up resistor to left side between VCC and F6
- Add pull-down resistors to right side between GND and F6
- Connect the following pins on both sides together: D0, D1, GND, VCC
- Add I2C 4.7kOhm resistors between D0 and VCC, and D1 and VCC
- Wire Di of RGB strip for each half to D2

View File

@ -1,47 +1,3 @@
# 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)
# 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
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
@ -63,3 +19,5 @@ RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
SPLIT_KEYBOARD = yes
DEFAULT_FOLDER = handwired/splittest/promicro

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