diff options
Diffstat (limited to 'keyboards/chimera_ergo')
-rw-r--r-- | keyboards/chimera_ergo/chimera_ergo.h | 3 | ||||
-rw-r--r-- | keyboards/chimera_ergo/keymaps/default/keymap.c | 61 | ||||
-rw-r--r-- | keyboards/chimera_ergo/rules.mk | 75 |
3 files changed, 47 insertions, 92 deletions
diff --git a/keyboards/chimera_ergo/chimera_ergo.h b/keyboards/chimera_ergo/chimera_ergo.h index a9275e3a85..78e5c0dac5 100644 --- a/keyboards/chimera_ergo/chimera_ergo.h +++ b/keyboards/chimera_ergo/chimera_ergo.h @@ -2,9 +2,6 @@ #define CHIMERA_ERGO_H #include "quantum.h" -#include "matrix.h" -#include "backlight.h" -#include <stddef.h> #define red_led_off PORTF |= (1<<5) #define red_led_on PORTF &= ~(1<<5) diff --git a/keyboards/chimera_ergo/keymaps/default/keymap.c b/keyboards/chimera_ergo/keymaps/default/keymap.c index 0b60b1dafa..51ab0e92cd 100644 --- a/keyboards/chimera_ergo/keymaps/default/keymap.c +++ b/keyboards/chimera_ergo/keymaps/default/keymap.c @@ -17,6 +17,14 @@ enum chimera_ergo_layers _NAV }; +enum custom_keycodes { + SC_INCL = SAFE_RANGE, + SC_PULL, + SC_PUSH, + SC_SCAP, + SC_SCOF +}; + #define SC_NMPD TG(_NUMPAD) #define SC_SYMB TG(_SYMBOLS) #define SC_SPFN LT(_NAV,KC_EQL) @@ -26,11 +34,6 @@ enum chimera_ergo_layers #define SC_SPRT MT(MOD_LALT, KC_1) #define SC_GBRC MT(MOD_RGUI, KC_RBRC) #define SC_MESC LT(_MACROS, KC_ESC) -#define SC_INCL M(0) -#define SC_PULL M(1) -#define SC_PUSH M(2) -#define SC_SCAP M(3) -#define SC_SCOF M(4) #define SC_CAD LALT(LCTL(KC_DEL)) #define LONGPRESS_DELAY 150 @@ -88,47 +91,45 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch(id) { +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch(keycode) { /* include some kind of library or header */ - case 0: + case SC_INCL: if (record->event.pressed) { SEND_STRING("#include <>"); - return MACRO( T(LEFT), END); + tap_code(KC_LEFT); } - break; - case 1: + return false; + case SC_PULL: if (record->event.pressed) { SEND_STRING("git pull"); - return MACRO( T(ENT), END ); + tap_code(KC_ENT); } - break; - case 2: - if (record->event.pressed){ + return false; + case SC_PUSH: + if (record->event.pressed) { SEND_STRING("git push"); - return MACRO( T(ENT), END ); + tap_code(KC_ENT); } - break; - case 3: - if (record->event.pressed){ + return false; + case SC_SCAP: + if (record->event.pressed) { layer_on(_CAPS); - register_code(KC_CAPSLOCK); - unregister_code(KC_CAPSLOCK); + tap_code(KC_CAPS); } - break; - case 4: - if (record->event.pressed){ + return false; + case SC_SCOF: + if (record->event.pressed) { layer_off(_CAPS); - register_code(KC_CAPSLOCK); - unregister_code(KC_CAPSLOCK); + tap_code(KC_CAPS); } - break; + return false; + default: + return true; } - return MACRO_NONE; + return true; }; - void matrix_scan_user(void) { uint8_t layer = biton32(layer_state); diff --git a/keyboards/chimera_ergo/rules.mk b/keyboards/chimera_ergo/rules.mk index 379da9ae70..0e26588e37 100644 --- a/keyboards/chimera_ergo/rules.mk +++ b/keyboards/chimera_ergo/rules.mk @@ -1,67 +1,16 @@ - -OPT_DEFS += -DCHIMERA_ERGO_PROMICRO -CHIMERA_ERGO_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \ - avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB) - -# # project specific files -SRC = matrix.c - - # MCU name -#MCU = at90usb1287 MCU = atmega32u4 -# Processor frequency. -# This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency in Hz. You can then use this symbol in your source code to -# calculate timings. Do NOT tack on a 'UL' at the end, this will be done -# automatically to create a 32-bit value in your source code. -# -# This will be an integer division of F_USB below, as it is sourced by -# F_USB after it has run through any CPU prescalers. Note that this value -# does not *change* the processor frequency - it should merely be updated to -# reflect the processor speed set externally so that the code can use accurate -# software delays. -F_CPU = 16000000 - - -# -# LUFA specific -# -# Target architecture (see library "Board Types" documentation). -ARCH = AVR8 - -# Input clock frequency. -# This will define a symbol, F_USB, in all source code files equal to the -# input clock frequency (before any prescaling is performed) in Hz. This value may -# differ from F_CPU if prescaling is used on the latter, and is required as the -# raw input clock is fed directly to the PLL sections of the AVR for high speed -# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' -# at the end, this will be done automatically to create a 32-bit value in your -# source code. -# -# If no clock division is performed on the input clock inside the AVR (via the -# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU. -F_USB = $(F_CPU) - -# Bootloader -# This definition is optional, and if your keyboard supports multiple bootloaders of -# different sizes, comment this out, and the correct address will be loaded -# automatically (+60). See bootloader.mk for all options. +# Bootloader selection +# Teensy halfkay +# Pro Micro caterina +# Atmel DFU atmel-dfu +# LUFA DFU lufa-dfu +# QMK DFU qmk-dfu +# ATmega32A bootloadHID +# ATmega328P USBasp BOOTLOADER = caterina -# Interrupt driven control endpoint task(+60) -OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT - -# Boot Section Size in *bytes* -# Teensy halfKay 512 -# Teensy++ halfKay 1024 -# Atmel DFU loader 4096 -# LUFA bootloader 4096 -# USBaspLoader 2048 -OPT_DEFS += -DBOOTLOADER_SIZE=4096 - - # Build Options # comment out to disable the options. # @@ -79,4 +28,12 @@ NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA UNICODE_ENABLE = YES # Unicode # BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID + +OPT_DEFS += -DCHIMERA_ERGO_PROMICRO +CHIMERA_ERGO_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \ + avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB) + +# # project specific files +SRC = matrix.c + USB = /dev/ttyACM0 |