added first revision of pinkies out keyboard, still needs rgbmatrix config defined
This commit is contained in:
parent
7b3141b1b7
commit
ab0589deae
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
# TODO: consolidate all the build files into one
|
||||
|
||||
make xoiviox/pinkiesout/rgblight_oled:default
|
||||
cp .build/xoiviox_pinkiesout_rgblight_oled_default* /mnt/g/My\ Drive/qmk-keyboards/pinkiesout
|
||||
|
||||
#make xoiviox/pinkiesout/rgbmatrix_oled:sadekbaroudi
|
||||
#cp .build/xoiviox_pinkiesout_rgblight_oled_sadekbaroudi* /mnt/g/My\ Drive/qmk-keyboards/pinkiesout
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
/*
|
||||
Copyright 2021 Sadek Baroudi <sadekbaroudi@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 DEVICE_VER 0x0001
|
||||
#define VENDOR_ID 0xFEFE
|
||||
#define PRODUCT_ID 0x6011
|
||||
//#define DEVICE_VER 0x0001 // Now defined in the revX/config.h
|
||||
#define MANUFACTURER sadekbaroudi
|
||||
#define PRODUCT sadekbaroudi pinkiesout
|
||||
#define DESCRIPTION sadekbaroudi pinkiesout
|
||||
|
||||
/* key matrix size */
|
||||
/* Rows are doubled up */
|
||||
#define MATRIX_ROWS 8
|
||||
#define MATRIX_COLS 9
|
||||
|
||||
// wiring
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ B6, F4, B5, B4, B2, B3, B7, D5 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ D2, D4, C6, C7, E6, F5, F6, F7, B1 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define TAP_CODE_DELAY 25
|
||||
#define TAPPING_FORCE_HOLD
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
|
||||
#define RGB_DI_PIN D3
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define RGBLED_NUM 40
|
||||
#define RGBLIGHT_HUE_STEP 16
|
||||
#define RGBLIGHT_SAT_STEP 16
|
||||
#define RGBLIGHT_VAL_STEP 16
|
||||
#define RGBLIGHT_LIMIT_VAL 40 /* The maximum brightness level for RGBLIGHT_ENABLE */
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
// /*== all animations enable ==*/
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
// /*== or choose animations ==*/
|
||||
// #define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
// #define RGBLIGHT_EFFECT_SNAKE
|
||||
// #define RGBLIGHT_EFFECT_KNIGHT
|
||||
// #define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||
// /*== customize breathing effect ==*/
|
||||
// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
||||
// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
||||
// /*==== use exp() and sin() ====*/
|
||||
// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
||||
// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
||||
#endif
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
#define DRIVER_LED_TOTAL 40
|
||||
#define RGB_MATRIX_CENTER {100, 32}
|
||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 40 /* The maximum brightness level for RGB_MATRIX */
|
||||
#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||
#define RGB_MATRIX_KEYREACTIVE_ENABLED
|
||||
// #define DISABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
// #define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
// #define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
||||
// #define DISABLE_RGB_MATRIX_BREATHING
|
||||
// #define DISABLE_RGB_MATRIX_BAND_SAT
|
||||
// #define DISABLE_RGB_MATRIX_BAND_VAL
|
||||
// #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
// #define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
// #define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
// #define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
// #define DISABLE_RGB_MATRIX_CYCLE_ALL
|
||||
// #define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
// #define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
// #define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
// #define DISABLE_RGB_MATRIX_DUAL_BEACON
|
||||
// #define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
// #define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
// #define DISABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
// #define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
// #define DISABLE_RGB_MATRIX_RAINDROPS
|
||||
// #define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
// #define DISABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
// #define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
// #define DISABLE_RGB_MATRIX_SPLASH
|
||||
// #define DISABLE_RGB_MATRIX_MULTISPLASH
|
||||
// #define DISABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
// #define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
#endif
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 5
|
||||
|
|
@ -0,0 +1,215 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
|
||||
#ifdef PIMORONI_TRACKBALL_ENABLE
|
||||
#include "drivers/sensors/pimoroni_trackball.h"
|
||||
#include "pointing_device.h"
|
||||
#include "color.h"
|
||||
#endif
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_QWERTY,
|
||||
_COLEMAK,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
LOWER,
|
||||
RAISE,
|
||||
ADJUST
|
||||
};
|
||||
|
||||
bool is_caps_lock_on;
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
|
||||
[_QWERTY] = LAYOUT_pinkiesout(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LPRN, KC_RPRN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LCBR, KC_RCBR, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, ADJUST, ADJUST, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_LCTL, KC_LGUI, LOWER, KC_SPC, KC_LALT, KC_RALT, KC_SPC, RAISE, KC_RGUI, KC_RCTL
|
||||
),
|
||||
|
||||
|
||||
[_COLEMAK] = LAYOUT_pinkiesout(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LPRN, KC_RPRN, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_LBRC, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_G, KC_LCBR, KC_RCBR, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, ADJUST, ADJUST, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_LCTL, KC_LGUI, LOWER, KC_SPC, KC_LALT, KC_RALT, KC_SPC, RAISE, KC_RGUI, KC_RCTL
|
||||
),
|
||||
|
||||
|
||||
[_LOWER] = LAYOUT_pinkiesout(
|
||||
KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_pinkiesout(
|
||||
KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______,
|
||||
_______, KC_PGUP, KC_UP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_pinkiesout(
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
is_caps_lock_on = false;
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case KC_CAPSLOCK:
|
||||
if (record->event.pressed) {
|
||||
if (is_caps_lock_on) {
|
||||
is_caps_lock_on = false;
|
||||
} else {
|
||||
is_caps_lock_on = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#ifdef OLED_DRIVER_ENABLE
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
return OLED_ROTATION_180;
|
||||
}
|
||||
|
||||
|
||||
static void render_logo(void) {
|
||||
// pinkiesout logo, 128x64px
|
||||
static const unsigned char pinkiesout_logo [] PROGMEM = {
|
||||
// 'logo-128by64, 128x64px
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x18, 0x3f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x3f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xff, 0xf8, 0x7e, 0x1f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xff, 0xff, 0xf8, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x03, 0xff, 0xff, 0xf8, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x01, 0xff, 0xff, 0xf1, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xf0, 0x03, 0xff, 0xf1, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xf8, 0x00, 0xff, 0xf1, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xf8, 0x00, 0x7f, 0xe1, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xf8, 0x78, 0x40, 0xe3, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xf8, 0xfc, 0x00, 0x23, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xf1, 0xfe, 0x00, 0x07, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xf1, 0xfe, 0x0e, 0x07, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xf1, 0xfc, 0x3f, 0x07, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xe3, 0xfc, 0x7f, 0x0f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xe3, 0xfc, 0x7f, 0x8f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xe3, 0xf8, 0x7f, 0x8f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xc7, 0xf8, 0xff, 0x1f, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xc7, 0xf8, 0xff, 0x1f, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xc7, 0xf0, 0xff, 0x1f, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0x8f, 0xf1, 0xfe, 0x3f, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xfc, 0x7e, 0x07, 0xf1, 0xfe, 0x3f, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x01, 0xe1, 0xfe, 0x3f, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0xe3, 0xfc, 0x7f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xf0, 0xe3, 0xfc, 0x7f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xf8, 0x43, 0xfc, 0x7f, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xfc, 0x47, 0xf8, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xfc, 0x47, 0xf8, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xfc, 0x07, 0xf8, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xf8, 0x0f, 0xf1, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xf8, 0x0f, 0xf1, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0x40, 0x0f, 0xe1, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xe3, 0xff, 0xc0, 0x01, 0x1f, 0xe3, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xe3, 0xf0, 0x00, 0x03, 0x1f, 0xe3, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xe3, 0xf0, 0x00, 0xff, 0x1f, 0xe3, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xe3, 0xf0, 0x3f, 0xff, 0x1f, 0xc7, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0x0f, 0x87, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0x87, 0x07, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xc0, 0x0f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xe0, 0x1f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xf8, 0x7f, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0xff, 0xff, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xfc, 0x07, 0xff, 0xf8, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||
};
|
||||
oled_write_raw_P(pinkiesout_logo, sizeof(pinkiesout_logo));
|
||||
|
||||
}
|
||||
|
||||
void oled_task_user(void) {
|
||||
// If you don't want to display the logo, switch
|
||||
if (false) {
|
||||
//render_status();
|
||||
} else if (true) {
|
||||
render_logo();
|
||||
} else {
|
||||
//render_logo_text();
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,238 @@
|
|||
/* Copyright 2021 Sadek Baroudi
|
||||
*
|
||||
* 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 "sadekbaroudi.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#ifdef THUMBSTICK_ENABLE
|
||||
# include "thumbstick.h"
|
||||
#endif
|
||||
|
||||
|
||||
// Uncomment to set up WPM
|
||||
//char wpm_as_str[8];
|
||||
|
||||
/*
|
||||
* The `LAYOUT_pinkiesout_base` macro is a template to allow the use of identical
|
||||
* modifiers for the default layouts (eg QWERTY, Colemak, Dvorak, etc), so
|
||||
* that there is no need to set them up for each layout, and modify all of
|
||||
* them if I want to change them. This helps to keep consistency and ease
|
||||
* of use. K## is a placeholder to pass through the individual keycodes
|
||||
*/
|
||||
|
||||
// clang-format off
|
||||
#define LAYOUT_pinkiesout_base( \
|
||||
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
|
||||
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, \
|
||||
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
|
||||
) \
|
||||
LAYOUT_wrapper( \
|
||||
K01, K02, K03, LT(_FUNCTION, K04), K05, K06, LT(_FUNCTION, K07), LT(_WINNAV,K08), K09, K0A, \
|
||||
LCTL_T(K11), LGUI_T(K12), LALT_T(K13), LSFT_T(K14), K15, LT(_MOUSE, K16), RSFT_T(K17), RALT_T(K18), RGUI_T(K19), RCTL_T(K1A), \
|
||||
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, \
|
||||
_______, _______, KC_DEL, LT(_NAVIGATION,KC_ENT), LT(_FUNCTION,KC_TAB), LT(_MEDIA,KC_BSPC), LT(_SYMBOLS,KC_SPACE), KC_QUOT, _______, _______, \
|
||||
KC_MUTE, LCTL(KC_BSPC) \
|
||||
)
|
||||
|
||||
/* Re-pass though to allow templates to be used */
|
||||
#define LAYOUT_pinkiesout_base_wrapper(...) LAYOUT_pinkiesout_base(__VA_ARGS__)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = LAYOUT_pinkiesout_base_wrapper(
|
||||
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
|
||||
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
|
||||
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
|
||||
),
|
||||
|
||||
[_COLEMAK] = LAYOUT_pinkiesout_base_wrapper(
|
||||
______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
|
||||
______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
|
||||
______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
|
||||
),
|
||||
|
||||
[_ISRT] = LAYOUT_pinkiesout_base_wrapper(
|
||||
_________________ISRT_L1________________, _________________ISRT_R1________________,
|
||||
_________________ISRT_L2________________, _________________ISRT_R2________________,
|
||||
_________________ISRT_L3________________, _________________ISRT_R3________________
|
||||
),
|
||||
|
||||
[_NAVIGATION] = LAYOUT_wrapper(
|
||||
________________NAVIGATION_1_______________, _________________NUMPAD_1__________________,
|
||||
________________NAVIGATION_2_______________, _________________NUMPAD_2__________________,
|
||||
________________NAVIGATION_3_______________, _________________NUMPAD_3__________________,
|
||||
G_GOD_ON, G_GOD_OFF, _______, _______, KC_TAB, KC_BSPC, KC_SPACE, KC_DOT, _______, _______,
|
||||
_______, _______
|
||||
),
|
||||
|
||||
[_SYMBOLS] = LAYOUT_wrapper(
|
||||
________________SYMBOLS_L1_________________, ________________SYMBOLS_R1_________________,
|
||||
________________SYMBOLS_L2_________________, ________________SYMBOLS_R2_________________,
|
||||
________________SYMBOLS_L3_________________, ________________SYMBOLS_R3_________________,
|
||||
_______, _______, _______, KC_ENT, KC_DEL, KC_BSPC, _______, _______, G_PULLING, G_PUSH,
|
||||
_______, _______
|
||||
),
|
||||
|
||||
[_FUNCTION] = LAYOUT_wrapper(
|
||||
________________SHIFTNAV_1_________________, ________________FUNCTION_1_________________,
|
||||
________________SHIFTNAV_2_________________, ________________FUNCTION_2_________________,
|
||||
________________SHIFTNAV_3_________________, ________________FUNCTION_3_________________,
|
||||
_______, _______, _______, _______, _______, N_DEL_LINE, KC_SPACE, _______, _______, _______,
|
||||
_______, _______
|
||||
),
|
||||
|
||||
[_MEDIA] = LAYOUT_wrapper(
|
||||
___________________RGB_1___________________, _________________MACROS_1__________________,
|
||||
___________________RGB_2___________________, _________________MACROS_2__________________,
|
||||
___________________RGB_3___________________, _________________MACROS_3__________________,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______
|
||||
),
|
||||
|
||||
[_MOUSE] = LAYOUT_wrapper(
|
||||
__________________MOUSE_1__________________, ___________________BLANK___________________,
|
||||
__________________MOUSE_2__________________, ___________________BLANK___________________,
|
||||
__________________MOUSE_3__________________, ___________________BLANK___________________,
|
||||
_______, _______, _______, KC_MS_BTN1, KC_MS_BTN3, KC_MS_BTN3, KC_MS_BTN2, _______, _______, _______,
|
||||
_______, _______
|
||||
),
|
||||
|
||||
[_WINNAV] = LAYOUT_wrapper(
|
||||
__________________WIN_NAV_1________________, ___________________BLANK___________________,
|
||||
__________________WIN_NAV_2________________, ___________________BLANK___________________,
|
||||
___________________BLANK___________________, ___________________BLANK___________________,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
|
||||
#ifdef OLED_DRIVER_ENABLE
|
||||
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
return OLED_ROTATION_180;
|
||||
}
|
||||
|
||||
|
||||
// Commenting out logo as it takes up a lot of space :(
|
||||
static void render_logo(void) {
|
||||
// pinkiesout logo, 128x32px
|
||||
static const char PROGMEM pinkiesout_logo[] = {
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
|
||||
0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x07, 0x07, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0x8f, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x41, 0x41, 0x41,
|
||||
0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
|
||||
0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x07, 0x8f, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0x8f, 0x07, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30,
|
||||
0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x3f,
|
||||
0x3f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xf8, 0xf8,
|
||||
0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
|
||||
0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0x7f, 0x3f, 0x3e, 0x3e, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xf8, 0xf8, 0xf8,
|
||||
0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x3f,
|
||||
0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0xc1, 0xcd, 0xcd, 0xcc, 0xc0, 0xc1, 0xe1, 0xe3, 0xff, 0xff, 0xef, 0xc1, 0xc1, 0xc1,
|
||||
0xc4, 0xc4, 0xc4, 0xe0, 0xc1, 0xc1, 0xc1, 0xc3, 0xff, 0xff, 0xc1, 0xc0, 0xc0, 0xc1, 0xf9, 0xfd,
|
||||
0xfc, 0xfc, 0xff, 0xe3, 0xe1, 0xc1, 0xc1, 0xcd, 0xcc, 0xcc, 0xcd, 0xc1, 0xc1, 0xe1, 0xe3, 0xff,
|
||||
0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc1, 0xcd, 0xcd, 0xcc, 0xc0, 0xc1, 0xe1, 0xe3, 0xff, 0xff, 0xe3,
|
||||
0xe1, 0xc1, 0xc1, 0xcd, 0xcc, 0xcc, 0xcd, 0xc1, 0xc1, 0xe1, 0xe3, 0xff, 0xff, 0xc1, 0xc0, 0xc0,
|
||||
0xc1, 0xf9, 0xfd, 0xfc, 0xfc, 0xff, 0xe3, 0xe1, 0xc1, 0xc0, 0xcc, 0xcd, 0xcd, 0xc9, 0xc0, 0xc0,
|
||||
0xc0, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||
|
||||
};
|
||||
oled_write_raw_P(pinkiesout_logo, sizeof(pinkiesout_logo));
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
static void render_status(void) {
|
||||
oled_write_P(PSTR("pinkiesout\n"), false);
|
||||
// Uncomment to set up WPM
|
||||
// sprintf(wpm_as_str, "WPM %03d", get_current_wpm());
|
||||
// oled_write(wpm_as_str,false);
|
||||
led_t led_state = host_keyboard_led_state();
|
||||
oled_write_P(PSTR("Caps: "), false);
|
||||
oled_write_P(led_state.caps_lock ? PSTR("on ") : PSTR("off"), false);
|
||||
oled_write_P(PSTR("\n"),false);
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _QWERTY:
|
||||
oled_write_P(PSTR("Qwerty "), false);
|
||||
break;
|
||||
case _COLEMAK:
|
||||
oled_write_P(PSTR("Colemak"), false);
|
||||
break;
|
||||
case _ISRT:
|
||||
oled_write_P(PSTR("Workman"), false);
|
||||
break;
|
||||
case _NAVIGATION:
|
||||
oled_write_P(PSTR("Nav "), false);
|
||||
break;
|
||||
case _SYMBOLS:
|
||||
oled_write_P(PSTR("Symbols"), false);
|
||||
break;
|
||||
case _FUNCTION:
|
||||
oled_write_P(PSTR("Function"), false);
|
||||
break;
|
||||
case _MEDIA:
|
||||
oled_write_P(PSTR("Media "), false);
|
||||
break;
|
||||
case _MOUSE:
|
||||
oled_write_P(PSTR("Mouse "), false);
|
||||
break;
|
||||
case _WINNAV:
|
||||
oled_write_P(PSTR("Win nav"), false);
|
||||
break;
|
||||
|
||||
default:
|
||||
oled_write_P(PSTR("Unkn "), false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
static void render_logo_text(void) {
|
||||
oled_write_P(PSTR("pinkiesout"), false);
|
||||
}
|
||||
*/
|
||||
|
||||
void oled_task_user(void) {
|
||||
// If you don't want to display the logo, switch
|
||||
if (false) {
|
||||
//render_status();
|
||||
} else if (true) {
|
||||
render_logo();
|
||||
} else {
|
||||
//render_logo_text();
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
Copyright 2021 Sadek Baroudi <sadekbaroudi@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"
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
RGBLIGHT_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = no
|
||||
PIMORONI_TRACKBALL_ENABLE = no
|
||||
OLED_DRIVER_ENABLE = no
|
||||
ENCODER_ENABLE = no
|
||||
|
||||
ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
SRC += drivers/sensors/pimoroni_trackball.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE
|
||||
endif
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
Copyright 2021 Sadek Baroudi <sadekbaroudi@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 XOIVIOX_OLED
|
||||
#define XOIVIOX_OLED
|
||||
#endif
|
||||
|
||||
#pragma once
|
||||
#include "config_common.h"
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
RGBLIGHT_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = no
|
||||
PIMORONI_TRACKBALL_ENABLE = no
|
||||
OLED_DRIVER_ENABLE = yes
|
||||
ENCODER_ENABLE = no
|
||||
|
||||
ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
SRC += drivers/sensors/pimoroni_trackball.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE
|
||||
endif
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
/* Copyright 2021 Sadek Baroudi <sadekbaroudi@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/>.
|
||||
*/
|
||||
#include "pinkiesout.h"
|
||||
|
||||
// #ifdef RGB_MATRIX_ENABLE
|
||||
// led_config_t g_led_config = { {
|
||||
// { 0, 6, 7,13,14,25,26,32,33,39},
|
||||
// { 1, 5, 8,12,15,24,27,31,34,38},
|
||||
// { 2, 4, 9,11,16,23,28,30,35,37},
|
||||
// { 3,10,17,18,19,20,21,22,29,36}
|
||||
// }, {
|
||||
// {16,8}, {8,16}, {0,24}, {12,32}, {20,16}, {28,8}, {36,0}, {56,0}, {48,8}, {40,24},
|
||||
// {32,32}, {56,32}, {64,16}, {72,8}, {88,16}, {80,24}, {72,48}, {40,48}, {64,56}, {80,64},
|
||||
// {120,64}, {136,56}, {160,48}, {128,48}, {120,24}, {112,16}, {128,8}, {136,6}, {144,32}, {168,32},
|
||||
// {160,24}, {152,8}, {144,0}, {164,0}, {172,8}, {180,16}, {188,32}, {200,24}, {192,16}, {184,8}
|
||||
// }, {
|
||||
// 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||
// 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
|
||||
// 1, 1, 1, 4, 4, 4, 4, 4, 4, 4,
|
||||
// 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
|
||||
// } };
|
||||
// #endif
|
||||
|
||||
|
||||
/*
|
||||
letters: q, a, z, 1, x, s, w, e, d, c, 2, v, f, r, t, g, b, del, up, tab,| bs, spc, ', n, h, y, u, j, m, 3, ,, k, i, o, l, ., 4, /, ;, p
|
||||
25 center: 4, 2, 0, 3, 5, 7, 9, 14, 12, 10, 8, 14, 16, 18, 22, 20, 18, 10, 16, 20, | 30, 34, 40, 32, 30, 28, 32, 34, 36, 42, 40, 38, 36, 41, 43, 45, 47, 50, 48, 46
|
||||
100 center: 16 8, 0, 12, 20, 28, 36, 56, 48, 40, 32, 56, 64, 72, 88, 80, 72, 40, 64, 80, | 120, 136, 160, 128, 120, 112, 128, 136, 144, 168, 160, 152, 144, 164, 172, 180, 188, 200, 192, 184
|
||||
*/
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
/* Copyright 2021 Sadek Baroudi <sadekbaroudi@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 "quantum.h"
|
||||
|
||||
/* This a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
|
||||
#define ___ KC_NO
|
||||
|
||||
#define LAYOUT_pinkiesout( \
|
||||
K51, K01, K02, K03, K04, K05, K63, K66, K06, K07, K08, K09, K54, K69, \
|
||||
K61, K11, K12, K13, K14, K15, K73, K76, K16, K17, K18, K19, K56, K79, \
|
||||
K71, K21, K22, K23, K24, K25, K64, K67, K26, K27, K28, K29, K57, K68, \
|
||||
K72, K31, K32, K33, K34, K35, K52, K53, K36, K37, K38, K39, K58, K78, \
|
||||
K41, K42, K43, K44, K45, K46, K47, K48, K49, K59 \
|
||||
) \
|
||||
{ \
|
||||
{ K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
|
||||
{ K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
|
||||
{ K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
|
||||
{ K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \
|
||||
{ K41, K42, K43, K44, K45, K46, K47, K48, K49 }, \
|
||||
{ K51, K52, K53, K54, ___, K56, K57, K58, K59 }, \
|
||||
{ K61, ___, K63, K64, ___, K66, K67, K68, K69 }, \
|
||||
{ K71, K72, K73, ___, ___, K76, ___, K78, K79 } \
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
# pinkiesout
|
||||
|
||||
An ergonomic 30% keyboard
|
||||
|
||||
* Keyboard Maintainer: [sadekbaroudi](https://github.com/sadekbaroudi)
|
||||
|
||||
Pinkies Out supports vial! If you want to use Vial, go to https://github.com/sadekbaroudi/vial-qmk/keyboards/xoiviox/pinkiesout/
|
||||
|
||||
To build the firmware for this keyboard (after setting up your build environment), select from one of the following, depending on what features you have on your board:
|
||||
|
||||
make xoiviox/pinkiesout/no-features:default
|
||||
make xoiviox/pinkiesout/oled:default
|
||||
make xoiviox/pinkiesout/rgblight:default
|
||||
make xoiviox/pinkiesout/rgblight-oled:default
|
||||
make xoiviox/pinkiesout/rgbmatrix:default
|
||||
make xoiviox/pinkiesout/rgbmatrix-oled:default
|
||||
|
||||
If using the vial repository, use these:
|
||||
make xoiviox/pinkiesout/no-features:vial
|
||||
make xoiviox/pinkiesout/oled:vial
|
||||
make xoiviox/pinkiesout/rgblight:vial
|
||||
make xoiviox/pinkiesout/rgblight-oled:vial
|
||||
make xoiviox/pinkiesout/rgbmatrix:vial
|
||||
make xoiviox/pinkiesout/rgbmatrix-oled:vial
|
||||
|
||||
Example of flashing this keyboard:
|
||||
|
||||
make xoiviox/pinkiesout/no-features:default:flash
|
||||
|
||||
Or in the vial repository:
|
||||
|
||||
make xoiviox/pinkiesout/no-features:vial:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
Copyright 2021 Sadek Baroudi <sadekbaroudi@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 XOIVIOX_RGBLIGHT
|
||||
#define XOIVIOX_RGBLIGHT
|
||||
#endif
|
||||
|
||||
#pragma once
|
||||
#include "config_common.h"
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
RGBLIGHT_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = no
|
||||
PIMORONI_TRACKBALL_ENABLE = no
|
||||
OLED_DRIVER_ENABLE = no
|
||||
ENCODER_ENABLE = no
|
||||
|
||||
ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
SRC += drivers/sensors/pimoroni_trackball.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE
|
||||
endif
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
Copyright 2021 Sadek Baroudi <sadekbaroudi@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 XOIVIOX_RGBLIGHT
|
||||
#define XOIVIOX_RGBLIGHT
|
||||
#endif
|
||||
|
||||
#ifndef XOIVIOX_OLED
|
||||
#define XOIVIOX_OLED
|
||||
#endif
|
||||
|
||||
#pragma once
|
||||
#include "config_common.h"
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
RGBLIGHT_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = no
|
||||
PIMORONI_TRACKBALL_ENABLE = no
|
||||
OLED_DRIVER_ENABLE = yes
|
||||
ENCODER_ENABLE = no
|
||||
|
||||
ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
SRC += drivers/sensors/pimoroni_trackball.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE
|
||||
endif
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
Copyright 2021 Sadek Baroudi <sadekbaroudi@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 XOIVIOX_RGBMATRIX
|
||||
#define XOIVIOX_RGBMATRIX
|
||||
#endif
|
||||
|
||||
#pragma once
|
||||
#include "config_common.h"
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
RGBLIGHT_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
PIMORONI_TRACKBALL_ENABLE = no
|
||||
OLED_DRIVER_ENABLE = no
|
||||
ENCODER_ENABLE = no
|
||||
|
||||
ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
SRC += drivers/sensors/pimoroni_trackball.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE
|
||||
endif
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
Copyright 2021 Sadek Baroudi <sadekbaroudi@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 XOIVIOX_RGBMATRIX
|
||||
#define XOIVIOX_RGBMATRIX
|
||||
#endif
|
||||
|
||||
#ifndef XOIVIOX_OLED
|
||||
#define XOIVIOX_OLED
|
||||
#endif
|
||||
|
||||
#pragma once
|
||||
#include "config_common.h"
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
RGBLIGHT_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
PIMORONI_TRACKBALL_ENABLE = no
|
||||
OLED_DRIVER_ENABLE = yes
|
||||
ENCODER_ENABLE = no
|
||||
|
||||
ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
SRC += drivers/sensors/pimoroni_trackball.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE
|
||||
endif
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
|
||||
# Either do RGBLIGHT_ENABLE or RGB_MATRIX_ENABLE and RGB_MATRIX_DRIVER
|
||||
#RGBLIGHT_ENABLE = yes
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
RGB_MATRIX_DRIVER = WS2812
|
||||
|
||||
MIDI_ENABLE = no # MIDI support
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
ENCODER_ENABLE = no
|
||||
OLED_DRIVER_ENABLE = yes # this can be yes or no depending on if you have an OLED
|
||||
# EXTRAFLAGS += -flto # macros disabled, if you need the extra space
|
||||
MOUSEKEY_ENABLE = no
|
||||
|
||||
PIMORONI_TRACKBALL_ENABLE = no
|
||||
|
||||
ifeq ($(strip $(PIMORONI_TRACKBALL_ENABLE)), yes)
|
||||
POINTING_DEVICE_ENABLE := yes
|
||||
SRC += drivers/sensors/pimoroni_trackball.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
OPT_DEFS += -DPIMORONI_TRACKBALL_ENABLE
|
||||
endif
|
||||
|
|
@ -76,6 +76,11 @@ expanded before being used as arguments to the LAYOUT_xxx macro.
|
|||
# define LAYOUT LAYOUT_absolem
|
||||
#endif
|
||||
|
||||
// Since pinkiesout uses the name LAYOUT_pinkiesout instead of LAYOUT
|
||||
#if (!defined(LAYOUT) && defined(LAYOUT_pinkiesout))
|
||||
# define LAYOUT LAYOUT_pinkiesout
|
||||
#endif
|
||||
|
||||
|
||||
// clang-format off
|
||||
#define LAYOUT_ergodox_wrapper(...) LAYOUT_ergodox(__VA_ARGS__)
|
||||
|
|
|
|||
Loading…
Reference in New Issue