From 1c75385d7663388e930933884b8a5de77e98692e Mon Sep 17 00:00:00 2001 From: henrikosorensen Date: Sat, 22 Jun 2019 17:36:05 +0200 Subject: [Keyboard] Add new keyboard: Omnikeyish - A replacement PCB for the Northgate Omnikey family (#6167) * Add omnikeyish keyboard support. * remove out of date comment * PCB Rev 1.1 moved Row5's pin to E6, because the teensy++ hangs an onboard LED off D6. * Move string.h include to .c file * Add pcb kicad link. * Add info.json * Move macro programming to numlock's keyposition, the most useless key on the post model M layout. Force numlock enabled on host at init time, so you're not stuck without a numpad (hopefully) * Make the macro blink function toggle LEDs from their previous state. * Use incorrect but code style compliant opening curly bracing style. * Make PCB rev 1.1 the default Omnikeyish config, as the author has the only rev 1.0 boards that'll ever be. * Fix silly spelling error in 3 defines * First set of review changes. * Layout macro and keymap defined using it. * Layout macros for the northgate factory plates. * minor rearrangements * ALL the layouts. * Forgot ultra-t in info.json --- keyboards/omnikeyish/config.h | 63 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 keyboards/omnikeyish/config.h (limited to 'keyboards/omnikeyish/config.h') diff --git a/keyboards/omnikeyish/config.h b/keyboards/omnikeyish/config.h new file mode 100644 index 0000000000..d510c64c9b --- /dev/null +++ b/keyboards/omnikeyish/config.h @@ -0,0 +1,63 @@ +#pragma once + +#include "config_common.h" + +#define KEYBOARD_PCB_REV 11 + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x0666 +#define DEVICE_VER 0x1337 +#define MANUFACTURER Henrik O. Sørensen +#define PRODUCT Omnikey(-ish) Keyboard +#define DESCRIPTION Replacement PCB for Omnikey keyboards + +/* key matrix size */ +#define MATRIX_ROWS 6 +#define MATRIX_COLS 23 + +/* key matrix pins */ +#if KEYBOARD_PCB_REV == 10 +#define MATRIX_ROW_PINS { D2, D3, D4, D5, D6, D7 } +#else +#define MATRIX_ROW_PINS { D2, D3, D4, D5, E6, D7 } +#endif +#define MATRIX_COL_PINS { F0, F1, F2, F3, F4, F5, F6, F7, C7, C6, C5, C4, C3, C2, C1, C0, B0, B1, B2, B3, B4, B5, B6 } + +#define NUMLOCKLEDPIN E0 +#define CAPSLOCKLEDPIN E1 +#define SCROLLLOCKLEDPIN B7 + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION ROW2COL + +/* number of backlight levels */ +#ifdef BACKLIGHT_PIN +#define BACKLIGHT_LEVELS 0 +#endif + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* force n-key rollover*/ +#define FORCE_NKRO + +#ifdef RGB_DI_PIN +#define RGBLIGHT_ANIMATIONS +#define RGBLED_NUM 0 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 +#endif + +#define DYNAMIC_MACRO_COUNT 12 +#define DYNAMIC_MACRO_SIZE 48 +#define DYNAMIC_MACRO_EEPROM_STORAGE +#define DYNAMIC_MACRO_EEPROM_MAGIC_ADDR (uint16_t*)32 +#define DYNAMIC_MACRO_EEPROM_BLOCK0_ADDR (uint8_t*)34 -- cgit v1.2.3