summaryrefslogtreecommitdiffstats
path: root/keyboards/chimera_ergo
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/chimera_ergo')
-rw-r--r--keyboards/chimera_ergo/chimera_ergo.h3
-rw-r--r--keyboards/chimera_ergo/keymaps/default/keymap.c61
-rw-r--r--keyboards/chimera_ergo/rules.mk75
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