diff options
| -rw-r--r-- | keyboards/dk60/Makefile | 3 | ||||
| -rw-r--r-- | keyboards/dk60/config.h | 55 | ||||
| -rw-r--r-- | keyboards/dk60/dk60.c | 34 | ||||
| -rw-r--r-- | keyboards/dk60/dk60.h | 41 | ||||
| -rw-r--r-- | keyboards/dk60/keymaps/default/keymap.c | 80 | ||||
| -rw-r--r-- | keyboards/dk60/readme.md | 8 | ||||
| -rw-r--r-- | keyboards/dk60/rules.mk | 21 | ||||
| -rw-r--r-- | keyboards/planck/keymaps/dshields/Makefile | 1 | ||||
| -rw-r--r-- | keyboards/planck/keymaps/dshields/config.h | 17 | 
9 files changed, 252 insertions, 8 deletions
| diff --git a/keyboards/dk60/Makefile b/keyboards/dk60/Makefile new file mode 100644 index 0000000000..4e2a6f00fd --- /dev/null +++ b/keyboards/dk60/Makefile @@ -0,0 +1,3 @@ +ifndef MAKEFILE_INCLUDED +	include ../../Makefile +endif
\ No newline at end of file diff --git a/keyboards/dk60/config.h b/keyboards/dk60/config.h new file mode 100644 index 0000000000..9c5232ef06 --- /dev/null +++ b/keyboards/dk60/config.h @@ -0,0 +1,55 @@ +/* +Copyright 2017 Damien Broqua <[email protected]> + +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 + +    #include "config_common.h" + +    /* USB Device descriptor parameter */ +    #define VENDOR_ID       0xFEED +    #define PRODUCT_ID      0x6060 +    #define DEVICE_VER      0x0003 +    #define MANUFACTURER    DARKOU +    #define PRODUCT         DK60 +    #define DESCRIPTION     QMK keyboard firmware for DK60 support + +    /* key matrix size */ +    #define MATRIX_ROWS 5 +    #define MATRIX_COLS 13 + +    // ROWS: Top to bottom, COLS: Left to right +    #define MATRIX_ROW_PINS { B6, B4, D7, D6, D4 } +    #define MATRIX_COL_PINS { B0, B3, B2, B1, D3, D5, B5, B7, C6, C7, D0, D1, D2 } +    #define UNUSED_PINS + +    /* COL2ROW or ROW2COL */ +    #define DIODE_DIRECTION COL2ROW + +    /* Set 0 if debouncing isn't needed */ +    #define DEBOUNCING_DELAY 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)) \ +    ) +#endif diff --git a/keyboards/dk60/dk60.c b/keyboards/dk60/dk60.c new file mode 100644 index 0000000000..93aeb33b4a --- /dev/null +++ b/keyboards/dk60/dk60.c @@ -0,0 +1,34 @@ +#include "dk60.h" + +void dk60_blink_all_leds(void) +{ +    dk60_led_all_off(); +    dk60_led_all_on(); +    _delay_ms(500); +    dk60_led_all_off(); +} + +void matrix_init_kb(void) { +    led_init_ports(); +    dk60_blink_all_leds(); + +    matrix_init_user(); +} + +void led_init_ports(void) { +    // * Set our LED pins as output +    DDRE |= (1<<6); +    DDRF |= (1<<0); +} + +void led_set_kb(uint8_t usb_led) { +	if (usb_led & (1<<USB_LED_CAPS_LOCK)) { +		// Turn capslock on +		dk60_caps_led_on(); +	} else { +		// Turn capslock off +		dk60_caps_led_off(); +	} + +	led_set_user(usb_led); +} diff --git a/keyboards/dk60/dk60.h b/keyboards/dk60/dk60.h new file mode 100644 index 0000000000..4b91599190 --- /dev/null +++ b/keyboards/dk60/dk60.h @@ -0,0 +1,41 @@ +#ifndef DK60_H +    #define DK60_H + +    #include "quantum.h" +    #include <util/delay.h> + +    inline void dk60_caps_led_on(void)      {  PORTE |= (1<<6); } +    inline void dk60_esc_led_on(void)    	{  PORTF |= (1<<0); } + +    inline void dk60_caps_led_off(void)     { PORTE &= ~(1<<6); } +    inline void dk60_esc_led_off(void)   	{ PORTF &= ~(1<<0); } + +    inline void dk60_led_all_on(void) +    { +        dk60_caps_led_on(); +        dk60_esc_led_on(); +    } + +    inline void dk60_led_all_off(void) +    { +        dk60_caps_led_off(); +        dk60_esc_led_off(); +    } + +    #define ___ KC_NO + +    #define KEYMAP( \ +        K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K4B, K4A, \ +        K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K4C, \ +        K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ +        K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \ +             K41, K42,           K45,           K48, K49  \ +    ) { \ +        { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C }, \ +        { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C }, \ +        { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \ +        { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C }, \ +        { ___, K41, K42, ___, ___, K45, ___, ___, K48, K49, K4A, K4B, K4C }  \ +    } + +#endif diff --git a/keyboards/dk60/keymaps/default/keymap.c b/keyboards/dk60/keymaps/default/keymap.c new file mode 100644 index 0000000000..a6a3b83f0a --- /dev/null +++ b/keyboards/dk60/keymaps/default/keymap.c @@ -0,0 +1,80 @@ +#include "dk60.h" +#include "action_layer.h" + +enum planck_layers { +  _QWERTY, +  _FN, +  _DVORAK, +  _LOWER, +  _RAISE, +  _PLOVER, +  _ADJUST +}; + +enum planck_keycodes { +  QWERTY = SAFE_RANGE, +  FN +}; + +// Fillers to make layering more clear +#define ______ KC_TRNS + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Qwerty gui/alt/space/alt/gui + * ,-----------------------------------------------------------------------------------------. + * | Esc |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |  0  |  -  |  =  |  \  |  `  | + * |-----------------------------------------------------------------------------------------+ + * | Tab    |  Q  |  W  |  E  |  R  |  T  |  Y  |  U  |  I  |  O  |  P  |  [  |  ]  |  Bksp  | + * |-----------------------------------------------------------------------------------------+ + * | Ctrl    |  A  |  S  |  D  |  F  |  G  |  H  |  J  |  K  |  L  |  ;  |  '  |    Enter    | + * |-----------------------------------------------------------------------------------------+ + * | Shift     |  Z  |  X  |  C  |  V  |  B  |  N  |  M  |  ,  |  .  |  /  | RShift    | FN  | + * |-----------------------------------------------------------------------------------------+ + *         |LGUI | LAlt  |               Space                | RAlt   |RGUI | + *         `-----------------------------------------------------------------' + */ +  [_QWERTY] = KEYMAP( /* Basic QWERTY */ +      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_BSLS,    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_BSPC,  \ +      KC_LCTL,  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,    FN, \ +                KC_LGUI,KC_LALT,                KC_SPC,                          KC_RALT,KC_RGUI \ +      ), + +/* FN Layer + * ,-----------------------------------------------------------------------------------------. + * |     | F1  | F2  | F3  | F4  | F5  | F6  | F7  | F8  | F9  | F10 | F11 | F12 | Ins | Del | + * |-----------------------------------------------------------------------------------------+ + * |  CAPS  |     |     |     |     |     |     |     | Psc | Slck| Paus| Up  |     |        | + * |-----------------------------------------------------------------------------------------+ + * |         | Vol-| Vol+| Mute|     |     | *   | /   | Home| PgUp| Left|Right|             | + * |-----------------------------------------------------------------------------------------+ + * |           | Prev| Play| Next|     |     | +   | -   | End  |PgDn| Down|           |     | + * |-----------------------------------------------------------------------------------------+ + *         |       |       |                                 | Stop  |       | + *         `-----------------------------------------------------------------' + */ +  [_FN] = KEYMAP( /* Layer 1 */ +      ______, 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_INS,  KC_DEL, \ +      KC_CAPS,  ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP,   ______, ______,  \ +      ______,   KC_VOLD,KC_VOLU,KC_MUTE,______, ______, KC_PAST,KC_PSLS,KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, ______,   \ +      ______,   KC_MPRV,KC_MPLY,KC_MNXT,______, ______, KC_PPLS,KC_PMNS,KC_END,  KC_PGDN, KC_DOWN, ______,  ______,  \ +                ______, ______,                 ______,                 KC_MSTP, ______ \ +      ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { +  switch (keycode) { +    case FN: +      if (record->event.pressed) { +        layer_on(_FN); +        dk60_esc_led_on(); +      } else { +        layer_off(_FN); +        dk60_esc_led_off(); +      } +      return false; +      break; +  } +  return true; +} diff --git a/keyboards/dk60/readme.md b/keyboards/dk60/readme.md new file mode 100644 index 0000000000..544b5b0d11 --- /dev/null +++ b/keyboards/dk60/readme.md @@ -0,0 +1,8 @@ +DK60 keyboard firmware +====================== + +Another 60% keyboard with different HHKB layout + +More information here: https://github.com/Dbroqua/DK60 + +Open Hardware project! diff --git a/keyboards/dk60/rules.mk b/keyboards/dk60/rules.mk new file mode 100644 index 0000000000..36c6bed178 --- /dev/null +++ b/keyboards/dk60/rules.mk @@ -0,0 +1,21 @@ +MCU = atmega32u4 +F_CPU = 16000000 +ARCH = AVR8 +F_USB = $(F_CPU) +OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT +OPT_DEFS += -DBOOTLOADER_SIZE=4096 + +BOOTMAGIC_ENABLE ?= yes	# 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 ?= yes    # Commands for debug and configuration +KEYBOARD_LOCK_ENABLE ?= yes	# Allow locking of keyboard via magic key +NKRO_ENABLE ?= yes		# USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +RGBLIGHT_ENABLE ?= no   # Enable keyboard underlight functionality (+4870) +BACKLIGHT_ENABLE ?= no  # Enable keyboard backlight functionality (+1150) +MIDI_ENABLE ?= no 		# MIDI controls +AUDIO_ENABLE ?= no +UNICODE_ENABLE ?= yes 		# Unicode +BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID +SLEEP_LED_ENABLE ?= yes diff --git a/keyboards/planck/keymaps/dshields/Makefile b/keyboards/planck/keymaps/dshields/Makefile index 9e18a3542e..57144283e9 100644 --- a/keyboards/planck/keymaps/dshields/Makefile +++ b/keyboards/planck/keymaps/dshields/Makefile @@ -4,6 +4,7 @@ endif  MOUSEKEY_ENABLE  = yes # Mouse keys(+4700)  COMMAND_ENABLE   = yes # Commands for debug and configuration +CONSOLE_ENABLE   = yes # Console for debug(+400)  BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality  # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE  SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend diff --git a/keyboards/planck/keymaps/dshields/config.h b/keyboards/planck/keymaps/dshields/config.h index 4d5be0a268..8fa078cd92 100644 --- a/keyboards/planck/keymaps/dshields/config.h +++ b/keyboards/planck/keymaps/dshields/config.h @@ -6,14 +6,15 @@  #define _______ KC_TRNS  #define XXXXXXX KC_NO -#define ONESHOT_TAP_TOGGLE      2 -#define ONESHOT_TIMEOUT         500 - -#define MOUSEKEY_INTERVAL       20 -#define MOUSEKEY_DELAY          0 -#define MOUSEKEY_TIME_TO_MAX    60 -#define MOUSEKEY_MAX_SPEED      7 -#define MOUSEKEY_WHEEL_DELAY    0 +#define USB_MAX_POWER_CONSUMPTION 100 +#define ONESHOT_TAP_TOGGLE        2 +#define ONESHOT_TIMEOUT           500 + +#define MOUSEKEY_INTERVAL         20 +#define MOUSEKEY_DELAY            0 +#define MOUSEKEY_TIME_TO_MAX      40 +#define MOUSEKEY_MAX_SPEED        7 +#define MOUSEKEY_WHEEL_DELAY      0  #define DM_PLAY DYN_MACRO_PLAY1  #define DM_STRT DYN_REC_START1 | 
