New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge (my) Graham's keyboard configs and Telophase board into master #3244
Changes from all commits
21d2c35
6d4355e
34511b4
6c00741
4704366
bb58d53
a516956
e1ef957
7340ad1
66fe7ff
004c332
9026d94
7662ff1
84e5b42
d6e82ed
ab1578e
bfcc033
62b799e
66566b0
1174137
1053970
1085bfe
86eaa8e
4b74ce3
2ebba08
a3cd859
8f812f6
3782149
c3791a9
a33e852
14f8614
4fbd9f8
1ec34cc
e5b5447
a930b9e
1ca709b
fd58ce2
fb76624
0735b0a
09a0d2b
2f51814
df8ee82
53c5db5
982ff30
a0f14a3
5dd4a3f
264a883
50a1532
88a8860
3def594
3d99429
74345d1
37f29dc
45367b6
5e8e602
a55287d
d0563c5
b5ae91c
61d33a8
5105a66
5bfdb27
4e0b1f0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
# Graham's Planck | ||
|
||
## Sounds | ||
I've added a [8ohm 0.5W speaker](http://a.co/6MIKZSy), its a bit large, but it fits in approximately the same space as the ProMicro. I soldered to the pcb hole labeled PC6 on my Rev 3 Planck PCB, and GND on the near by chip. [Pic of an identical mod](https://i1.sndcdn.com/artworks-000128070066-myh0ls-t500x500.jpg) (not mine). | ||
I've added a [8ohm 0.5W speaker](http://a.co/6MIKZSy), its a bit large, but it fits in approximately the same space as the ProMicro. I soldered to the pcb hole labeled PC6 on my Rev 3 Planck PCB, and GND on the near by chip. [Pic of an identical mod][https://i1.sndcdn.com/artworks-000128070066-myh0ls-t500x500.jpg] (not mine). |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
/* | ||
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/>. | ||
*/ | ||
|
||
#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 unknown | ||
#define PRODUCT Telophase | ||
#define DESCRIPTION q.m.k. keyboard firmware for Telophase | ||
|
||
/* key matrix size */ | ||
#define MATRIX_ROWS 4 | ||
#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 | ||
|
||
|
||
/* 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 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
// 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 "telophase.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 telophase_layers | ||
{ | ||
_QWERTY, | ||
_LOWER, | ||
_RAISE, | ||
_ADJUST, | ||
}; | ||
|
||
enum telophase_keycodes | ||
{ | ||
LOWER = SAFE_RANGE, | ||
RAISE, | ||
ADJUST | ||
}; | ||
|
||
#define LONGPRESS_DELAY 150 | ||
#define LAYER_TOGGLE_DELAY 300 | ||
|
||
// Fillers to make layering more clear | ||
#define _______ KC_TRNS | ||
#define XXXXXXX KC_NO | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
[_QWERTY] = { /*QWERTY*/ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should use the layout formatting here: [0] = LAYOUT_ortho_4x12(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_LCTL, KC_LGUI, KC_LALT, ADJUST, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
), There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Try as I might, I could not make this work. It think it has to do with the fact that this board is wireless? Quote the Telophase readme: This keyboard uses a completely different 'matrix scan' system to other keyboards, it relies on an external nRF51822 microcontroller maintaining a matrix of keystates received from the keyboard halves. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To be honest, the For instance: https://github.com/qmk/qmk_firmware/blob/master/keyboards/mitosis/mitosis.h#L52 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not sure what my original blocker was here, after your advice I feel I was able to achieve this. |
||
{KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, | ||
{KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT }, | ||
{KC_LCTL, KC_LGUI, KC_LALT, ADJUST, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT } | ||
}, | ||
|
||
|
||
[_LOWER] = { /*Lower*/ | ||
{KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL }, | ||
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE }, | ||
{_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______ }, | ||
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY } | ||
}, | ||
|
||
|
||
|
||
[_RAISE] = { /*Raise*/ | ||
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL }, | ||
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS }, | ||
{_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______ }, | ||
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY } | ||
|
||
}, | ||
|
||
|
||
[_ADJUST] = { /*Adjust*/ | ||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, | ||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, | ||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }, | ||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ } | ||
|
||
}, | ||
}; | ||
|
||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
switch (keycode) { | ||
case LOWER: | ||
This comment was marked as off-topic.
Sorry, something went wrong. |
||
if (record->event.pressed) { | ||
layer_on(_LOWER); | ||
} else { | ||
layer_off(_LOWER); | ||
} | ||
return false; | ||
break; | ||
|
||
case RAISE: | ||
if (record->event.pressed) { | ||
layer_on(_RAISE); | ||
} else { | ||
layer_off(_RAISE); | ||
} | ||
return false; | ||
break; | ||
|
||
case ADJUST: | ||
if (record->event.pressed) { | ||
layer_on(_ADJUST); | ||
} else { | ||
layer_off(_ADJUST); | ||
} | ||
return false; | ||
break; | ||
|
||
} | ||
return true; | ||
} | ||
|
||
void matrix_scan_user(void) { | ||
return; | ||
}; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please replace the includes with
#include QMK_KEYBOARD_H
.