summaryrefslogtreecommitdiff
path: root/keyboards/doppelganger
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/doppelganger')
-rw-r--r--keyboards/doppelganger/config.h8
-rw-r--r--keyboards/doppelganger/doppelganger.c36
-rw-r--r--keyboards/doppelganger/info.json6
3 files changed, 27 insertions, 23 deletions
diff --git a/keyboards/doppelganger/config.h b/keyboards/doppelganger/config.h
index 39e29e7c15..5570cdf9bb 100644
--- a/keyboards/doppelganger/config.h
+++ b/keyboards/doppelganger/config.h
@@ -19,13 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x8968
-#define PRODUCT_ID 0x4447
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Yiancar-Designs
-#define PRODUCT Doppelganger
-
/* key matrix size */
#define MATRIX_ROWS 10
#define MATRIX_COLS 9
@@ -44,7 +37,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { E6, F1, C7, F7, F6 }
#define MATRIX_COL_PINS { F4, F0, B7, B3, B2, B1, D5, D3, D2 }
-#define UNUSED_PINS
#define MATRIX_ROW_PINS_RIGHT { D7, D6, D4, E6, B5 }
#define MATRIX_COL_PINS_RIGHT { F1, F0, F4, F5, F6, F7, C7, C6, B6 }
diff --git a/keyboards/doppelganger/doppelganger.c b/keyboards/doppelganger/doppelganger.c
index 04d19480da..304d764028 100644
--- a/keyboards/doppelganger/doppelganger.c
+++ b/keyboards/doppelganger/doppelganger.c
@@ -15,25 +15,31 @@
*/
#include "doppelganger.h"
-void keyboard_pre_init_kb (void) {
- setPinOutput(C6);
- setPinOutput(B0);
+void keyboard_pre_init_kb(void) {
+ setPinOutput(C6);
+ setPinOutput(B0);
}
bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- // writePin sets the pin high for 1 and low for 0.
- // In this example the pins are inverted, setting
- // it low/0 turns it on, and high/1 turns the LED off.
- // This behavior depends on whether the LED is between the pin
- // and VCC or the pin and GND.
- writePin(C6, !led_state.caps_lock);
- }
- return res;
+ bool res = led_update_user(led_state);
+ if (res) {
+ // writePin sets the pin high for 1 and low for 0.
+ // In this example the pins are inverted, setting
+ // it low/0 turns it on, and high/1 turns the LED off.
+ // This behavior depends on whether the LED is between the pin
+ // and VCC or the pin and GND.
+ writePin(C6, !led_state.caps_lock);
+ }
+ return res;
}
__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
- writePin(B0, !(state & (1UL << 1)));
- return state;
+ writePin(B0, !(state & (1UL << 1)));
+ return state;
+}
+
+// Override core logic as we reuse SPLIT_HAND_PIN within matrix pins
+bool is_keyboard_left(void) {
+ setPinInput(SPLIT_HAND_PIN);
+ return readPin(SPLIT_HAND_PIN);
}
diff --git a/keyboards/doppelganger/info.json b/keyboards/doppelganger/info.json
index 7200fab68f..e1edf3d77d 100644
--- a/keyboards/doppelganger/info.json
+++ b/keyboards/doppelganger/info.json
@@ -1,7 +1,13 @@
{
"keyboard_name": "Doppelganger",
+ "manufacturer": "Yiancar-Designs",
"url": "",
"maintainer": "yiancar",
+ "usb": {
+ "vid": "0x8968",
+ "pid": "0x4447",
+ "device_version": "0.0.1"
+ },
"layouts": {
"LAYOUT": {
"layout": [{"label":"F1", "x":1, "y":0}, {"label":"Esc", "x":2.5, "y":0}, {"label":"1", "x":3.5, "y":0}, {"label":"2", "x":4.5, "y":0}, {"label":"3", "x":5.5, "y":0}, {"label":"4", "x":6.5, "y":0}, {"label":"5", "x":7.5, "y":0}, {"label":"6", "x":8.5, "y":0}, {"label":"7", "x":10.5, "y":0}, {"label":"8", "x":11.5, "y":0}, {"label":"9", "x":12.5, "y":0}, {"label":"0", "x":13.5, "y":0}, {"label":"_", "x":14.5, "y":0}, {"label":"+", "x":15.5, "y":0}, {"x":16.5, "y":0}, {"x":17.5, "y":0}, {"label":"F2", "x":0, "y":1}, {"label":"F3", "x":1, "y":1}, {"label":"Tab", "x":2.5, "y":1, "w":1.5}, {"label":"Q", "x":4, "y":1}, {"label":"W", "x":5, "y":1}, {"label":"E", "x":6, "y":1}, {"label":"R", "x":7, "y":1}, {"label":"T", "x":8, "y":1}, {"label":"Y", "x":10, "y":1}, {"label":"U", "x":11, "y":1}, {"label":"I", "x":12, "y":1}, {"label":"O", "x":13, "y":1}, {"label":"P", "x":14, "y":1}, {"label":"{", "x":15, "y":1}, {"label":"}", "x":16, "y":1}, {"label":"|", "x":17, "y":1, "w":1.5}, {"label":"Pg Up", "x":19, "y":1}, {"label":"F4", "x":0, "y":2}, {"label":"F5", "x":1, "y":2}, {"label":"Caps Lock", "x":2.5, "y":2, "w":1.75}, {"label":"A", "x":4.25, "y":2}, {"label":"S", "x":5.25, "y":2}, {"label":"D", "x":6.25, "y":2}, {"label":"F", "x":7.25, "y":2}, {"label":"G", "x":8.25, "y":2}, {"label":"H", "x":10.25, "y":2}, {"label":"J", "x":11.25, "y":2}, {"label":"K", "x":12.25, "y":2}, {"label":"L", "x":13.25, "y":2}, {"label":":", "x":14.25, "y":2}, {"label":"\"", "x":15.25, "y":2}, {"label":"~", "x":16.25, "y":2}, {"label":"Enter", "x":17.25, "y":2, "w":1.25}, {"label":"Pg Dn", "x":19, "y":2}, {"label":"F6", "x":0, "y":3}, {"label":"F7", "x":1, "y":3}, {"label":"Shift", "x":2.5, "y":3, "w":1.25}, {"label":"|", "x":3.75, "y":3}, {"label":"Z", "x":4.75, "y":3}, {"label":"X", "x":5.75, "y":3}, {"label":"C", "x":6.75, "y":3}, {"label":"V", "x":7.75, "y":3}, {"label":"B", "x":8.75, "y":3}, {"label":"N", "x":10.75, "y":3}, {"label":"M", "x":11.75, "y":3}, {"label":"<", "x":12.75, "y":3}, {"label":">", "x":13.75, "y":3}, {"label":"?", "x":14.75, "y":3}, {"label":"Shift", "x":15.75, "y":3, "w":1.75}, {"label":"Up", "x":17.75, "y":3.25}, {"label":"Fn", "x":19, "y":3}, {"label":"F8", "x":0, "y":4}, {"label":"F9", "x":1, "y":4}, {"label":"Ctrl", "x":2.5, "y":4, "w":1.25}, {"label":"Win", "x":3.75, "y":4}, {"label":"Alt", "x":4.75, "y":4, "w":1.25}, {"x":6, "y":4, "w":2.25}, {"x":8.25, "y":4}, {"x":10.25, "y":4, "w":2.75}, {"label":"Alt", "x":13, "y":4, "w":1.25}, {"x":14.25, "y":4}, {"label":"Win", "x":15.25, "y":4, "w":1.25}, {"label":"Left", "x":16.75, "y":4.25}, {"label":"Down", "x":17.75, "y":4.25}, {"label":"Right", "x":18.75, "y":4.25}]