diff options
Diffstat (limited to 'keyboards/chimera_ergo')
-rw-r--r-- | keyboards/chimera_ergo/chimera_ergo.c | 16 | ||||
-rw-r--r-- | keyboards/chimera_ergo/chimera_ergo.h | 62 | ||||
-rw-r--r-- | keyboards/chimera_ergo/config.h | 67 | ||||
-rw-r--r-- | keyboards/chimera_ergo/info.json | 10 | ||||
-rw-r--r-- | keyboards/chimera_ergo/keymaps/default/keymap.c | 159 | ||||
-rw-r--r-- | keyboards/chimera_ergo/matrix.c | 164 | ||||
-rw-r--r-- | keyboards/chimera_ergo/readme.md | 16 | ||||
-rw-r--r-- | keyboards/chimera_ergo/rules.mk | 20 |
8 files changed, 0 insertions, 514 deletions
diff --git a/keyboards/chimera_ergo/chimera_ergo.c b/keyboards/chimera_ergo/chimera_ergo.c deleted file mode 100644 index 47653c2e4b..0000000000 --- a/keyboards/chimera_ergo/chimera_ergo.c +++ /dev/null @@ -1,16 +0,0 @@ -#include "chimera_ergo.h" - -void led_init(void) { - DDRD |= (1<<1); - PORTD |= (1<<1); - DDRF |= (1<<4) | (1<<5); - PORTF |= (1<<4) | (1<<5); -} - - -void matrix_init_kb(void) { - // put your keyboard start-up code here - // runs once when the firmware starts up - matrix_init_user(); - led_init(); -} diff --git a/keyboards/chimera_ergo/chimera_ergo.h b/keyboards/chimera_ergo/chimera_ergo.h deleted file mode 100644 index b8897ac14e..0000000000 --- a/keyboards/chimera_ergo/chimera_ergo.h +++ /dev/null @@ -1,62 +0,0 @@ -#pragma once - -#include "quantum.h" - -#define red_led_off PORTF |= (1<<5) -#define red_led_on PORTF &= ~(1<<5) -#define blu_led_off PORTF |= (1<<4) -#define blu_led_on PORTF &= ~(1<<4) -#define grn_led_off PORTD |= (1<<1) -#define grn_led_on PORTD &= ~(1<<1) - -#define set_led_off red_led_off; grn_led_off; blu_led_off -#define set_led_red red_led_on; grn_led_off; blu_led_off -#define set_led_blue red_led_off; grn_led_off; blu_led_on -#define set_led_green red_led_off; grn_led_on; blu_led_off -#define set_led_yellow red_led_on; grn_led_on; blu_led_off -#define set_led_magenta red_led_on; grn_led_off; blu_led_on -#define set_led_cyan red_led_off; grn_led_on; blu_led_on -#define set_led_white red_led_on; grn_led_on; blu_led_on - -/* -#define LED_B 5 -#define LED_R 6 -#define LED_G 7 - -#define all_leds_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G) - -#define red_led_on PORTF |= (1<<LED_R) -#define red_led_off PORTF &= ~(1<<LED_R) -#define grn_led_on PORTF |= (1<<LED_G) -#define grn_led_off PORTF &= ~(1<<LED_G) -#define blu_led_on PORTF |= (1<<LED_B) -#define blu_led_off PORTF &= ~(1<<LED_B) - -#define set_led_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G) -#define set_led_red PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_G) | (1<<LED_R) -#define set_led_blue PORTF = PORTF & ~(1<<LED_G) & ~(1<<LED_R) | (1<<LED_B) -#define set_led_green PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_R) | (1<<LED_G) -#define set_led_yellow PORTF = PORTF & ~(1<<LED_B) | (1<<LED_R) | (1<<LED_G) -#define set_led_magenta PORTF = PORTF & ~(1<<LED_G) | (1<<LED_R) | (1<<LED_B) -#define set_led_cyan PORTF = PORTF & ~(1<<LED_R) | (1<<LED_B) | (1<<LED_G) -#define set_led_white PORTF |= (1<<LED_B) | (1<<LED_R) | (1<<LED_G) -*/ - -#define XXX KC_NO - -// This a shortcut to help you visually see your layout. -// The first section contains all of the arguements -// The second converts the arguments into a two-dimensional array -#define LAYOUT( \ - k10, k05, k22, k42, k33, k34, k37, k38, k48, k29, k49, k1B, \ - k20, k31, k12, k03, k14, k24, k27, k17, k08, k19, k3A, k2B, \ - k30, k21, k02, k13, k04, k40, k46, k07, k18, k09, k2A, k3B, \ - k15, k44, k32, k23, k43, k41, k06, k47, k28, k39, k4A, k16, \ - k35, k25, k26, k36 \ -) { \ - { XXX, XXX, k02, k03, k04, k05, k06, k07, k08, k09, XXX, XXX }, \ - { k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, XXX, k1B }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \ - { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B }, \ - { k40, k41, k42, k43, k44, XXX, k46, k47, k48, k49, k4A, XXX } \ -} diff --git a/keyboards/chimera_ergo/config.h b/keyboards/chimera_ergo/config.h deleted file mode 100644 index 0767a218b5..0000000000 --- a/keyboards/chimera_ergo/config.h +++ /dev/null @@ -1,67 +0,0 @@ -/* -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/>. -*/ - -#pragma once - -#include "config_common.h" - -/* USB Device descriptor parameter */ - -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x6060 -#define DEVICE_VER 0x0001 -#define MANUFACTURER unknown -#define PRODUCT Chimera Ergo - -/* key matrix size */ -#define MATRIX_ROWS 6 -#define MATRIX_COLS 12 - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* number of backlight levels */ -//#define BACKLIGHT_LEVELS 3 - -#define ONESHOT_TIMEOUT 500 - -/* - * 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 - -//UART settings for communication with the RF microcontroller -#define SERIAL_UART_BAUD 1000000 -#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) -#define SERIAL_UART_INIT_CUSTOM \ - /* enable TX and RX */ \ - UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ - /* 8-bit data */ \ - UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); diff --git a/keyboards/chimera_ergo/info.json b/keyboards/chimera_ergo/info.json deleted file mode 100644 index 28a9689bae..0000000000 --- a/keyboards/chimera_ergo/info.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "keyboard_name": "Chimera Ergo", - "url": "", - "maintainer": "qmk", - "layouts": { - "LAYOUT": { - "layout": [{"label":"k00", "x":0, "y":1}, {"label":"k01", "x":1, "y":0.75}, {"label":"k02", "x":2, "y":0.25}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0.25}, {"label":"k05", "x":5, "y":0.5}, {"label":"k06", "x":7, "y":0.5}, {"label":"k07", "x":8, "y":0.25}, {"label":"k08", "x":9, "y":0}, {"label":"k09", "x":10, "y":0.25}, {"label":"k10", "x":11, "y":0.75}, {"label":"k11", "x":12, "y":1}, {"label":"k12", "x":0, "y":2}, {"label":"k13", "x":1, "y":1.75}, {"label":"k14", "x":2, "y":1.25}, {"label":"k15", "x":3, "y":1}, {"label":"k16", "x":4, "y":1.25}, {"label":"k17", "x":5, "y":1.5}, {"label":"k18", "x":7, "y":1.5}, {"label":"k19", "x":8, "y":1.25}, {"label":"k20", "x":9, "y":1}, {"label":"k21", "x":10, "y":1.25}, {"label":"k22", "x":11, "y":1.75}, {"label":"k23", "x":12, "y":2}, {"label":"k24", "x":0, "y":3}, {"label":"k25", "x":1, "y":2.75}, {"label":"k26", "x":2, "y":2.25}, {"label":"k27", "x":3, "y":2}, {"label":"k28", "x":4, "y":2.25}, {"label":"k29", "x":5, "y":2.5}, {"label":"k30", "x":7, "y":2.5}, {"label":"k31", "x":8, "y":2.25}, {"label":"k32", "x":9, "y":2}, {"label":"k33", "x":10, "y":2.25}, {"label":"k34", "x":11, "y":2.75}, {"label":"k35", "x":12, "y":3}, {"label":"k36", "x":0, "y":4}, {"label":"k37", "x":1, "y":3.75}, {"label":"k38", "x":2, "y":3.25}, {"label":"k39", "x":3, "y":3}, {"label":"k40", "x":4, "y":3.25}, {"label":"k41", "x":5, "y":3.5}, {"label":"k42", "x":7, "y":3.5}, {"label":"k43", "x":8, "y":3.25}, {"label":"k44", "x":9, "y":3}, {"label":"k45", "x":10, "y":3.25}, {"label":"k46", "x":11, "y":3.75}, {"label":"k47", "x":12, "y":4}, {"label":"k48", "x":4, "y":4.75}, {"label":"k49", "x":5, "y":5}, {"label":"k50", "x":7, "y":5}, {"label":"k51", "x":8, "y":4.75}] - } - } -} diff --git a/keyboards/chimera_ergo/keymaps/default/keymap.c b/keyboards/chimera_ergo/keymaps/default/keymap.c deleted file mode 100644 index 51ab0e92cd..0000000000 --- a/keyboards/chimera_ergo/keymaps/default/keymap.c +++ /dev/null @@ -1,159 +0,0 @@ -// this is the style you want to emulate. -// This is the canonical layout file for the Quantum project. If you want to add another keyboard, - -#include QMK_KEYBOARD_H - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum chimera_ergo_layers -{ - _QWERTY, - _CAPS, - _NUMPAD, - _SYMBOLS, - _MACROS, - _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) -#define SC_SCTL MT(MOD_LCTL, KC_LBRC) -#define SC_SCTR MT(MOD_LCTL, KC_RBRC) -#define SC_SPLT MT(MOD_LALT, KC_MINS) -#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_CAD LALT(LCTL(KC_DEL)) - -#define LONGPRESS_DELAY 150 -//#define LAYER_TOGGLE_DELAY 300 - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [_QWERTY] = LAYOUT( - KC_LBRC, KC_1, SC_SCTL, SC_SPLT, SC_SPFN, KC_5, KC_6, SC_GBRC, SC_SPRT, SC_SCTR, KC_0, KC_RBRC, - SC_MESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, - KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, - SC_NMPD, KC_BSPC, KC_SPC, SC_SYMB - ), - - [_CAPS] = LAYOUT( - _______, KC_UNDS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_COLN, _______, - SC_SCOF, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SC_SCOF, - _______, _______, _______, _______ - ), - - [_NUMPAD] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, - _______, _______, KC_COLN, _______, _______, _______, _______, KC_7, KC_8, KC_9, KC_ASTR, _______, - _______, _______, KC_DOT , _______, _______, _______, _______, KC_4, KC_5, KC_6, KC_PLUS, _______, - _______, _______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, KC_SLSH, _______, - _______, _______, _______, KC_0 - ), - - [_SYMBOLS] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSLS, - KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TILD, KC_EQL, KC_UNDS, KC_LCBR, KC_RCBR, _______, - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_GRV, KC_PLUS, KC_MINS, KC_LBRC, KC_RBRC, _______, - KC_PIPE, _______, _______, _______ - ), - - [_MACROS] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, SC_INCL, _______, _______, _______, - _______, _______, _______, SC_CAD, _______, _______, _______, _______, _______, _______, _______, _______, - SC_SCAP, _______, _______, _______, _______, _______, _______, _______, SC_PULL, SC_PUSH, _______, _______, - _______, _______, _______, _______ - ), - - [_NAV] = LAYOUT( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, KC_DEL, _______, _______ - ), - -}; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch(keycode) { - /* include some kind of library or header */ - case SC_INCL: - if (record->event.pressed) { - SEND_STRING("#include <>"); - tap_code(KC_LEFT); - } - return false; - case SC_PULL: - if (record->event.pressed) { - SEND_STRING("git pull"); - tap_code(KC_ENT); - } - return false; - case SC_PUSH: - if (record->event.pressed) { - SEND_STRING("git push"); - tap_code(KC_ENT); - } - return false; - case SC_SCAP: - if (record->event.pressed) { - layer_on(_CAPS); - tap_code(KC_CAPS); - } - return false; - case SC_SCOF: - if (record->event.pressed) { - layer_off(_CAPS); - tap_code(KC_CAPS); - } - return false; - default: - return true; - } - return true; -}; - -void matrix_scan_user(void) { - uint8_t layer = biton32(layer_state); - - switch (layer) { - case _QWERTY: - set_led_green; - break; - case _CAPS: - set_led_white; - break; - case _NUMPAD: - set_led_blue; - break; - case _SYMBOLS: - set_led_red; - break; - case _NAV: - set_led_magenta; - break; - case _MACROS: - set_led_cyan; - break; - default: - set_led_green; - break; - } -}; diff --git a/keyboards/chimera_ergo/matrix.c b/keyboards/chimera_ergo/matrix.c deleted file mode 100644 index 577176c466..0000000000 --- a/keyboards/chimera_ergo/matrix.c +++ /dev/null @@ -1,164 +0,0 @@ -/* -Copyright 2012 Jun Wako -Copyright 2014 Jack Humbert - -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/>. -*/ -#include <stdint.h> -#include <stdbool.h> -#if defined(__AVR__) -#include <avr/io.h> -#endif -#include "wait.h" -#include "print.h" -#include "debug.h" -#include "util.h" -#include "matrix.h" -#include "timer.h" -#include "protocol/serial.h" - -#if (MATRIX_COLS <= 8) -# define print_matrix_header() print("\nr/c 01234567\n") -# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop(matrix[i]) -# define ROW_SHIFTER ((uint8_t)1) -#elif (MATRIX_COLS <= 16) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop16(matrix[i]) -# define ROW_SHIFTER ((uint16_t)1) -#elif (MATRIX_COLS <= 32) -# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") -# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) -# define matrix_bitpop(i) bitpop32(matrix[i]) -# define ROW_SHIFTER ((uint32_t)1) -#endif - -/* matrix state(1:on, 0:off) */ -static matrix_row_t matrix[MATRIX_ROWS]; - -__attribute__ ((weak)) -void matrix_init_quantum(void) { - matrix_init_kb(); -} - -__attribute__ ((weak)) -void matrix_scan_quantum(void) { - matrix_scan_kb(); -} - -__attribute__ ((weak)) -void matrix_init_kb(void) { - matrix_init_user(); -} - -__attribute__ ((weak)) -void matrix_scan_kb(void) { - matrix_scan_user(); -} - -__attribute__ ((weak)) -void matrix_init_user(void) { -} - -__attribute__ ((weak)) -void matrix_scan_user(void) { -} - -inline -uint8_t matrix_rows(void) { - return MATRIX_ROWS; -} - -inline -uint8_t matrix_cols(void) { - return MATRIX_COLS; -} - -void matrix_init(void) { - - matrix_init_quantum(); - serial_init(); -} - -uint8_t matrix_scan(void) -{ - uint32_t timeout = 0; - - //the s character requests the RF slave to send the matrix - SERIAL_UART_DATA = 's'; - - //trust the external keystates entirely, erase the last data - uint8_t uart_data[14] = {0}; - - //there are 10 bytes corresponding to 10 columns, and an end byte - for (uint8_t i = 0; i < 14; i++) { - //wait for the serial data, timeout if it's been too long - //this only happened in testing with a loose wire, but does no - //harm to leave it in here - while(!SERIAL_UART_RXD_PRESENT){ - timeout++; - if (timeout > 10000){ - break; - } - } - uart_data[i] = SERIAL_UART_DATA; - } - - //check for the end packet, the key state bytes use the LSBs, so 0xE0 - //will only show up here if the correct bytes were recieved - if (uart_data[10] == 0xE0) - { - //shifting and transferring the keystates to the QMK matrix variable - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 6; - } - } - - - matrix_scan_quantum(); - return 1; -} - -inline -bool matrix_is_on(uint8_t row, uint8_t col) -{ - return (matrix[row] & ((matrix_row_t)1<<col)); -} - -inline -matrix_row_t matrix_get_row(uint8_t row) -{ - return matrix[row]; -} - -void matrix_print(void) -{ - print_matrix_header(); - - for (uint8_t row = 0; row < MATRIX_ROWS; row++) { - print_hex8(row); print(": "); - print_matrix_row(row); - print("\n"); - } -} - -uint8_t matrix_key_count(void) -{ - uint8_t count = 0; - for (uint8_t i = 0; i < MATRIX_ROWS; i++) { - count += matrix_bitpop(i); - } - return count; -} diff --git a/keyboards/chimera_ergo/readme.md b/keyboards/chimera_ergo/readme.md deleted file mode 100644 index 2b5d2d65c0..0000000000 --- a/keyboards/chimera_ergo/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -# Chimera Ergo - -![Chimera Ergo](https://imgur.com/AA6ycMQ.jpg) - -A split wireless 40% ergonomic keyboard - -Keyboard Maintainer: [William Wilson](https://github.com/GlenPickle) -Hardware Supported: Chimera Ergo PCB, WaveShare core nRF51822 -Hardware Availability: [Gerbers](https://github.com/GlenPickle/Chimera/tree/master/ergo/gerbers) - -Make example for this keyboard (after setting up your build environment): - - make chimera_ergo:default - -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. - diff --git a/keyboards/chimera_ergo/rules.mk b/keyboards/chimera_ergo/rules.mk deleted file mode 100644 index a8bd3a027a..0000000000 --- a/keyboards/chimera_ergo/rules.mk +++ /dev/null @@ -1,20 +0,0 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = caterina - -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = yes # Commands for debug and configuration -CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge -NKRO_ENABLE = yes # Enable N-Key Rollover -# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality - -# # project specific files -SRC += matrix.c serial_uart.c |