]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboard/gh60/config.h
Makefile redo & other features (#395)
[qmk_firmware.git] / keyboard / gh60 / config.h
index e9c0f4366dc71077edc004786df13e64f1eca253..4813c4e786ff43012daeffb825534462998f25fc 100644 (file)
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-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/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xFEED
-#define PRODUCT_ID      0x6060
-#define DEVICE_VER      0x0001
-#define MANUFACTURER    geekhack
-#define PRODUCT         GH60
-#define DESCRIPTION     t.m.k. keyboard firmware for GH60
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 14
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-/* 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
-
-/* key combination for command */
-#define IS_COMMAND() ( \
-    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
+/*\r
+Copyright 2012 Jun Wako <wakojun@gmail.com>\r
+\r
+This program is free software: you can redistribute it and/or modify\r
+it under the terms of the GNU General Public License as published by\r
+the Free Software Foundation, either version 2 of the License, or\r
+(at your option) any later version.\r
+\r
+This program is distributed in the hope that it will be useful,\r
+but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+GNU General Public License for more details.\r
+\r
+You should have received a copy of the GNU General Public License\r
+along with this program. If not, see <http://www.gnu.org/licenses/>.\r
+*/\r
+\r
+#ifndef CONFIG_H\r
+#define CONFIG_H\r
+\r
+#include "config_common.h"\r
+\r
+/* USB Device descriptor parameter */\r
+#define VENDOR_ID    0xFEED\r
+#define PRODUCT_ID   0x6060\r
+#define DEVICE_VER   0x0001\r
+#define MANUFACTURER    geekhack\r
+#define PRODUCT         GH60\r
+#define DESCRIPTION     t.m.k. keyboard firmware for GH60\r
+\r
+/* key matrix size */\r
+#define MATRIX_ROWS 5\r
+#define MATRIX_COLS 14\r
+\r
+/*\r
+ * Keyboard Matrix Assignments\r
+ *\r
+ * Change this to how you wired your keyboard\r
+ * COLS: AVR pins used for columns, left to right\r
+ * ROWS: AVR pins used for rows, top to bottom\r
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)\r
+ *         ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)\r
+ *\r
+*/\r
+ #define MATRIX_ROW_PINS { D0, D1, D2, D3, D5 }\r
+// Rev A\r
+// #define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B0, B5, B4, D7, D6, B3 }\r
+// Rev B/C\r
+   #define MATRIX_COL_PINS { F0, F1, E6, C7, C6, B6, D4, B1, B7, B5, B4, D7, D6, B3 }\r
+#define UNUSED_PINS\r
+\r
+/* COL2ROW or ROW2COL */\r
+#define DIODE_DIRECTION COL2ROW\r
+\r
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */\r
+#define DEBOUNCING_DELAY 5\r
+\r
+/* define if matrix has ghost (lacks anti-ghosting diodes) */\r
+//#define MATRIX_HAS_GHOST\r
+\r
+/* number of backlight levels */\r
+#define BACKLIGHT_LEVELS 3\r
+\r
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */\r
+#define LOCKING_SUPPORT_ENABLE\r
+/* Locking resynchronize hack */\r
+#define LOCKING_RESYNC_ENABLE\r
+\r
+/*\r
+ * Force NKRO\r
+ *\r
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved\r
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the\r
+ * makefile for this to work.)\r
+ *\r
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)\r
+ * until the next keyboard reset.\r
+ *\r
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is\r
+ * fully operational during normal computer usage.\r
+ *\r
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)\r
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by\r
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a\r
+ * power-up.\r
+ *\r
+ */\r
+//#define FORCE_NKRO\r
+\r
+/*\r
+ * Magic Key Options\r
+ *\r
+ * Magic keys are hotkey commands that allow control over firmware functions of\r
+ * the keyboard. They are best used in combination with the HID Listen program,\r
+ * found here: https://www.pjrc.com/teensy/hid_listen.html\r
+ *\r
+ * The options below allow the magic key functionality to be changed. This is\r
+ * useful if your keyboard/keypad is missing keys and you want magic key support.\r
+ *\r
+ */\r
+\r
+/* key combination for magic key command */\r
+#define IS_COMMAND() ( \\r
+  keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \\r
+)\r
+\r
+/* control how magic key switches layers */\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false\r
+\r
+/* override magic key keymap */\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS\r
+//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM\r
+//#define MAGIC_KEY_HELP1     H\r
+//#define MAGIC_KEY_HELP2     SLASH\r
+//#define MAGIC_KEY_DEBUG     D\r
+//#define MAGIC_KEY_DEBUG_MATRIX  X\r
+//#define MAGIC_KEY_DEBUG_KBD   K\r
+//#define MAGIC_KEY_DEBUG_MOUSE  M\r
+//#define MAGIC_KEY_VERSION    V\r
+//#define MAGIC_KEY_STATUS     S\r
+//#define MAGIC_KEY_CONSOLE    C\r
+//#define MAGIC_KEY_LAYER0_ALT1  ESC\r
+//#define MAGIC_KEY_LAYER0_ALT2  GRAVE\r
+//#define MAGIC_KEY_LAYER0     0\r
+//#define MAGIC_KEY_LAYER1     1\r
+//#define MAGIC_KEY_LAYER2     2\r
+//#define MAGIC_KEY_LAYER3     3\r
+//#define MAGIC_KEY_LAYER4     4\r
+//#define MAGIC_KEY_LAYER5     5\r
+//#define MAGIC_KEY_LAYER6     6\r
+//#define MAGIC_KEY_LAYER7     7\r
+//#define MAGIC_KEY_LAYER8     8\r
+//#define MAGIC_KEY_LAYER9     9\r
+//#define MAGIC_KEY_BOOTLOADER   PAUSE\r
+//#define MAGIC_KEY_LOCK      CAPS\r
+//#define MAGIC_KEY_EEPROM     E\r
+//#define MAGIC_KEY_NKRO      N\r
+//#define MAGIC_KEY_SLEEP_LED   Z\r
+\r
+/*\r
+ * Feature disable options\r
+ * These options are also useful to firmware size reduction.\r
+ */\r
+\r
+/* disable debug print */\r
+//#define NO_DEBUG\r
+\r
+/* disable print */\r
+//#define NO_PRINT\r
+\r
+/* disable action features */\r
+//#define NO_ACTION_LAYER\r
+//#define NO_ACTION_TAPPING\r
+//#define NO_ACTION_ONESHOT\r
+//#define NO_ACTION_MACRO\r
+//#define NO_ACTION_FUNCTION\r
+\r
+#endif\r