forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Initial commit for Comet46 firmware * Update Comet46 README * Add readme to satt keymap of comet46 * Add default keymap for Comet46 * Fix broken link in readme * Delete redundant includes * Modify default keymap & fix LAYOUT macro * Modify satt keymap of Comet46
- Loading branch information
Showing
13 changed files
with
983 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
#include "comet46.h" | ||
|
||
void uart_init(void) { | ||
SERIAL_UART_INIT(); | ||
} | ||
|
||
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(); | ||
uart_init(); | ||
led_init(); | ||
} | ||
|
||
void matrix_scan_kb(void) { | ||
// put your looping keyboard code here | ||
// runs every cycle (a lot) | ||
matrix_scan_user(); | ||
} | ||
|
||
void led_set_kb(uint8_t usb_led) { | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
#ifndef COMET46_H | ||
#define COMET46_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) | ||
#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) | ||
*/ | ||
|
||
// 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_kc( \ | ||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11,\ | ||
k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25,\ | ||
k26, k27, k28, k29, k31, k32, k33, k34, k35, k36, k37, k38, k41, k42,\ | ||
k43, k44, k45, k46, k47, k48 \ | ||
) \ | ||
{ \ | ||
{ KC_##k13, KC_##k01, KC_##k26, KC_##k12, KC_##k00, KC_##k11, KC_##k25, KC_##k42, KC_##k10, KC_##k24}, \ | ||
{ KC_##k03, KC_##k28, KC_##k14, KC_##k02, KC_##k27, KC_##k41, KC_##k09, KC_##k23, KC_##k38, KC_##k08}, \ | ||
{ KC_##k31, KC_##k16, KC_##k04, KC_##k29, KC_##k15, KC_##k22, KC_##k37, KC_##k07, KC_##k21, KC_##k36}, \ | ||
{ KC_NO, KC_##k32, KC_##k17, KC_##k05, KC_##k43, KC_##k48, KC_##k06, KC_##k20, KC_##k35, KC_NO }, \ | ||
{ KC_NO, KC_##k45, KC_##k33, KC_##k18, KC_##k44, KC_##k47, KC_##k19, KC_##k34, KC_##k46, KC_NO }, \ | ||
} | ||
|
||
#define LAYOUT( \ | ||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11,\ | ||
k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25,\ | ||
k26, k27, k28, k29, k31, k32, k33, k34, k35, k36, k37, k38, k41, k42,\ | ||
k43, k44, k45, k46, k47, k48 \ | ||
) \ | ||
{ \ | ||
{ k13, k01, k26, k12, k00, k11, k25, k42, k10, k24}, \ | ||
{ k03, k28, k14, k02, k27, k41, k09, k23, k38, k08}, \ | ||
{ k31, k16, k04, k29, k15, k22, k37, k07, k21, k36}, \ | ||
{ KC_NO, k32, k17, k05, k43, k48, k06, k20, k35, KC_NO }, \ | ||
{ KC_NO, k45, k33, k18, k44, k47, k19, k34, k46, KC_NO }, \ | ||
} | ||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
/* | ||
Copyright 2012 Jun Wako <[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 0x0001 | ||
#define MANUFACTURER SatT | ||
#define PRODUCT Comet46 | ||
#define DESCRIPTION qmk keyboard firmware for Comet46 | ||
|
||
/* key matrix size */ | ||
#define MATRIX_ROWS 5 | ||
#define MATRIX_COLS 10 | ||
|
||
/* define if matrix has ghost */ | ||
//#define MATRIX_HAS_GHOST | ||
|
||
/* number of backlight levels */ | ||
//#define BACKLIGHT_LEVELS 3 | ||
|
||
#define ONESHOT_TIMEOUT 500 | ||
|
||
|
||
/* 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. | ||
*/ | ||
|
||
#define PREVENT_STUCK_MODIFIERS | ||
|
||
/* 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_DATA UDR1 | ||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1) | ||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1)) | ||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1)) | ||
#define SERIAL_UART_INIT() do { \ | ||
/* baud rate */ \ | ||
UBRR1L = SERIAL_UART_UBRR; \ | ||
/* baud rate */ \ | ||
UBRR1H = SERIAL_UART_UBRR >> 8; \ | ||
/* enable TX and RX */ \ | ||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \ | ||
/* 8-bit data */ \ | ||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \ | ||
} while(0) | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
// 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 comet46_layers | ||
{ | ||
_QWERTY, | ||
_LOWER, | ||
_RAISE, | ||
}; | ||
|
||
enum custom_keycodes { | ||
QWERTY = SAFE_RANGE, | ||
LOWER, | ||
RAISE, | ||
}; | ||
|
||
// Fillers to make layering more clear | ||
#define _______ KC_TRNS | ||
#define XXXXXXX KC_NO | ||
#define LOWER MO(_LOWER) | ||
#define RAISE MO(_RAISE) | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
|
||
/* Qwerty | ||
* ,-----------------------------------------+ +-----------------------------------------. | ||
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | | ||
* |------+------+------+------+------+------+------+ +------+------+------+------+------+------+------| | ||
* | Ctl | A | S | D | F | G | Esc | | Del | H | J | K | L | ; | " | | ||
* |------+------+------+------+------+------+------+ +------+------+------+------+------+------+------| | ||
* | Shift| Z | X | C | V | B | { | | } | N | M | , | . | / | Shift| | ||
* |------+------+------+------+------+------+------+ +------+------+------+------+------+-------------| | ||
* | GUI | Lower| Space| | Enter| Raise| Alt | | ||
* +--------------------/ \--------------------+ | ||
*/ | ||
[_QWERTY] = LAYOUT( | ||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | ||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_ESC, KC_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | ||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, | ||
KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_LALT | ||
), | ||
|
||
/* Lower | ||
* ,-----------------------------------------+ +-----------------------------------------. | ||
* | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | | ||
* |------+------+------+------+------+------+------+ +------+------+------+------+------+------+------| | ||
* | | | | | | | | | ` | \ | - | = | [ | ] | | | ||
* |------+------+------+------+------+------+------+ +------+------+------+------+------+------+------| | ||
* | | | | | | | | | ~ | | | _ | + | { | } | | | ||
* |------+------+------+------+------+------+------+ +------+------+------+------+------+-------------| | ||
* | | | | | | | | | ||
* +--------------------/ \--------------------+ | ||
*/ | ||
[_LOWER] = LAYOUT( | ||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, | ||
_______, _______, _______, _______, _______, _______, _______, KC_GRV, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______, | ||
_______, _______, _______, _______, _______, _______, _______, KC_TILD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______, | ||
_______, _______, _______, _______, _______, _______ | ||
), | ||
|
||
/* Raise | ||
* ,-----------------------------------------+ +-----------------------------------------. | ||
* | | 1 | 2 | 3 | 4 | 5 | | | | | | | | | ||
* |------+------+------+------+------+------+------+ +------+------+------+------+------+------+------| | ||
* | | F1 | F2 | F3 | F4 | F5 | F6 | | | Left | Down | Up |Right | End | | | ||
* |------+------+------+------+------+------+------+ +------+------+------+------+------+------+------| | ||
* | | F7 | F8 | F9 | F10 | F11 | F12 | | Home | | | | | | | | ||
* |------+------+------+------+------+------+------+ +------+------+------+------+------+-------------| | ||
* | | | | | | | | | ||
* +--------------------/ \--------------------+ | ||
*/ | ||
[_RAISE] = LAYOUT( | ||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, | ||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END, _______, | ||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, | ||
_______, _______, _______, _______, _______, _______ | ||
) | ||
}; | ||
|
||
|
||
void matrix_scan_user(void) { | ||
uint8_t layer = biton32(layer_state); | ||
switch (layer) { | ||
case _QWERTY: | ||
set_led_green; | ||
break; | ||
case _RAISE: | ||
set_led_blue; | ||
break; | ||
case _LOWER: | ||
set_led_red; | ||
break; | ||
default: | ||
set_led_green; | ||
break; | ||
} | ||
} |
Oops, something went wrong.