From fced377ac007d27f2650ccffbe0b18abcdcfe23d Mon Sep 17 00:00:00 2001
From: James Young <18669334+noroadsleft@users.noreply.github.com>
Date: Sat, 30 May 2020 13:14:59 -0700
Subject: 2020 May 30 Breaking Changes Update (#9215)
* Branch point for 2020 May 30 Breaking Change
* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954)
* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957)
* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958)
* Migrate `ACTION_LAYER_MODS` to `LM()` (#8959)
* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968)
* Convert V-USB usbdrv to a submodule (#8321)
* Unify Tap Hold functions and documentation (#8348)
* Changing board names to prevent confusion (#8412)
* Move the Keyboardio Model01 to a keyboardio/ subdir (#8499)
* Move spaceman keyboards (#8830)
* Migrate miscellaneous `fn_actions` entries (#8977)
* Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979)
* Organizing my keyboards (plaid, tartan, ergoinu) (#8537)
* Refactor Lily58 to use split_common (#6260)
* Refactor zinc to use split_common (#7114)
* Add a message if bin/qmk doesn't work (#9000)
* Fix conflicting types for 'tfp_printf' (#8269)
* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480)
* Refactor and updates to TKC1800 code (#8472)
* Switch to qmk forks for everything (#9019)
* audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484)
* Audio enable corrections (2/3) (#8903)
* Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582)
* Audio enable corrections (Part 4) (#8974)
* Fix typo from PR7114 (#9171)
* Augment future branch Changelogs (#8978)
* Revert "Branch point for 2020 May 30 Breaking Change"
---
keyboards/zinc/config.h | 25 --
keyboards/zinc/i2c.c | 162 -------
keyboards/zinc/i2c.h | 49 ---
keyboards/zinc/keymaps/default/config.h | 2 -
keyboards/zinc/keymaps/default/keymap.c | 26 +-
keyboards/zinc/keymaps/default/readme_en.md | 131 ++++++
keyboards/zinc/keymaps/default/readme_jp.md | 48 ++-
keyboards/zinc/keymaps/default/rules.mk | 57 ++-
keyboards/zinc/keymaps/ginjake/config.h | 2 -
keyboards/zinc/keymaps/ginjake/rules.mk | 48 ++-
keyboards/zinc/keymaps/monks/config.h | 2 -
keyboards/zinc/keymaps/monks/keymap.c | 3 +-
keyboards/zinc/keymaps/monks/readme_jp.md | 2 +-
keyboards/zinc/keymaps/monks/rules.mk | 50 ++-
keyboards/zinc/keymaps/toshi0383/config.h | 2 -
keyboards/zinc/keymaps/toshi0383/rules.mk | 67 ++-
keyboards/zinc/readme.md | 6 +-
keyboards/zinc/rev1/config.h | 61 +--
keyboards/zinc/rev1/matrix.c | 357 ----------------
keyboards/zinc/rev1/rev1.c | 1 -
keyboards/zinc/rev1/rev1.h | 15 -
keyboards/zinc/rev1/rules.mk | 5 +-
keyboards/zinc/rev1/serial_config.h | 18 -
keyboards/zinc/rev1/serial_config_simpleapi.h | 8 -
keyboards/zinc/rev1/split_scomm.c | 95 -----
keyboards/zinc/rev1/split_scomm.h | 24 --
keyboards/zinc/rev1/split_util.c | 70 ---
keyboards/zinc/rev1/split_util.h | 19 -
keyboards/zinc/reva/config.h | 56 ++-
keyboards/zinc/reva/matrix.c | 357 ----------------
keyboards/zinc/reva/reva.c | 1 -
keyboards/zinc/reva/reva.h | 15 -
keyboards/zinc/reva/rules.mk | 5 +-
keyboards/zinc/reva/serial_config.h | 18 -
keyboards/zinc/reva/serial_config_simpleapi.h | 8 -
keyboards/zinc/reva/split_scomm.c | 95 -----
keyboards/zinc/reva/split_scomm.h | 24 --
keyboards/zinc/reva/split_util.c | 70 ---
keyboards/zinc/reva/split_util.h | 19 -
keyboards/zinc/rules.mk | 4 -
keyboards/zinc/serial.c | 589 --------------------------
keyboards/zinc/serial.h | 84 ----
keyboards/zinc/zinc.h | 6 +-
43 files changed, 443 insertions(+), 2263 deletions(-)
delete mode 100644 keyboards/zinc/i2c.c
delete mode 100644 keyboards/zinc/i2c.h
create mode 100644 keyboards/zinc/keymaps/default/readme_en.md
delete mode 100644 keyboards/zinc/rev1/matrix.c
delete mode 100644 keyboards/zinc/rev1/serial_config.h
delete mode 100644 keyboards/zinc/rev1/serial_config_simpleapi.h
delete mode 100644 keyboards/zinc/rev1/split_scomm.c
delete mode 100644 keyboards/zinc/rev1/split_scomm.h
delete mode 100644 keyboards/zinc/rev1/split_util.c
delete mode 100644 keyboards/zinc/rev1/split_util.h
delete mode 100644 keyboards/zinc/reva/matrix.c
delete mode 100644 keyboards/zinc/reva/serial_config.h
delete mode 100644 keyboards/zinc/reva/serial_config_simpleapi.h
delete mode 100644 keyboards/zinc/reva/split_scomm.c
delete mode 100644 keyboards/zinc/reva/split_scomm.h
delete mode 100644 keyboards/zinc/reva/split_util.c
delete mode 100644 keyboards/zinc/reva/split_util.h
delete mode 100644 keyboards/zinc/serial.c
delete mode 100644 keyboards/zinc/serial.h
(limited to 'keyboards/zinc')
diff --git a/keyboards/zinc/config.h b/keyboards/zinc/config.h
index 712db0ac6d..cfb6bf4ffc 100644
--- a/keyboards/zinc/config.h
+++ b/keyboards/zinc/config.h
@@ -17,30 +17,5 @@ along with this program. If not, see .
*/
#pragma once
-//#ifndef CONFIG_H
-//#define CONFIG_H
#include "config_common.h"
-
-// GCC include 'config.h" sequence in qmk_firmware/keyboards/zinc/
-// -include keyboards/zinc/config.h
-// -include keyboards/zinc/rev?/config.h
-// -include keyboards/zinc/rev?/keymaps/MAPNAME/config.h
-// XXXX.c
-
-#include
-
-// GCC include search path in qmk_firmare/keyboards/zinc/
-// #include "..." search starts here:
-// #include <...> search starts here:
-// keyboards/zinc/rev?/keymaps/MAPNAME
-// keyboards/zinc
-// keyboards/zinc/rev?
-// .
-// ./tmk_core
-// ......
-
-#define NO_ACTION_MACRO
-#define NO_ACTION_FUNCTION
-
-//#endif /* CONFIG_H */
diff --git a/keyboards/zinc/i2c.c b/keyboards/zinc/i2c.c
deleted file mode 100644
index 4bee5c6398..0000000000
--- a/keyboards/zinc/i2c.c
+++ /dev/null
@@ -1,162 +0,0 @@
-#include
-#include
-#include
-#include
-#include
-#include
-#include "i2c.h"
-
-#ifdef USE_I2C
-
-// Limits the amount of we wait for any one i2c transaction.
-// Since were running SCL line 100kHz (=> 10μs/bit), and each transactions is
-// 9 bits, a single transaction will take around 90μs to complete.
-//
-// (F_CPU/SCL_CLOCK) => # of μC cycles to transfer a bit
-// poll loop takes at least 8 clock cycles to execute
-#define I2C_LOOP_TIMEOUT (9+1)*(F_CPU/SCL_CLOCK)/8
-
-#define BUFFER_POS_INC() (slave_buffer_pos = (slave_buffer_pos+1)%SLAVE_BUFFER_SIZE)
-
-volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-static volatile uint8_t slave_buffer_pos;
-static volatile bool slave_has_register_set = false;
-
-// Wait for an i2c operation to finish
-inline static
-void i2c_delay(void) {
- uint16_t lim = 0;
- while(!(TWCR & (1<10.
- // Check datasheets for more info.
- TWBR = ((F_CPU/SCL_CLOCK)-16)/2;
-}
-
-// Start a transaction with the given i2c slave address. The direction of the
-// transfer is set with I2C_READ and I2C_WRITE.
-// returns: 0 => success
-// 1 => error
-uint8_t i2c_master_start(uint8_t address) {
- TWCR = (1< slave ACK
-// 1 => slave NACK
-uint8_t i2c_master_write(uint8_t data) {
- TWDR = data;
- TWCR = (1<= SLAVE_BUFFER_SIZE ) {
- ack = 0;
- slave_buffer_pos = 0;
- }
- slave_has_register_set = true;
- } else {
- i2c_slave_buffer[slave_buffer_pos] = TWDR;
- BUFFER_POS_INC();
- }
- break;
-
- case TW_ST_SLA_ACK:
- case TW_ST_DATA_ACK:
- // master has addressed this device as a slave transmitter and is
- // requesting data.
- TWDR = i2c_slave_buffer[slave_buffer_pos];
- BUFFER_POS_INC();
- break;
-
- case TW_BUS_ERROR: // something went wrong, reset twi state
- TWCR = 0;
- default:
- break;
- }
- // Reset everything, so we are ready for the next TWI interrupt
- TWCR |= (1<
-
-#ifndef F_CPU
-#define F_CPU 16000000UL
-#endif
-
-#define I2C_READ 1
-#define I2C_WRITE 0
-
-#define I2C_ACK 1
-#define I2C_NACK 0
-
-#define SLAVE_BUFFER_SIZE 0x10
-
-// i2c SCL clock frequency 400kHz
-#define SCL_CLOCK 400000L
-
-extern volatile uint8_t i2c_slave_buffer[SLAVE_BUFFER_SIZE];
-
-void i2c_master_init(void);
-uint8_t i2c_master_start(uint8_t address);
-void i2c_master_stop(void);
-uint8_t i2c_master_write(uint8_t data);
-uint8_t i2c_master_read(int);
-void i2c_reset_state(void);
-void i2c_slave_init(uint8_t address);
-
-
-static inline unsigned char i2c_start_read(unsigned char addr) {
- return i2c_master_start((addr << 1) | I2C_READ);
-}
-
-static inline unsigned char i2c_start_write(unsigned char addr) {
- return i2c_master_start((addr << 1) | I2C_WRITE);
-}
-
-// from SSD1306 scrips
-extern unsigned char i2c_rep_start(unsigned char addr);
-extern void i2c_start_wait(unsigned char addr);
-extern unsigned char i2c_readAck(void);
-extern unsigned char i2c_readNak(void);
-extern unsigned char i2c_read(unsigned char ack);
-
-#define i2c_read(ack) (ack) ? i2c_readAck() : i2c_readNak();
-
-#endif
diff --git a/keyboards/zinc/keymaps/default/config.h b/keyboards/zinc/keymaps/default/config.h
index 4dcb0724ff..2185dc9ebe 100644
--- a/keyboards/zinc/keymaps/default/config.h
+++ b/keyboards/zinc/keymaps/default/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see .
*/
#pragma once
-// if you need more program area, try uncomment follow line
-#include "serial_config_simpleapi.h"
// place overrides here
// Selection of RGBLIGHT MODE to use.
diff --git a/keyboards/zinc/keymaps/default/keymap.c b/keyboards/zinc/keymaps/default/keymap.c
index 0f08d21ee7..cd1bf0328b 100644
--- a/keyboards/zinc/keymaps/default/keymap.c
+++ b/keyboards/zinc/keymaps/default/keymap.c
@@ -139,7 +139,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | MODE | HUE- | SAT- | VAL- | | | | | | | | |
+ * |MODE R| MODE | HUE- | SAT- | VAL- | | | | | | |PageUp| |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | EISU | EISU | EISU | | KANA | KANA | Home |PageDn|PageUp| End |
* `-----------------------------------------' `-----------------------------------------'
@@ -147,13 +147,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \
[_ADJUST] = LAYOUT_ortho_4x12( \
_______, RESET, RGBRST, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS, \
_______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SLCK, KC_PAUS,\
- _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______,\
- _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KC_HOME, KC_PGDN, KC_PGUP, KC_END\
+ RGB_RMOD,RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_PGUP, _______,\
+ _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KANA, KC_HOME, KC_PGDN, KC_END\
)
};
// define variables for reactive RGB
-bool TOG_STATUS = false;
+bool TOG_STATUS = false;
// Setting ADJUST layer RGB back to default
void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
@@ -211,7 +211,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
-
+
case RAISE:
if (record->event.pressed) {
//not sure how to have keyboard check mode and set it to a variable, so my work around
@@ -244,16 +244,28 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
+
//led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
+ case RGB_RMOD:
+ #if defined(RGBLIGHT_ENABLE)
+ if (record->event.pressed) {
+ rgblight_mode_noeeprom(RGB_current_config.mode);
+ rgblight_step_reverse();
+ RGB_current_config.mode = rgblight_config.mode;
+ }
+ return false;
+ #endif
+ break;
+
case RGB_MOD:
- #ifdef RGBLIGHT_ENABLE
+ #if defined(RGBLIGHT_ENABLE)
if (record->event.pressed) {
rgblight_mode_noeeprom(RGB_current_config.mode);
rgblight_step();
RGB_current_config.mode = rgblight_config.mode;
}
- #endif
return false;
+ #endif
break;
case EISU:
diff --git a/keyboards/zinc/keymaps/default/readme_en.md b/keyboards/zinc/keymaps/default/readme_en.md
new file mode 100644
index 0000000000..6447e96ed4
--- /dev/null
+++ b/keyboards/zinc/keymaps/default/readme_en.md
@@ -0,0 +1,131 @@
+# The Default Zinc Layout
+## layout
+
+### Qwerty
+
+```
+ ,-----------------------------------------. ,-----------------------------------------.
+ | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | Esc | Fn | Alt | Win |Lower |Space | | Space| Raise| Left | Down | Up | Right|
+ `------------------------------------------ ------------------------------------------'
+```
+
+### Colemak
+
+```
+ ,-----------------------------------------. ,-----------------------------------------.
+ | Tab | Q | W | F | P | G | | J | L | U | Y | ; | Bksp |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | Ctrl | A | R | S | T | D | | H | N | E | I | O | ' |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | Shift| Z | X | C | V | B | | K | M | , | . | / |Enter |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | Esc |ADJUST| Alt | Win |LOWER |Space | | Space| RAISE| Left | Down | Up | Right|
+ `------------------------------------------ ------------------------------------------'
+```
+
+### Dvorak
+
+```
+ ,-----------------------------------------. ,-----------------------------------------.
+ | Tab | ' | , | . | P | Y | | F | G | C | R | L | Del |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | Ctrl | A | O | E | U | I | | D | H | T | N | S | / |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | Shift| ; | Q | J | K | X | | B | M | W | V | Z |Enter |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | Esc |ADJUST| Alt | Win |LOWER |Space | | Space| RAISE| Left | Down | Up | Right|
+ `-----------------------------------------' `-----------------------------------------'
+```
+
+### Lower
+```
+ ,-----------------------------------------. ,-----------------------------------------.
+ | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | | | | | | | - | _ | + | { | } | | |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | | | | | | | | | | Home | End | |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | | | | | | | | | Next | Vol- | Vol+ | Play |
+ `-----------------------------------------' `-----------------------------------------'
+```
+
+### RAISE
+```
+ ,-----------------------------------------. ,-----------------------------------------.
+ | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | F7 | F8 | F9 | F10 | F11 | | F12 | | | | |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | | | | | | | | | Next | Vol- | Vol+ | Play |
+ `-----------------------------------------' `-----------------------------------------'
+```
+
+### Adjust (Lower + Raise)
+```
+ ,-----------------------------------------. ,-----------------------------------------.
+ | | Reset|RGBRST|Aud on|Audoff| | | |Qwerty|Colemk|Dvorak| | Ins |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ |MODE R|RGBMOD| HUE- | SAT- | VAL- | | | | | | |PageUp| |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | | | EISU | EISU | EISU | | KANA | KANA | KANA | Home |PageDn| End |
+ `-----------------------------------------' `-----------------------------------------'
+```
+
+## Compile
+
+go to qmk top directory.
+
+```
+$ cd qmk_firmware
+```
+make with `zinc:`
+
+```
+$ make zinc:default
+```
+
+To make and flash with `:flash`
+
+```
+$ make zinc:default:flash
+```
+
+
+## Customize
+
+You can customize from the command line.
+
+```
+# Zinc keyboard 'default' keymap: convenient command line option
+make ZINC= zinc:defualt
+# option= back | under | both | cont | na | ios
+# ex.
+# make ZINC=under zinc:defualt
+# make ZINC=under,ios zinc:defualt
+# make ZINC=back zinc:default
+# make ZINC=back,na zinc:default
+# make ZINC=back,ios zinc:default
+```
+
+Or edit `qmk_firmware/keyboards/zinc/rev1/keymaps/~/rules.mk` directly.
+
+```
+# Zinc keyboard customize
+LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight)
+LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight)
+LED_BOTH_ENABLE = no # LED backlight and underglow
+LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc
+LED_ANIMATIONS = yes # LED animations
+IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
+```
diff --git a/keyboards/zinc/keymaps/default/readme_jp.md b/keyboards/zinc/keymaps/default/readme_jp.md
index dfedb37c15..8132f5036e 100644
--- a/keyboards/zinc/keymaps/default/readme_jp.md
+++ b/keyboards/zinc/keymaps/default/readme_jp.md
@@ -43,6 +43,44 @@
`-----------------------------------------' `-----------------------------------------'
```
+ ### Lower
+```
+ ,-----------------------------------------. ,-----------------------------------------.
+ | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | | | | | | | - | _ | + | { | } | | |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | | | | | | | | | | Home | End | |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | | | | | | | | | Next | Vol- | Vol+ | Play |
+ `-----------------------------------------' `-----------------------------------------'
+```
+
+### RAISE
+```
+ ,-----------------------------------------. ,-----------------------------------------.
+ | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | F7 | F8 | F9 | F10 | F11 | | F12 | | | | |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | | | | | | | | | Next | Vol- | Vol+ | Play |
+ `-----------------------------------------' `-----------------------------------------'
+```
+
+### Adjust (Lower + Raise)
+```
+ ,-----------------------------------------. ,-----------------------------------------.
+ | | Reset|RGBRST|Aud on|Audoff| | | |Qwerty|Colemk|Dvorak| | Ins |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ |MODE R|RGBMOD| HUE- | SAT- | VAL- | | | | | | |PageUp| |
+ |------+------+------+------+------+------| |------+------+------+------+------+------|
+ | | | | EISU | EISU | EISU | | KANA | KANA | KANA | Home |PageDn| End |
+ `-----------------------------------------' `-----------------------------------------'
+```
## コンパイルの仕方
@@ -76,7 +114,7 @@ $ make zinc:default:clean
```
# Zinc keyboard 'default' keymap: convenient command line option
make ZINC= zinc:defualt
-# option= back | under | na | ios
+# option= back | under | both | cont | na | ios
# ex.
# make ZINC=under zinc:defualt
# make ZINC=under,ios zinc:defualt
@@ -85,16 +123,16 @@ make ZINC= zinc:defualt
# make ZINC=back,ios zinc:default
```
-あるいは`qmk_firmware/keyboards/zinc/rev1/keymaps/default/rules.mk` の以下の部分を直接編集して機能を有効化してください。
+あるいは`qmk_firmware/keyboards/zinc/rev1/keymaps/~/rules.mk` の以下の部分を直接編集して機能を有効化してください。
```
# Zinc keyboard customize
LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight)
LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight)
+LED_BOTH_ENABLE = no # LED backlight and underglow
+LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc
LED_ANIMATIONS = yes # LED animations
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-
-
```
## RGB backlight を有効にする
@@ -120,4 +158,4 @@ RBG Underglow や RGBバックライトの輝度を抑えて、iPad, iPhone に
```
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-```
\ No newline at end of file
+```
diff --git a/keyboards/zinc/keymaps/default/rules.mk b/keyboards/zinc/keymaps/default/rules.mk
index c980f7d00b..32e0f21610 100644
--- a/keyboards/zinc/keymaps/default/rules.mk
+++ b/keyboards/zinc/keymaps/default/rules.mk
@@ -20,6 +20,9 @@ define ZINC_CUSTOMISE_MSG
$(info Zinc customize)
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
+ $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE))
+ $(info - LED_RGB_CONT=$(LED_RGB_CONT))
+ $(info - RGB_MATRIX=$(RGB_MATRIX))
$(info - LED_ANIMATION=$(LED_ANIMATIONS))
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
endef
@@ -27,6 +30,10 @@ endef
# Zinc keyboard customize
LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight)
LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight)
+LED_BOTH_ENABLE = no # LED backlight and underglow
+LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc
+RGB_MATRIX = no # RGB LED Matrix
+RGB_MATRIX_SPLIT_RIGHT = no # RGB Matrix for RIGHT Hand
LED_ANIMATIONS = yes # LED animations
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
Link_Time_Optimization = no # if firmware size over limit, try this option
@@ -36,7 +43,7 @@ Link_Time_Optimization = no # if firmware size over limit, try this option
### Zinc keyboard 'default' keymap: convenient command line option
## make ZINC= zinc:defualt
-## option= back | under | na | ios
+## option= back | under | both | cont | matrix | na | ios
## ex.
## make ZINC=under zinc:defualt
## make ZINC=under,ios zinc:defualt
@@ -47,9 +54,22 @@ Link_Time_Optimization = no # if firmware size over limit, try this option
ifneq ($(strip $(ZINC)),)
ifeq ($(findstring back,$(ZINC)), back)
LED_BACK_ENABLE = yes
- else ifeq ($(findstring under,$(ZINC)), under)
+ endif
+ ifeq ($(findstring under,$(ZINC)), under)
LED_UNDERGLOW_ENABLE = yes
endif
+ ifeq ($(findstring both,$(ZINC)), both)
+ LED_BOTH_ENABLE = yes
+ endif
+ ifeq ($(findstring cont,$(ZINC)), cont)
+ LED_RGB_CONT = yes
+ endif
+ ifeq ($(findstring matrix,$(ZINC)), matrix)
+ RGB_MATRIX = yes
+ endif
+ ifeq ($(findstring right,$(ZINC)), right)
+ RGB_MATRIX_SPLIT_RIGHT = yes
+ endif
ifeq ($(findstring na,$(ZINC)), na)
LED_ANIMATIONS = no
endif
@@ -62,10 +82,11 @@ endif
ifeq ($(strip $(LED_BACK_ENABLE)), yes)
RGBLIGHT_ENABLE = yes
- OPT_DEFS += -DRGBLED_BACK
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
- $(eval $(call ZINC_CUSTOMISE_MSG))
- $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
+ OPT_DEFS += -DRGBLED_BOTH
+ $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE)
+ else
+ OPT_DEFS += -DRGBLED_BACK
endif
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
RGBLIGHT_ENABLE = yes
@@ -73,18 +94,36 @@ else
RGBLIGHT_ENABLE = no
endif
+ifeq ($(strip $(LED_BOTH_ENABLE)), yes)
+ RGBLIGHT_ENABLE = yes
+ OPT_DEFS += -DRGBLED_BOTH
+endif
+
+ifeq ($(strip $(LED_RGB_CONT)), yes)
+ OPT_DEFS += -DRGBLED_CONT
+endif
+
+ifeq ($(strip $(RGB_MATRIX)), yes)
+ RGBLIGHT_ENABLE = no
+ RGB_MATRIX_ENABLE = WS2812
+endif
+
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
- OPT_DEFS += -DIOS_DEVICE_ENABLE
+ OPT_DEFS += -DIOS_DEVICE_ENABLE
endif
ifeq ($(strip $(LED_ANIMATIONS)), yes)
-# OPT_DEFS += -DRGBLIGHT_ANIMATIONS
- OPT_DEFS += -DLED_ANIMATIONS
+# OPT_DEFS += -DRGBLIGHT_ANIMATIONS
+ OPT_DEFS += -DLED_ANIMATIONS
+
+endif
+ifeq ($(strip $(RGB_MATRIX_SPLIT_RIGHT)), yes)
+ OPT_DEFS += -DRGB_MATRIX_SPLIT_RIGHT
endif
ifeq ($(strip $(Link_Time_Optimization)),yes)
- EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
+ EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
endif
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
diff --git a/keyboards/zinc/keymaps/ginjake/config.h b/keyboards/zinc/keymaps/ginjake/config.h
index 4dcb0724ff..2185dc9ebe 100644
--- a/keyboards/zinc/keymaps/ginjake/config.h
+++ b/keyboards/zinc/keymaps/ginjake/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see .
*/
#pragma once
-// if you need more program area, try uncomment follow line
-#include "serial_config_simpleapi.h"
// place overrides here
// Selection of RGBLIGHT MODE to use.
diff --git a/keyboards/zinc/keymaps/ginjake/rules.mk b/keyboards/zinc/keymaps/ginjake/rules.mk
index 2dcefc0016..2cb59fe8b8 100644
--- a/keyboards/zinc/keymaps/ginjake/rules.mk
+++ b/keyboards/zinc/keymaps/ginjake/rules.mk
@@ -1,12 +1,11 @@
-
# 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
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
@@ -21,6 +20,8 @@ define ZINC_CUSTOMISE_MSG
$(info Zinc customize)
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
+ $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE))
+ $(info - LED_RGB_CONT=$(LED_RGB_CONT))
$(info - LED_ANIMATION=$(LED_ANIMATIONS))
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
endef
@@ -28,6 +29,8 @@ endef
# Zinc keyboard customize
LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight)
LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight)
+LED_BOTH_ENABLE = no # LED backlight and underglow
+LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc
LED_ANIMATIONS = yes # LED animations
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
Link_Time_Optimization = no # if firmware size over limit, try this option
@@ -37,7 +40,7 @@ Link_Time_Optimization = no # if firmware size over limit, try this option
### Zinc keyboard 'default' keymap: convenient command line option
## make ZINC= zinc:defualt
-## option= back | under | na | ios
+## option= back | under | both | cont | na | ios
## ex.
## make ZINC=under zinc:defualt
## make ZINC=under,ios zinc:defualt
@@ -48,9 +51,16 @@ Link_Time_Optimization = no # if firmware size over limit, try this option
ifneq ($(strip $(ZINC)),)
ifeq ($(findstring back,$(ZINC)), back)
LED_BACK_ENABLE = yes
- else ifeq ($(findstring under,$(ZINC)), under)
+ endif
+ ifeq ($(findstring under,$(ZINC)), under)
LED_UNDERGLOW_ENABLE = yes
endif
+ ifeq ($(findstring both,$(ZINC)), both)
+ LED_BOTH_ENABLE = yes
+ endif
+ ifeq ($(findstring cont,$(ZINC)), cont)
+ LED_RGB_CONT = yes
+ endif
ifeq ($(findstring na,$(ZINC)), na)
LED_ANIMATIONS = no
endif
@@ -63,10 +73,11 @@ endif
ifeq ($(strip $(LED_BACK_ENABLE)), yes)
RGBLIGHT_ENABLE = yes
- OPT_DEFS += -DRGBLED_BACK
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
- $(eval $(call ZINC_CUSTOMISE_MSG))
- $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
+ OPT_DEFS += -DRGBLED_BOTH
+ $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE)
+ else
+ OPT_DEFS += -DRGBLED_BACK
endif
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
RGBLIGHT_ENABLE = yes
@@ -74,18 +85,27 @@ else
RGBLIGHT_ENABLE = no
endif
+ifeq ($(strip $(LED_BOTH_ENABLE)), yes)
+ RGBLIGHT_ENABLE = yes
+ OPT_DEFS += -DRGBLED_BOTH
+endif
+
+ifeq ($(strip $(LED_RGB_CONT)), yes)
+ OPT_DEFS += -DRGBLED_CONT
+endif
+
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
- OPT_DEFS += -DIOS_DEVICE_ENABLE
+ OPT_DEFS += -DIOS_DEVICE_ENABLE
endif
ifeq ($(strip $(LED_ANIMATIONS)), yes)
-# OPT_DEFS += -DRGBLIGHT_ANIMATIONS
- OPT_DEFS += -DLED_ANIMATIONS
+# OPT_DEFS += -DRGBLIGHT_ANIMATIONS
+ OPT_DEFS += -DLED_ANIMATIONS
endif
ifeq ($(strip $(Link_Time_Optimization)),yes)
- EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
+ EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
endif
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
diff --git a/keyboards/zinc/keymaps/monks/config.h b/keyboards/zinc/keymaps/monks/config.h
index 4dcb0724ff..2185dc9ebe 100644
--- a/keyboards/zinc/keymaps/monks/config.h
+++ b/keyboards/zinc/keymaps/monks/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see .
*/
#pragma once
-// if you need more program area, try uncomment follow line
-#include "serial_config_simpleapi.h"
// place overrides here
// Selection of RGBLIGHT MODE to use.
diff --git a/keyboards/zinc/keymaps/monks/keymap.c b/keyboards/zinc/keymaps/monks/keymap.c
index 5fd7c6aa85..a30e8ac5fc 100644
--- a/keyboards/zinc/keymaps/monks/keymap.c
+++ b/keyboards/zinc/keymaps/monks/keymap.c
@@ -119,6 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { \
// define variables for reactive RGB
bool TOG_STATUS = false;
+
// Setting ADJUST layer RGB back to default
void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) {
@@ -163,7 +164,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
-
+
case RAISE:
if (record->event.pressed) {
//not sure how to have keyboard check mode and set it to a variable, so my work around
diff --git a/keyboards/zinc/keymaps/monks/readme_jp.md b/keyboards/zinc/keymaps/monks/readme_jp.md
index f1495af4c8..e518eb7696 100644
--- a/keyboards/zinc/keymaps/monks/readme_jp.md
+++ b/keyboards/zinc/keymaps/monks/readme_jp.md
@@ -100,4 +100,4 @@ RBG Underglow や RGBバックライトの輝度を抑えて、iPad, iPhone に
```
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-```
\ No newline at end of file
+```
diff --git a/keyboards/zinc/keymaps/monks/rules.mk b/keyboards/zinc/keymaps/monks/rules.mk
index eeabc004c3..c1b98deada 100644
--- a/keyboards/zinc/keymaps/monks/rules.mk
+++ b/keyboards/zinc/keymaps/monks/rules.mk
@@ -1,12 +1,11 @@
-
# 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
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
@@ -21,6 +20,8 @@ define ZINC_CUSTOMISE_MSG
$(info Zinc customize)
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
+ $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE))
+ $(info - LED_RGB_CONT=$(LED_RGB_CONT))
$(info - LED_ANIMATION=$(LED_ANIMATIONS))
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
endef
@@ -28,6 +29,8 @@ endef
# Zinc keyboard customize
LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight)
LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight)
+LED_BOTH_ENABLE = no # LED backlight and underglow
+LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc
LED_ANIMATIONS = yes # LED animations
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
Link_Time_Optimization = no # if firmware size over limit, try this option
@@ -37,7 +40,7 @@ Link_Time_Optimization = no # if firmware size over limit, try this option
### Zinc keyboard 'default' keymap: convenient command line option
## make ZINC= zinc:defualt
-## option= back | under | na | ios
+## option= back | under | both | cont | na | ios
## ex.
## make ZINC=under zinc:defualt
## make ZINC=under,ios zinc:defualt
@@ -48,9 +51,16 @@ Link_Time_Optimization = no # if firmware size over limit, try this option
ifneq ($(strip $(ZINC)),)
ifeq ($(findstring back,$(ZINC)), back)
LED_BACK_ENABLE = yes
- else ifeq ($(findstring under,$(ZINC)), under)
+ endif
+ ifeq ($(findstring under,$(ZINC)), under)
LED_UNDERGLOW_ENABLE = yes
endif
+ ifeq ($(findstring both,$(ZINC)), both)
+ LED_BOTH_ENABLE = yes
+ endif
+ ifeq ($(findstring cont,$(ZINC)), cont)
+ LED_RGB_CONT = yes
+ endif
ifeq ($(findstring na,$(ZINC)), na)
LED_ANIMATIONS = no
endif
@@ -63,10 +73,11 @@ endif
ifeq ($(strip $(LED_BACK_ENABLE)), yes)
RGBLIGHT_ENABLE = yes
- OPT_DEFS += -DRGBLED_BACK
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
- $(eval $(call ZINC_CUSTOMISE_MSG))
- $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
+ OPT_DEFS += -DRGBLED_BOTH
+ $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE)
+ else
+ OPT_DEFS += -DRGBLED_BACK
endif
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
RGBLIGHT_ENABLE = yes
@@ -74,17 +85,27 @@ else
RGBLIGHT_ENABLE = no
endif
+ifeq ($(strip $(LED_BOTH_ENABLE)), yes)
+ RGBLIGHT_ENABLE = yes
+ OPT_DEFS += -DRGBLED_BOTH
+endif
+
+ifeq ($(strip $(LED_RGB_CONT)), yes)
+ OPT_DEFS += -DRGBLED_CONT
+endif
+
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
- OPT_DEFS += -DIOS_DEVICE_ENABLE
+ OPT_DEFS += -DIOS_DEVICE_ENABLE
endif
ifeq ($(strip $(LED_ANIMATIONS)), yes)
-# OPT_DEFS += -DRGBLIGHT_ANIMATIONS
- OPT_DEFS += -DLED_ANIMATIONS
+# OPT_DEFS += -DRGBLIGHT_ANIMATIONS
+ OPT_DEFS += -DLED_ANIMATIONS
+
endif
ifeq ($(strip $(Link_Time_Optimization)),yes)
- EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
+ EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
endif
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
@@ -94,4 +115,3 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
# $(info -- OPT_DEFS=$(OPT_DEFS))
# $(info )
-
diff --git a/keyboards/zinc/keymaps/toshi0383/config.h b/keyboards/zinc/keymaps/toshi0383/config.h
index 33108a29e6..0d53d44247 100644
--- a/keyboards/zinc/keymaps/toshi0383/config.h
+++ b/keyboards/zinc/keymaps/toshi0383/config.h
@@ -21,8 +21,6 @@ along with this program. If not, see .
*/
#pragma once
-// if you need more program area, try uncomment follow line
-#include "serial_config_simpleapi.h"
// place overrides here
// Selection of RGBLIGHT MODE to use.
diff --git a/keyboards/zinc/keymaps/toshi0383/rules.mk b/keyboards/zinc/keymaps/toshi0383/rules.mk
index dca9aa7ff8..26ac02f3a0 100644
--- a/keyboards/zinc/keymaps/toshi0383/rules.mk
+++ b/keyboards/zinc/keymaps/toshi0383/rules.mk
@@ -1,11 +1,12 @@
# Build Options
-# change yes to no to disable
+# change to "no" to disable the options, or define them in the Makefile in
+# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = no # Mouse keys
+MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
+COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
@@ -19,6 +20,9 @@ define ZINC_CUSTOMISE_MSG
$(info Zinc customize)
$(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
$(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
+ $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE))
+ $(info - LED_RGB_CONT=$(LED_RGB_CONT))
+ $(info - RGB_MATRIX=$(RGB_MATRIX))
$(info - LED_ANIMATION=$(LED_ANIMATIONS))
$(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
endef
@@ -26,6 +30,10 @@ endef
# Zinc keyboard customize
LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight)
LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight)
+LED_BOTH_ENABLE = no # LED backlight and underglow
+LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc
+RGB_MATRIX = no # RGB LED Matrix
+RGB_MATRIX_SPLIT_RIGHT = no # RGB Matrix for RIGHT Hand
LED_ANIMATIONS = yes # LED animations
IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
Link_Time_Optimization = no # if firmware size over limit, try this option
@@ -35,7 +43,7 @@ Link_Time_Optimization = no # if firmware size over limit, try this option
### Zinc keyboard 'default' keymap: convenient command line option
## make ZINC= zinc:defualt
-## option= back | under | na | ios
+## option= back | under | both | cont | matrix | na | ios
## ex.
## make ZINC=under zinc:defualt
## make ZINC=under,ios zinc:defualt
@@ -46,9 +54,22 @@ Link_Time_Optimization = no # if firmware size over limit, try this option
ifneq ($(strip $(ZINC)),)
ifeq ($(findstring back,$(ZINC)), back)
LED_BACK_ENABLE = yes
- else ifeq ($(findstring under,$(ZINC)), under)
+ endif
+ ifeq ($(findstring under,$(ZINC)), under)
LED_UNDERGLOW_ENABLE = yes
endif
+ ifeq ($(findstring both,$(ZINC)), both)
+ LED_BOTH_ENABLE = yes
+ endif
+ ifeq ($(findstring cont,$(ZINC)), cont)
+ LED_RGB_CONT = yes
+ endif
+ ifeq ($(findstring matrix,$(ZINC)), matrix)
+ RGB_MATRIX = yes
+ endif
+ ifeq ($(findstring right,$(ZINC)), right)
+ RGB_MATRIX_SPLIT_RIGHT = yes
+ endif
ifeq ($(findstring na,$(ZINC)), na)
LED_ANIMATIONS = no
endif
@@ -61,10 +82,11 @@ endif
ifeq ($(strip $(LED_BACK_ENABLE)), yes)
RGBLIGHT_ENABLE = yes
- OPT_DEFS += -DRGBLED_BACK
ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
- $(eval $(call ZINC_CUSTOMISE_MSG))
- $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
+ OPT_DEFS += -DRGBLED_BOTH
+ $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE)
+ else
+ OPT_DEFS += -DRGBLED_BACK
endif
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
RGBLIGHT_ENABLE = yes
@@ -72,24 +94,43 @@ else
RGBLIGHT_ENABLE = no
endif
+ifeq ($(strip $(LED_BOTH_ENABLE)), yes)
+ RGBLIGHT_ENABLE = yes
+ OPT_DEFS += -DRGBLED_BOTH
+endif
+
+ifeq ($(strip $(LED_RGB_CONT)), yes)
+ OPT_DEFS += -DRGBLED_CONT
+endif
+
+ifeq ($(strip $(RGB_MATRIX)), yes)
+ RGBLIGHT_ENABLE = no
+ RGB_MATRIX_ENABLE = WS2812
+endif
+
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
- OPT_DEFS += -DIOS_DEVICE_ENABLE
+ OPT_DEFS += -DIOS_DEVICE_ENABLE
endif
ifeq ($(strip $(LED_ANIMATIONS)), yes)
-# OPT_DEFS += -DRGBLIGHT_ANIMATIONS
- OPT_DEFS += -DLED_ANIMATIONS
+# OPT_DEFS += -DRGBLIGHT_ANIMATIONS
+ OPT_DEFS += -DLED_ANIMATIONS
+
+endif
+
+ifeq ($(strip $(RGB_MATRIX_SPLIT_RIGHT)), yes)
+ OPT_DEFS += -DRGB_MATRIX_SPLIT_RIGHT
endif
ifeq ($(strip $(Link_Time_Optimization)),yes)
- EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
+ EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
endif
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
# Uncomment these for debugging
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
# $(info -- OPT_DEFS=$(OPT_DEFS))
# $(info )
-
diff --git a/keyboards/zinc/readme.md b/keyboards/zinc/readme.md
index 3b4ce105c8..0e8d6cd65d 100644
--- a/keyboards/zinc/readme.md
+++ b/keyboards/zinc/readme.md
@@ -5,9 +5,9 @@ Zinc
40% row-staggered split keyboard.
-Keyboard Maintainer: [monksoffunk](https://github.com/monksoffunk/) [@monksoffunkJP](https://twitter.com/monksoffunkJP)
-Hardware Supported: Zinc PCB
-Hardware Availability: (https://twitter.com/monksoffunkJP)
+* Keyboard Maintainer: [monksoffunk](https://github.com/monksoffunk/) [@monksoffunkJP](https://twitter.com/monksoffunkJP)
+* Hardware Supported: Zinc PCB
+* Hardware Availability: (https://twitter.com/monksoffunkJP)
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/zinc/rev1/config.h b/keyboards/zinc/rev1/config.h
index 6713b3098a..1eb63df5bc 100644
--- a/keyboards/zinc/rev1/config.h
+++ b/keyboards/zinc/rev1/config.h
@@ -18,9 +18,6 @@ along with this program. If not, see .
#pragma once
-//#ifndef REV1_CONFIG_H
-//#define REV1_CONFIG_H
-
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x9991
@@ -33,9 +30,8 @@ along with this program. If not, see .
#define TAPPING_TERM 100
/* Use I2C or Serial */
-//#define USE_I2C
#define USE_SERIAL
-//#define USE_MATRIX_I2C
+#define SOFT_SERIAL_PIN D2
/* Select hand configuration */
#define MASTER_LEFT
@@ -44,18 +40,14 @@ along with this program. If not, see .
/* key matrix size */
// Rows are doubled-up
- #define MATRIX_ROWS 8
- #define MATRIX_ROW_PINS { F6, F7, B1, B3 }
+#define MATRIX_ROWS 8
+#define MATRIX_ROW_PINS { F6, F7, B1, B3 }
// wiring of each half
#define MATRIX_COLS 6
#define MATRIX_COL_PINS { F4, D4, C6, D7, E6, B4 }
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-// #define BACKLIGHT_LEVELS 3
+#define DIODE_DIRECTION COL2ROW
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
@@ -67,25 +59,44 @@ along with this program. If not, see .
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
-#define RGBLIGHT_TIMER
-//#define RGBLED_NUM 12 // Number of LEDs. see ./keymaps/default/config.h
-#define ws2812_PORTREG PORTD
-#define ws2812_DDRREG DDRD
// RGB LED support
//#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
-#ifdef RGBLED_BACK
- #define RGBLED_NUM 24
-#else
- #define RGBLED_NUM 6
+#ifdef RGBLIGHT_ENABLE
+ #define RGBLIGHT_SPLIT
+ #ifdef RGBLED_BACK
+ #ifdef RGBLED_CONT
+ #define RGBLED_NUM 48
+ #define RGBLED_SPLIT { 24, 24 }
+ #else
+ #define RGBLED_NUM 24
+ #endif
+ #else
+ #ifdef RGBLED_BOTH
+ #ifdef RGBLED_CONT
+ #define RGBLED_NUM 60
+ #define RGBLED_SPLIT { 30, 30 }
+// #define RGBLIGHT_LED_MAP {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29}
+ #else
+ #define RGBLED_NUM 30
+ #endif
+ #else
+ #ifdef RGBLED_CONT
+ #define RGBLED_NUM 12
+ #define RGBLED_SPLIT { 6, 6 }
+ #else
+ #define RGBLED_NUM 6
+ #endif
+ #endif
+ #endif
#endif
#ifndef IOS_DEVICE_ENABLE
- #if RGBLED_NUM <= 6
+ #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12))
#define RGBLIGHT_LIMIT_VAL 255
#else
- #if RGBLED_NUM <= 16
+ #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32))
#define RGBLIGHT_LIMIT_VAL 130
#else
#define RGBLIGHT_LIMIT_VAL 120
@@ -93,10 +104,10 @@ along with this program. If not, see .
#endif
#define RGBLIGHT_VAL_STEP 17
#else
- #if RGBLED_NUM <= 6
+ #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12))
#define RGBLIGHT_LIMIT_VAL 90
#else
- #if RGBLED_NUM <= 16
+ #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32))
#define RGBLIGHT_LIMIT_VAL 45
#else
#define RGBLIGHT_LIMIT_VAL 35
@@ -136,5 +147,3 @@ along with this program. If not, see .
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
-
-//#endif
diff --git a/keyboards/zinc/rev1/matrix.c b/keyboards/zinc/rev1/matrix.c
deleted file mode 100644
index df674ce143..0000000000
--- a/keyboards/zinc/rev1/matrix.c
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
-Copyright 2012 Jun Wako
-
-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 .
-*/
-
-/*
- * scan matrix
- */
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "split_util.h"
-#include "quantum.h"
-
-#ifdef USE_MATRIX_I2C
-# include "i2c.h"
-#else // USE_SERIAL
-# include "split_scomm.h"
-#endif
-
-#ifndef DEBOUNCE
-# define DEBOUNCE 5
-#endif
-
-#define ERROR_DISCONNECT_COUNT 5
-
-static uint8_t debouncing = DEBOUNCE;
-static const int ROWS_PER_HAND = MATRIX_ROWS/2;
-static uint8_t error_count = 0;
-uint8_t is_master = 0 ;
-
-static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
-static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
-
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-static matrix_row_t matrix_debouncing[MATRIX_ROWS];
-
-static matrix_row_t read_cols(void);
-static void init_cols(void);
-static void unselect_rows(void);
-static void select_row(uint8_t row);
-static uint8_t matrix_master_scan(void);
-
-
-__attribute__ ((weak))
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
-}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-}
-
-inline
-uint8_t matrix_rows(void)
-{
- return MATRIX_ROWS;
-}
-
-inline
-uint8_t matrix_cols(void)
-{
- return MATRIX_COLS;
-}
-
-void matrix_init(void)
-{
- debug_enable = true;
- debug_matrix = true;
- debug_mouse = true;
- // initialize row and col
- unselect_rows();
- init_cols();
-
- setPinOutput(B0);
- setPinOutput(D5);
- writePinHigh(D5);
- writePinHigh(B0);
-
- // initialize matrix state: all keys off
- for (uint8_t i=0; i < MATRIX_ROWS; i++) {
- matrix[i] = 0;
- matrix_debouncing[i] = 0;
- }
-
- is_master = has_usb();
-
- matrix_init_quantum();
-}
-
-uint8_t _matrix_scan(void)
-{
- // Right hand is stored after the left in the matirx so, we need to offset it
- int offset = isLeftHand ? 0 : (ROWS_PER_HAND);
-
- for (uint8_t i = 0; i < ROWS_PER_HAND; i++) {
- select_row(i);
- _delay_us(30); // without this wait read unstable value.
- matrix_row_t cols = read_cols();
- if (matrix_debouncing[i+offset] != cols) {
- matrix_debouncing[i+offset] = cols;
- debouncing = DEBOUNCE;
- }
- unselect_rows();
- }
-
- if (debouncing) {
- if (--debouncing) {
- _delay_ms(1);
- } else {
- for (uint8_t i = 0; i < ROWS_PER_HAND; i++) {
- matrix[i+offset] = matrix_debouncing[i+offset];
- }
- }
- }
-
- return 1;
-}
-
-#ifdef USE_MATRIX_I2C
-
-// Get rows from other half over i2c
-int i2c_transaction(void) {
- int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
-
- int err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_WRITE);
- if (err) goto i2c_error;
-
- // start of matrix stored at 0x00
- err = i2c_master_write(0x00);
- if (err) goto i2c_error;
-
- // Start read
- err = i2c_master_start(SLAVE_I2C_ADDRESS + I2C_READ);
- if (err) goto i2c_error;
-
- if (!err) {
- int i;
- for (i = 0; i < ROWS_PER_HAND-1; ++i) {
- matrix[slaveOffset+i] = i2c_master_read(I2C_ACK);
- }
- matrix[slaveOffset+i] = i2c_master_read(I2C_NACK);
- i2c_master_stop();
- } else {
-i2c_error: // the cable is disconnceted, or something else went wrong
- i2c_reset_state();
- return err;
- }
-
- return 0;
-}
-
-#else // USE_SERIAL
-
-int serial_transaction(int master_changed) {
- int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
-#ifdef SERIAL_USE_MULTI_TRANSACTION
- int ret=serial_update_buffers(master_changed);
-#else
- int ret=serial_update_buffers();
-#endif
- if (ret ) {
- if(ret==2) writePinLow(B0);
- return 1;
- }
- writePinHigh(B0);
- memcpy(&matrix[slaveOffset],
- (void *)serial_slave_buffer, sizeof(serial_slave_buffer));
- return 0;
-}
-#endif
-
-uint8_t matrix_scan(void)
-{
- if (is_master) {
- matrix_master_scan();
- }else{
- matrix_slave_scan();
- int offset = (isLeftHand) ? ROWS_PER_HAND : 0;
- memcpy(&matrix[offset],
- (void *)serial_master_buffer, sizeof(serial_master_buffer));
- matrix_scan_quantum();
- }
- return 1;
-}
-
-
-uint8_t matrix_master_scan(void) {
-
- int ret = _matrix_scan();
- int mchanged = 1;
- int offset = (isLeftHand) ? 0 : ROWS_PER_HAND;
-
-#ifdef USE_MATRIX_I2C
-// for (int i = 0; i < ROWS_PER_HAND; ++i) {
- /* i2c_slave_buffer[i] = matrix[offset+i]; */
-// i2c_slave_buffer[i] = matrix[offset+i];
-// }
-#else // USE_SERIAL
- #ifdef SERIAL_USE_MULTI_TRANSACTION
- mchanged = memcmp((void *)serial_master_buffer,
- &matrix[offset], sizeof(serial_master_buffer));
- #endif
- memcpy((void *)serial_master_buffer,
- &matrix[offset], sizeof(serial_master_buffer));
-#endif
-
-#ifdef USE_MATRIX_I2C
- if( i2c_transaction() ) {
-#else // USE_SERIAL
- if( serial_transaction(mchanged) ) {
-#endif
- // turn on the indicator led when halves are disconnected
- writePinLow(D5);
-
- error_count++;
-
- if (error_count > ERROR_DISCONNECT_COUNT) {
- // reset other half if disconnected
- int slaveOffset = (isLeftHand) ? (ROWS_PER_HAND) : 0;
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- matrix[slaveOffset+i] = 0;
- }
- }
- } else {
- // turn off the indicator led on no error
- writePinHigh(D5);
- error_count = 0;
- }
- matrix_scan_quantum();
- return ret;
-}
-
-void matrix_slave_scan(void) {
- _matrix_scan();
-
- int offset = (isLeftHand) ? 0 : ROWS_PER_HAND;
-
-#ifdef USE_MATRIX_I2C
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- /* i2c_slave_buffer[i] = matrix[offset+i]; */
- i2c_slave_buffer[i] = matrix[offset+i];
- }
-#else // USE_SERIAL
- #ifdef SERIAL_USE_MULTI_TRANSACTION
- int change = 0;
- #endif
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- #ifdef SERIAL_USE_MULTI_TRANSACTION
- if( serial_slave_buffer[i] != matrix[offset+i] )
- change = 1;
- #endif
- serial_slave_buffer[i] = matrix[offset+i];
- }
- #ifdef SERIAL_USE_MULTI_TRANSACTION
- slave_buffer_change_count += change;
- #endif
-#endif
-}
-
-bool matrix_is_modified(void)
-{
- if (debouncing) return false;
- return true;
-}
-
-inline
-bool matrix_is_on(uint8_t row, uint8_t col)
-{
- return (matrix[row] & ((matrix_row_t)1<> 4) + 1) &= ~_BV(col_pins[x] & 0xF);
- _SFR_IO8((col_pins[x] >> 4) + 2) |= _BV(col_pins[x] & 0xF);
- }
-}
-
-static matrix_row_t read_cols(void)
-{
- matrix_row_t result = 0;
- for(int x = 0; x < MATRIX_COLS; x++) {
- result |= (_SFR_IO8(col_pins[x] >> 4) & _BV(col_pins[x] & 0xF)) ? 0 : (1 << x);
- }
- return result;
-}
-
-static void unselect_rows(void)
-{
- for(int x = 0; x < ROWS_PER_HAND; x++) {
- _SFR_IO8((row_pins[x] >> 4) + 1) &= ~_BV(row_pins[x] & 0xF);
- _SFR_IO8((row_pins[x] >> 4) + 2) |= _BV(row_pins[x] & 0xF);
- }
-}
-
-static void select_row(uint8_t row)
-{
- _SFR_IO8((row_pins[row] >> 4) + 1) |= _BV(row_pins[row] & 0xF);
- _SFR_IO8((row_pins[row] >> 4) + 2) &= ~_BV(row_pins[row] & 0xF);
-}
diff --git a/keyboards/zinc/rev1/rev1.c b/keyboards/zinc/rev1/rev1.c
index 2ce08a07c4..a9c2cfdbac 100644
--- a/keyboards/zinc/rev1/rev1.c
+++ b/keyboards/zinc/rev1/rev1.c
@@ -3,4 +3,3 @@
void matrix_init_kb(void) {
matrix_init_user();
};
-
diff --git a/keyboards/zinc/rev1/rev1.h b/keyboards/zinc/rev1/rev1.h
index aa1c408b0b..1bf2c565ae 100644
--- a/keyboards/zinc/rev1/rev1.h
+++ b/keyboards/zinc/rev1/rev1.h
@@ -1,22 +1,7 @@
#pragma once
-#include "../zinc.h"
-
#include "quantum.h"
-#ifdef RGBLIGHT_ENABLE
-//rgb led driver
-#include "ws2812.h"
-#endif
-
-#ifdef USE_I2C
-#include
-#ifdef __AVR__
- #include
- #include
-#endif
-#endif
-
// Standard Keymap
// (TRRS jack on both halves are to the left side)
#define LAYOUT( \
diff --git a/keyboards/zinc/rev1/rules.mk b/keyboards/zinc/rev1/rules.mk
index e78b9258d7..d38a618090 100644
--- a/keyboards/zinc/rev1/rules.mk
+++ b/keyboards/zinc/rev1/rules.mk
@@ -1,4 +1 @@
-SRC += rev1/matrix.c
-SRC += rev1/split_util.c
-SRC += rev1/split_scomm.c
-SRC += ws2812.c
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/zinc/rev1/serial_config.h b/keyboards/zinc/rev1/serial_config.h
deleted file mode 100644
index 9fb5dfc671..0000000000
--- a/keyboards/zinc/rev1/serial_config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef SOFT_SERIAL_CONFIG_H
-#define SOFT_SERIAL_CONFIG_H
-
-#ifndef SOFT_SERIAL_PIN
-/* Soft Serial defines */
-#define SOFT_SERIAL_PIN D2
-// OPTIONAL: #define SELECT_SOFT_SERIAL_SPEED ? // ? = 1,2,3,4,5
-// // 1: about 137kbps (default)
-// // 2: about 75kbps
-// // 3: about 39kbps
-// // 4: about 26kbps
-// // 5: about 20kbps
-#endif
-
-//// USE flexible API (using multi-type transaction function)
-#define SERIAL_USE_MULTI_TRANSACTION
-
-#endif /* SOFT_SERIAL_CONFIG_H */
diff --git a/keyboards/zinc/rev1/serial_config_simpleapi.h b/keyboards/zinc/rev1/serial_config_simpleapi.h
deleted file mode 100644
index e2d22a41e7..0000000000
--- a/keyboards/zinc/rev1/serial_config_simpleapi.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef SERIAL_CONFIG_SIMPLEAPI_H
-#define SERIAL_CONFIG_SIMPLEAPI_H
-
-#undef SERIAL_USE_MULTI_TRANSACTION
-#define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
-#define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
-
-#endif // SERIAL_CONFIG_SIMPLEAPI_H
diff --git a/keyboards/zinc/rev1/split_scomm.c b/keyboards/zinc/rev1/split_scomm.c
deleted file mode 100644
index 50d233ce9a..0000000000
--- a/keyboards/zinc/rev1/split_scomm.c
+++ /dev/null
@@ -1,95 +0,0 @@
-#ifdef USE_SERIAL
-#ifdef SERIAL_USE_MULTI_TRANSACTION
-/* --- USE flexible API (using multi-type transaction function) --- */
-
-