Organize KPrepublic, K.T.E.C, xiudi boards into directories (#12159)

* reset; redoing my steps; and recommit

* include xd002/.noci
This commit is contained in:
peepeetee
2021-08-21 22:53:49 -05:00
committed by GitHub
parent c70abc8d04
commit 78ccd9c201
577 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
/* Copyright 2017 Benjamin Kesselring
*
* 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
// place overrides here
/* Enable the space-cadet options */
#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_PGUP
#define RCPC_KEYS KC_RCTL, KC_TRNS, KC_PGDOWN
#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_HOME
#define LCPO_KEYS KC_LCTL, KC_TRNS, KC_END
#define COMBO_COUNT 1
#define TAPPING_TERM 175
#define BACKLIGHT_BREATHING
#undef RGBLIGHT_ANIMATIONS

View File

@@ -0,0 +1,90 @@
/*
* DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
* Version 2, December 2004
*
* Copyright (C) 2019 4sStylZ <4sstylz@protonmail.ch>
*
* Everyone is permitted to copy and distribute verbatim or modified
* copies of this license document, and changing it is allowed as long
* as the name is changed.
*
* DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
* TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
*
* 0. You just DO WHAT THE FUCK YOU WANT TO.
*/
#include QMK_KEYBOARD_H
/**
* Macro for selecting all the text in the document.
* Usual shortcut :Ctrl+A.
*
* @param keyrecord_t *record
*
* @return void
*/
void select_all(keyrecord_t *record) {
if (record->event.pressed) {
tap_code16(C(KC_A));
}
}
/**
* Macro for selecting the current row.
*
* @param keyrecord_t *record
*
* @return void
*/
void select_row(keyrecord_t *record) {
if (record->event.pressed) {
tap_code(KC_HOME);
tap_code16(S(KC_END));
}
}
/**
* Macro for selecting the current word.
* Usage : You need to have the cursor into the word or directly at the right.
*
*
* Usual shortcut :Ctrl+A.
*
* @param keyrecord_t *record
*
* @return void
*/
void select_word(keyrecord_t *record) {
if (record->event.pressed) {
register_code(KC_LCTL);
tap_code(KC_LEFT);
tap_code16(S(KC_RGHT));
unregister_code(KC_LCTL);
}
}
/**
* Macro for inserting two 0 with keypad.
* Be carefull to have the keypad lock enabled
*
* @param keyrecord_t *record
*
* @return void
*/
void insert_00(keyrecord_t *record) {
if (record->event.pressed) {
tap_code16(S(KC_0));
tap_code16(S(KC_0));
}
}
/**
* Bépo Windows lock
*
* @param keyrecord_t *record
*
* @return void
*/
void windows_lock(void) {
tap_code16(G(KC_O));
}

View File

@@ -0,0 +1,186 @@
/* Copyright 2017 Wunder
*
* 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 QMK_KEYBOARD_H
#include "keycodes.h"
#include "leds.h"
// Implement Super-alt↯tab
// See https://docs.qmk.fm/#/feature_macros?id=super-alt↯tab
bool is_alt_tab_active = false;
uint16_t alt_tab_timer = 0;
bool is_screen_lock_triggered = false;
uint16_t screen_lock_timer = 0;
// Defining all the custom keycodes.
enum custom_keycodes {
ALT_TAB = SAFE_RANGE,
KC_00 ,
SLC_ROW,
SLC_ALL,
SLC_WRD
};
enum combo_events {
SCR_LCK
};
const uint16_t PROGMEM lock_combo[] = {KC_J, KC_K, KC_L, KC_SCLN, COMBO_END};
combo_t key_combos[COMBO_COUNT] = {COMBO(lock_combo, SCR_LCK)};
// Layer shorthand
#define _QW 0
#define _FN 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY
* ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
* │` Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ Del │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │PrtScn│
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ Tab │ Q │ W │ E │ R │ T │ Bksp │ Y │ U │ I │ O │ P │ [ │ ] │ Home │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ FN │ A │ S │ D │ F │ G │Enter │ H │ J │ K │ L │ ; │ ' │ # │ End │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ Shft │ Z │ X │ C │ V │ B │ALTTAB│ N │ M │ , │ . │ / │ Shft │ FN │ PgUp │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ Ctrl │ Gui │ Alt │ Back │ Frwd │Space │ App │Space │ Left │ Up │ Down │ Right│ Alt │ Ctrl │ PgDn │
* └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘
*/
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_DEL , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINUS, KC_EQUAL, KC_PSCR,
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_BSPC, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC , KC_RBRC , KC_HOME,
MO(_FN), KC_A , KC_S , KC_D , KC_F , KC_G , KC_ENT , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT , KC_NUHS , KC_END ,
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , ALT_TAB, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH , KC_RSFT , MO(_FN) , KC_PGUP,
KC_LCTL, KC_LGUI, KC_LALT, KC_WBAK, KC_WFWD, KC_SPC, KC_APP , KC_SPC, KC_LEFT, KC_UP , KC_DOWN, KC_RIGHT, KC_RALT , KC_RCTL , KC_PGDN
),
/* FUNCTION
* NB : My OS layout (Bépo) don't have direct access to numbers, so that's why I use «LSFT» mod for the keypad.
* You need to remove LSFT(KC) for using this layout with Qwerty. Also the use of KC_8, 7, and V are some specific Bépo
* things.
* ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
* │Alt F4│ F1 │ F2 │ F3 │ F4 │ F5 │BL Tog│ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ # Lk │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ │ │SltAll│SltRow│SltRow│ Brt+ │BL Stp│ │ │ KP 7 │ KP 8 │ KP 9 │ 8 │ │ │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ │ │ Cut │ Copy │Paste │ Brt- │BL Brt│ │ │ KP 4 │ KP 5 │ KP 6 │ 7 │ │Reset │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ │ │ Mute │ Vol- │ Vol+ │ Play │Ld Tog│ │ │ KP 1 │ KP 2 │ KP 3 │Enter │ │ │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ │ │ │ │ │ │Ld M+ │ │ │ KP 0 │KC 00 │ V │ │ │ │
* └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
LALT(KC_F4), KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , BL_TOGG, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_NLCK,
_______ , _______, SLC_ALL , SLC_ROW , SLC_WRD , KC_BRIU, BL_STEP, _______, _______, LSFT(KC_7) , LSFT(KC_8) , LSFT(KC_9), KC_8 , _______, _______,
_______ , _______, LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), KC_BRID, BL_BRTG, _______, _______, LSFT(KC_4) , LSFT(KC_5) , LSFT(KC_6), KC_7 , _______, RESET ,
_______ , _______, KC_MUTE , KC_VOLD , KC_VOLU , KC_MPLY, RGB_TOG, _______, _______, LSFT(KC_1) , LSFT(KC_2) , LSFT(KC_3), KC_ENT , _______, _______,
_______ , _______, _______ , _______ , _______ , _______, RGB_MOD, _______, _______, LSFT(KC_0) , KC_00 , KC_V , _______ , _______, _______
)
};
// Processing all the key pressed.
// Alt+tab.
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Depending keycodes…
switch (keycode) { // This will do most of the grunt work with the keycodes.
case ALT_TAB:
if (record->event.pressed) {
if (!is_alt_tab_active) {
is_alt_tab_active = true;
gp100_led_on();
register_code(KC_LALT);
}
alt_tab_timer = timer_read();
register_code(KC_TAB);
} else {
unregister_code(KC_TAB);
}
break;
case KC_00:
insert_00(record);
break;
case SLC_ALL:
select_all(record);
break;
case SLC_ROW:
select_row(record);
break;
case SLC_WRD:
select_word(record);
break;
}
return true;
}
void process_combo_event(uint16_t combo_index, bool pressed) {
switch(combo_index) {
case SCR_LCK:
if (pressed) {
/*if (!is_screen_lock_triggered) {*/
is_screen_lock_triggered = true;
gp103_led_on();
windows_lock();
/*}*/
screen_lock_timer = timer_read();
}
break;
}
}
void matrix_scan_user(void) { // The very important timer.
if (is_alt_tab_active) {
if (timer_elapsed(alt_tab_timer) > 750) {
unregister_code(KC_LALT);
gp100_led_off();
is_alt_tab_active = false;
}
}
if (is_screen_lock_triggered) {
if (timer_elapsed(screen_lock_timer) > 750) {
gp103_led_off();
is_screen_lock_triggered = false;
}
}
}
void led_set_user(uint8_t usb_led) {
if (IS_LAYER_ON(_FN)) {
capslock_led_on();
} else {
capslock_led_off();
}
}
void keyboard_post_init_user (void) {
setDefaultDisplay();
}
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case _FN:
setFNDisplay();
break;
default: // for any other layers, or the default layer
setDefaultDisplay();
break;
}
return state;
}

View File

@@ -0,0 +1,46 @@
/*
* DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
* Version 2, December 2004
*
* Copyright (C) 2019 4sStylZ <4sstylz@protonmail.ch>
*
* Everyone is permitted to copy and distribute verbatim or modified
* copies of this license document, and changing it is allowed as long
* as the name is changed.
*
* DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
* TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
*
* 0. You just DO WHAT THE FUCK YOU WANT TO.
*/
#include QMK_KEYBOARD_H
void setDefaultDisplay(void) {
_delay_ms(10);
rgblight_setrgb_at(180, 35, 0, 0);
_delay_ms(10);
rgblight_setrgb_at(200, 35, 0, 1);
_delay_ms(10);
rgblight_setrgb_at(220, 35, 0, 2);
_delay_ms(10);
rgblight_setrgb_at(220, 35, 0, 3);
_delay_ms(10);
rgblight_setrgb_at(200, 35, 0, 4);
_delay_ms(10);
rgblight_setrgb_at(180, 35, 0, 5);
}
void setFNDisplay(void) {
_delay_ms(10);
rgblight_setrgb_at(145, 45, 0, 0);
_delay_ms(10);
rgblight_setrgb_at(160, 45, 0, 1);
_delay_ms(10);
rgblight_setrgb_at(175, 45, 0, 2);
_delay_ms(10);
rgblight_setrgb_at(190, 45, 0, 3);
_delay_ms(10);
rgblight_setrgb_at(205, 45, 0, 4);
_delay_ms(10);
rgblight_setrgb_at(220, 45, 0, 5);
}

View File

@@ -0,0 +1,4 @@
# Personal keymap of 4sStylZ
* Similar to a Typematrix 2030 layout,
* 3 leds on the GP001, GP003 and Capslock led

View File

@@ -0,0 +1,30 @@
# Copyright 2013 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/>.
COMBO_ENABLE = yes # Enable combo for special function when using multiple keys at once.
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
MIDI_ENABLE = no # MIDI support
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend

View File

@@ -0,0 +1,20 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
*
* 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
// Disable backlight
#undef BACKLIGHT_ENABLE

View File

@@ -0,0 +1,199 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
*
* 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 QMK_KEYBOARD_H
// Fillers to make layering more clear
#define ___T___ KC_TRNS
// Layer shorthand
#define _QW 0
#define _LW 1
#define _RS 2
#define _FN 3
#define _ENTFN 4
#define _MEDIA 5
#define _MOUSE 6
#define M_BACK 0
#define M_FWRD 1
#define M_PTAB 2
#define M_NTAB 3
#define M_ZOUT 4
#define M_ZOIN 5
#define M_ENTR 6
#define M_SCRN 7
#define M_NSPC 8
#define M_PSPC 9
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_GRAVE,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INSERT,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(_MOUSE, KC_SCLN), LT(_MEDIA, KC_QUOT), LT(_ENTFN, KC_ENT), LT(_ENTFN, KC_ENT), KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN,
KC_LCTL, MO(_FN), KC_LALT, KC_LGUI, MO(_LW), KC_SPC, KC_SPC, MO(_RS), LT(_ENTFN, KC_ENT), KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
/* LOWERED
*/
[_LW] = LAYOUT_ortho_5x15( /* LOWERED */
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, KC_INS,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, ___T___, ___T___, _______,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, KC_PGUP, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
),
/* RAISED
*/
[_RS] = LAYOUT_ortho_5x15( /* RAISED */
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, KC_INS,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___, _______,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, KC_PGUP, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
),
/* FUNCTION
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR,
KC_CAPS, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_INC, BL_DEC, ___T___, ___T___, KC_PGUP, KC_WH_D,
_______ , _______, AG_SWAP, AG_NORM, _______, KC_BTN1, KC_BTN1, _______, AG_NORM, AG_SWAP, _______, _______, KC_HOME, KC_PGDN, KC_END
),
[_ENTFN] = LAYOUT_ortho_5x15( /* Enter FN */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, M(M_PTAB), M(M_NTAB), M(M_PSPC), M(M_NSPC), _______, _______, _______, _______, M(M_ZOUT), M(M_ZOIN), _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, _______, _______, _______, _______, _______,
_______, M(M_BACK), M(M_FWRD), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_MEDIA] = LAYOUT_ortho_5x15( /* Media */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_SLCK, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_VOLU, _______, _______, _______, _______, _______, KC_MRWD, KC_MPLY, KC_MFFD, _______, _______, _______, _______, _______,
_______, KC_VOLD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_MOUSE] = LAYOUT_ortho_5x15( /* Mouse */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
keyevent_t event = record->event;
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
bool use_cmd = true; // Use, for example, Cmd-Tab, Cmd-C, Cmd-V, etc.
// Compare to MAGIC_SWAP_ALT_GUI and MAGIC_UNSWAP_ALT_GUI configs, set in:
// quantum/quantum.c
if(keymap_config.swap_lalt_lgui == 1 && keymap_config.swap_ralt_rgui == 1) {
use_cmd = false; // ... or, Alt-Tab, Ctrl-C, Ctrl-V, etc.
}
switch(id) {
case M_BACK:
/* Command + [ or previous page */
if (use_cmd) {
return (event.pressed ? MACRO( D(LGUI), T(LBRC), U(LGUI), END ) : MACRO(END));
} else {
return (event.pressed ? MACRO( D(LALT), T(LEFT), U(LALT), END ) : MACRO(END));
}
case M_FWRD:
/* Command + ] or next page */
if (use_cmd) {
return (event.pressed ? MACRO( D(LGUI), T(RBRC), U(LGUI), END ) : MACRO(END));
} else {
return (event.pressed ? MACRO( D(LALT), T(RIGHT), U(LALT), END ) : MACRO(END));
}
case M_PTAB:
/* Command + { or prev tab. */
if (use_cmd) {
return (event.pressed ? MACRO( D(LGUI), D(RSFT), T(LBRC), U(RSFT), U(LGUI), END ) : MACRO(END));
} else {
return (event.pressed ? MACRO( D(LCTRL), D(RSFT), T(TAB), U(RSFT), U(LCTRL), END ) : MACRO(END));
}
case M_NTAB:
/* Command + } or next tab*/
if (use_cmd) {
return (event.pressed ? MACRO( D(LGUI), D(RSFT), T(RBRC), U(RSFT), U(LGUI), END ) : MACRO(END));
} else {
return (event.pressed ? MACRO( D(LCTRL), T(TAB), U(LCTRL), END ) : MACRO(END));
}
case M_ZOUT:
/* Command + - or Ctrl + -*/
if (use_cmd) {
return (event.pressed ? MACRO( D(LGUI), T(MINS), U(LGUI), END ) : MACRO(END));
} else {
return (event.pressed ? MACRO( D(LCTRL), T(MINS), U(LCTRL), END ) : MACRO(END));
}
break;
case M_ZOIN:
/* Command + = or Ctrl + =*/
if (use_cmd) {
return (event.pressed ? MACRO( D(LGUI), T(EQL), U(LGUI), END ) : MACRO(END));
} else {
return (event.pressed ? MACRO( D(LCTRL), T(EQL), U(LCTRL), END ) : MACRO(END));
}
break;
case M_ENTR:
/* Command + Enter or Ctrl + Enter*/
if (use_cmd) {
return (event.pressed ? MACRO( D(LGUI), T(ENT), U(LGUI), END ) : MACRO(END));
} else {
return (event.pressed ? MACRO( D(LCTRL), T(ENT), U(LCTRL), END ) : MACRO(END));
}
case M_SCRN:
/* Command + Enter or Ctrl + Enter*/
if (use_cmd) {
return (event.pressed ? MACRO( D(LGUI), D(LCTRL), D(LSFT), T(4), U(LSFT), U(LGUI), U(LCTRL), END ) : MACRO(END));
} else {
return (event.pressed ? MACRO( T(PSCR) ) : MACRO(END));
}
case M_NSPC:
/* Next space / desktop */
if (use_cmd) {
return (event.pressed ? MACRO( D(LCTRL), T(RIGHT), U(LCTRL), END ) : MACRO(END));
} else {
return (event.pressed ? MACRO( D(LGUI), T(RIGHT), U(LGUI), END ) : MACRO(END));
}
break;
case M_PSPC:
/* Previous space / desktop */
if (use_cmd) {
return (event.pressed ? MACRO( D(LCTRL), T(LEFT), U(LCTRL), END ) : MACRO(END));
} else {
return (event.pressed ? MACRO( D(LGUI), T(LEFT), U(LGUI), END ) : MACRO(END));
}
default:
break;
}
return MACRO_NONE;
};

View File

@@ -0,0 +1,21 @@
# Adi's XD75re Keymap
This is my own (@adiron) keymap. It was originally made for the Planck. Since then a modified layout has expanded to encompass the XD75re as well, which I mostly use.
Below is a summary of the important functions in the keymap. For more, consult the keymap file.
## Multi-use keys
Enter (thumb key) - HJKL become left, down, up, right (VIM movement keys). Q and W become previous and next tab, E and R switch spaces in macOS, A and Z go back and and forward in the browser.
Semicolon - VIM movement keys become mouse. U left click. I right click.
Quote key - JKL are back, pause/play and forward. AZ are volume up and down, Q and W are brightness down and up.
## Misc
Lower + Quote - a Hebrew maqaf (־) in macOS
## AG swap
Macros refer to AG_SWAP to check whether to send the macOS or the Windows shortcut. Very useful to me since I alternate between the two.

View File

@@ -0,0 +1,16 @@
# Copyright 2013 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/>.
BACKLIGHT_ENABLE = no

View File

@@ -0,0 +1,27 @@
/* Copyright 2017 Benjamin Kesselring
*
* 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
// place overrides here
#define TAPPING_TOGGLE 2
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_MAX_SPEED 4
#define MOUSEKEY_TIME_TO_MAX 5
#define MOUSEKEY_WHEEL_MAX_SPEED 1
#define MOUSEKEY_WHEEL_TIME_TO_MAX 50

View File

@@ -0,0 +1,114 @@
/* Copyright 2017 Wunder
*
* 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 QMK_KEYBOARD_H
// Layer shorthand
#define _QW 0
#define _FN 1
enum my_kc {
A_BL_TG = SAFE_RANGE
// , A_BL_Y
// , A_BL_N
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | - | ` | = | 6 | 7 | 8 | 9 | 0 | BSPC |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | [ | ] | \ | Y | U | I | O | P | ' |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | S | D | F | G | UP | DEL | DOWN | H | J | K | L | ; | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | HOME | PG UP | END | N | M | , | . | / | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | FN | LGUI | LALT | SPACE | SPACE | FN | PG DN | FN | BSPC | BSPC | RALT | RGUI | FN | RCTRL |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_MINS, KC_GRV , KC_EQL , 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_BSLS, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_QUOT,
KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_UP , KC_DEL , KC_DOWN, KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_ENT,
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_HOME, KC_PGUP, KC_END , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
KC_LCTL, TT(_FN), KC_LGUI, KC_LALT, KC_SPC , KC_SPC , TT(_FN), KC_PGDN, TT(_FN), KC_BSPC, KC_BSPC, KC_RALT, KC_RGUI, TT(_FN), KC_RCTL
),
/* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | MS W U | | MS 2 | MS UP | MS 1 | MS 3 | RGB HD | | RGB HI | [ | ] | UP | | = | \ |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | MS W D | | MS L | MS DN | MS R | | RGB SD | | RGB SI | - | LEFT | DOWN | RIGHT | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | RGB VD | BL TG | RGB VI | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | FN | RGB TG | | MS W L | MS W R | | RESET | | MS 1 | MS 2 | RGB RMD| RGB MD | FN | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, RGB_HUD, _______, RGB_HUI, KC_F7, KC_F8, KC_F9, KC_F10 , KC_F11 , KC_F12,
KC_WH_U, _______, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, RGB_SAD, _______, RGB_SAI, KC_LBRC, KC_RBRC, KC_UP , _______ , KC_EQL , KC_BSLS,
KC_WH_D, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, RGB_VAD, _______, RGB_VAI, KC_MINS, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,
_______, _______, _______, _______, _______, _______, RGB_RMOD,A_BL_TG, RGB_MOD, _______, _______, _______, _______ , _______, _______,
_______, TT(_FN), RGB_TOG, _______, KC_WH_L, KC_WH_R, TT(_FN), RESET , TT(_FN), KC_BTN1, KC_BTN2, _______, _______ , TT(_FN), _______
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case A_BL_TG:
if (record->event.pressed) {
// toggle keycaps leds (f5 pin)
PORTF ^= (1 << 5);
}
return false;
// case A_BL_Y:
// if (record->event.pressed) {
// keycaps_led_on();
// }
// return false;
// case A_BL_N:
// if (record->event.pressed) {
// keycaps_led_off();
// }
// return false;
default:
return true;
}
}
// Runs whenever there is a layer state change.
layer_state_t layer_state_set_user(layer_state_t state) {
uint8_t layer = biton32(state);
gp100_led_off();
gp103_led_off();
// turns on gp100 (top left led) for odd layers
if (layer & (1<<0)) gp100_led_on();
// turns on gp103 (top mid led) for layers 2, 6, ...
if (layer & (1<<1)) gp103_led_on();
return state;
}

View File

@@ -0,0 +1,35 @@
# ArpinFidel's layout for xd75
```
QWERTY
.--------------------------------------------------------------------------------------------------------------------------------------.
| ESC | 1 | 2 | 3 | 4 | 5 | - | ` | = | 6 | 7 | 8 | 9 | 0 | BSPC |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
| TAB | Q | W | E | R | T | [ | ] | \ | Y | U | I | O | P | ' |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
| CAP LK | A | S | D | F | G | UP | DEL | DOWN | H | J | K | L | ; | ENTER |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
| LSHIFT | Z | X | C | V | B | HOME | PG UP | END | N | M | , | . | / | RSHIFT |
|--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
| LCTRL | FN | LGUI | LALT | SPACE | SPACE | FN | PG DN | FN | BSPC | BSPC | RALT | RGUI | FN | RCTRL |
'--------------------------------------------------------------------------------------------------------------------------------------'
FUNCTION
.--------------------------------------------------------------------------------------------------------------------------------------.
| F1 | F2 | F3 | F4 | F5 | F6 | | | | F7 | F8 | F9 | F10 | F11 | F12 |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
| MS W U | | MS 2 | MS UP | MS 1 | MS 3 | RGB HD | | RGB HI | [ | ] | UP | | = | \ |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
| MS W D | | MS L | MS DN | MS R | | RGB SD | | RGB SI | - | LEFT | DOWN | RIGHT | | |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
| | | | | | | RGB VD | BL TG | RGB VI | | | | | | |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
| | FN | RGB TG | | MS W L | MS W R | | RESET | | MS 1 | MS 2 | RGB RMD| RGB MD | FN | |
'--------------------------------------------------------------------------------------------------------------------------------------'
```
special keys in the middle. hold fn for momentary switch, double tap for toggle. mouse control, arrow keys, led control, and special keys on fn layer.
TODO :
- backlight brightness
- dynamic macros

View File

@@ -0,0 +1,16 @@
# Copyright 2013 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/>.
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite

View File

@@ -0,0 +1,19 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
*
* 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
// place overrides here

View File

@@ -0,0 +1,180 @@
/* Copyright 2017 Benjamin Kesselring
*
* 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 QMK_KEYBOARD_H
// Fillers to make layering more clear
#define ___T___ KC_TRNS
// Layer shorthand
#define _QW 0
#define _CM 1
#define _DV 2
#define _LW 3
#define _RS 4
#define _FN 5
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY - MIT ENHANCED / GRID COMPATIBLE
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | ESC | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN,
M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
),
/* COLEMAK - MIT ENHANCED / GRID COMPATIBLE
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | \ | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | ESC | A | R | S | T | D | H | N | E | I | O | ' | XXXXXX . ENTER | PG UP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | LSHIFT | Z | X | C | V | B | K | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_CM] = LAYOUT_ortho_5x15( /* COLEMAK */
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_ENT, KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN,
M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
),
/* DVORAK - MIT ENHANCED / GRID COMPATIBLE
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | ' | , | . | P | Y | F | G | C | R | L | [ | ] | \ | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | ESC | A | O | E | U | I | D | H | T | N | S | / | XXXXXX . ENTER | PG UP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | LSHIFT | ; | Q | J | K | X | B | M | W | V | Z | XXXXXX . RSHIFT | UP | PG DN |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_DV] = LAYOUT_ortho_5x15( /* DVORAK */
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, KC_ENT, KC_ENT, KC_PGUP,
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN,
M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
),
/* LOWERED
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | INS |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | XXXXXX . | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | | | | | | XXXXXX . | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_LW] = LAYOUT_ortho_5x15( /* LOWERED */
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, KC_INS,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, ___T___, ___T___, _______,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* RAISED
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | | INS |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | XXXXXX . | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | | | | | | XXXXXX . | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_RS] = LAYOUT_ortho_5x15( /* RAISED */
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, KC_INS,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___, _______,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* FUNCTION
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | NUM LK | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | RGB TG | RGB MD | RGB HI | RGB HD | RGB SI | RGB SD | RGB VI | RGB VD | BL TOG | BL INC | BL DEC | XXXXXX . | MOUS U | WHEEL- |
* |--------+--------+--------+--------+--------+-- 2u -----------+--------+--------+--------+--------+-----------------+--------+--------|
* | RESET | | QWERTY | COLEMK | DVORAK | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___,
KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR,
KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_INC, BL_DEC, ___T___, ___T___, KC_MS_U, KC_WH_D,
RESET , _______, DF(_QW), DF(_CM), DF(_DV), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
)
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
switch(id) {
case 0:
if (record->event.pressed) {
register_code(KC_RSFT);
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
} else {
unregister_code(KC_RSFT);
}
break;
}
return MACRO_NONE;
};

View File

@@ -0,0 +1 @@
# The default keymap for xd75

View File

@@ -0,0 +1,15 @@
# Copyright 2013 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/>.

View File

@@ -0,0 +1,81 @@
/* Copyright 2017 Wunder
*
* 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/>.
*
*/
// 2019/03/04 takashiski
// NORTICE
// This layout is for Japanese Keyboard User.
// So there are logicalparing symbols and special keycode like a KC_RO, KC_HENK, KC_MHEN, KC_JYEN.
// 日本語キーボードとして認識させて使うことが前提なので、記号位置が英語キーボードとは異なります。
// また、日本語キーボードでないと認識されない特殊なキーコードが含まれています。
#include QMK_KEYBOARD_H
// Layer shorthand
enum LAYER{
_QW,
_EASY_QW,
_CURSOR,
_RS,
_LW
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//qwerty layer(almost use default)
[_QW] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_JYEN, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_DEL,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, LT(_LW,KC_TAB), KC_SPC, LT(_CURSOR,KC_ENT), LT(_RS,KC_BSPC), KC_HENK, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
//4th row shifted 1u from regular ortholinear.
[_EASY_QW] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_JYEN, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_DEL,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_ENT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_UP, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, LT(_LW,KC_TAB), KC_SPC, LT(_CURSOR,KC_ENT), LT(_RS,KC_BSPC), KC_HENK, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
//LOWER
[_LW] = LAYOUT(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS ,
KC_CAPS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______, _______, _______,
KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_SLCK,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
),
//RAISE
[_RS] = LAYOUT(
KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR,
KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, _______, _______, _______,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_INC, BL_DEC, _______,KC_WH_U, KC_MS_U, KC_WH_D,
RESET , DF(_QW), DF(_EASY_QW), _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
),
[_CURSOR] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_JYEN, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_DEL,
KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_G, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, LT(_LW,KC_TAB), KC_SPC, KC_ENT, LT(_RS,KC_BSPC), KC_HENK, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
)
};

View File

@@ -0,0 +1,4 @@
# atomic style jp
This layout is based Standard Japanese Layout and atomic style layout.

View File

@@ -0,0 +1,3 @@
#pragma once
// place overrides here

View File

@@ -0,0 +1,21 @@
#include QMK_KEYBOARD_H
#include "bbaserdem.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layout
* ,-----------------------------------------------------------.
* |Blt|Lck| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |
* |---+---+-----------------------------------------------+---|
* |Int|Trm| |Cps|
* |---+---| |---|
* |Clc|Psw| | \ |
* |---+---| PLANCK |---|
* |Rev|Ffw| | [ |
* |---+---| |---|
* |Tog|Mut| | ] |
* `-----------------------------------------------------------'
*/
[0] = KM( FKLAVYE ),
[1] = KM( AYARLAR ),
};

View File

@@ -0,0 +1,14 @@
# XD75RE Setup
(WIP) F keyboard for turkish, using unicode.
* Write down keymap in userspace
* Figure out LED indicators
# Make
Take the board into reset mode, then
```
make xd75:bbaserdem:dfu
```
Either sudo it or set permissions in udev.

View File

@@ -0,0 +1,7 @@
# Build options
BACKLIGHT_ENABLE = yes # Switch LEDs
MOUSEKEY_ENABLE = yes # Emulates mouse key using keypresses
RGBLIGHT_ENABLE = no # LED strips
TAP_DANCE_ENABLE = no # Use multi-tap features
AUDIO_ENABLE = no # Audio stuff

View File

@@ -0,0 +1,14 @@
#pragma once
#define FORCE_NKRO
#define MOUSEKEY_DELAY 50
#define MOUSEKEY_INTERVAL 15
#define MOUSEKEY_MAX_SPEED 4
#define MOUSEKEY_TIME_TO_MAX 50
#define MOUSEKEY_WHEEL_MAX_SPEED 1
#define MOUSEKEY_WHEEL_TIME_TO_MAX 50
#define PERMISSIVE_HOLD
#define TAPPING_TERM 200
#define TAPPING_TOGGLE 2

View File

@@ -0,0 +1,119 @@
#include QMK_KEYBOARD_H
#define TOP LCTL(KC_HOME)
#define BOTTOM LCTL(KC_END)
#define FN MO(L_FN)
#define FN_CAPS LT(L_FN, KC_CAPS)
#define FN_FNLK TT(L_FN)
#define COMMA UC(0x002C)
#define L_PAREN UC(0x0028)
#define R_PAREN UC(0x0029)
#define EQUALS UC(0x003D)
#define TIMES UC(0x00D7)
#define DIVIDE UC(0x00F7)
#define MINUS UC(0x2212)
void eeconfig_init_user(void) {
set_unicode_input_mode(UC_LNX);
}
enum layers {
L_BASE,
L_FN,
L_NUMPAD,
};
enum custom_keycodes {
CLEAR = SAFE_RANGE,
NUMPAD,
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case CLEAR:
if (record->event.pressed) {
SEND_STRING(SS_LCTRL("a") SS_TAP(X_DELETE));
}
return false;
case NUMPAD:
if (record->event.pressed) {
layer_invert(L_NUMPAD);
bool num_lock = host_keyboard_leds() & 1<<USB_LED_NUM_LOCK;
if (num_lock != (bool)IS_LAYER_ON(L_NUMPAD)) {
tap_code(KC_NLCK); // Toggle Num Lock to match layer state.
}
}
return false;
default:
return true;
}
}
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base layer
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │Tab│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bsp│Del│
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │FnC│ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │Ent│Ent│PgU│
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │LSf│ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RSf│RSf│ ↑ │PgD│
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │LCt│LGu│LAl│Spc│Spc│Spc│Spc│Spc│Spc│RAl│FnL│RCt│ ← │ ↓ │ → │
* └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
*/
[L_BASE] = LAYOUT_ortho_5x15( \
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL, \
FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, KC_PGUP, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN, \
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, FN_FNLK, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \
),
/* Base layer
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Num│Scr│
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │M4 │M2 │M↑ │M1 │M3 │M5 │ │PgU│ ↑ │PgD│Ply│Prv│Nxt│Clr│Ins│
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ │M← │M↓ │M→ │MW↑│ │Hom│ ← │ ↓ │ → │End│ │ │ │Top│
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ │MA0│MA2│MW←│MW→│ │ │ │VoD│VoU│Mut│ │ │PgU│Btm│
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ │ │ │MW↓│MW↓│MW↓│ │ │ │ │ │App│Hom│PgD│End│
* └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
*/
[L_FN] = LAYOUT_ortho_5x15( \
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, NUMPAD, KC_PSCR, \
KC_BTN4, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, KC_BTN5, _______, KC_PGUP, KC_UP, KC_PGDN, KC_MPLY, KC_MPRV, KC_MNXT, CLEAR, KC_INS, \
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_U, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, _______, _______, TOP, \
_______, KC_ACL0, KC_ACL2, KC_WH_L, KC_WH_R, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PGUP, BOTTOM, \
_______, _______, _______, KC_WH_D, KC_WH_D, KC_WH_D, _______, _______, _______, _______, _______, KC_APP, KC_HOME, KC_PGDN, KC_END \
),
/* Numpad layer
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │Num│ │ │ │ │ │ │P7 │P8 │P9 │P- │ │ = │Num│ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ │ │ │ │ │ │ │P4 │P5 │P6 │P+ │ ( │ ) │ │ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ │ │ │ │ │ │ │P1 │P2 │P3 │P* │ × │PEn│PEn│ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ │ │ │ │ │ │ │P0 │ , │P. │P/ │ ÷ │ │ │ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
* └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
*/
[L_NUMPAD] = LAYOUT_ortho_5x15( \
NUMPAD, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, MINUS, EQUALS, NUMPAD, _______, \
_______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, L_PAREN, R_PAREN, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PAST, TIMES, KC_PENT, KC_PENT, _______, \
_______, _______, _______, _______, _______, _______, _______, KC_P0, COMMA, KC_PDOT, KC_PSLS, DIVIDE, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
};

View File

@@ -0,0 +1,15 @@
AUDIO_ENABLE = no
BACKLIGHT_ENABLE = no
BLUETOOTH_ENABLE = no
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
COMMAND_ENABLE = yes
CONSOLE_ENABLE = yes
EXTRAKEY_ENABLE = yes
MIDI_ENABLE = no
MOUSEKEY_ENABLE = yes
NKRO_ENABLE = yes
RGBLIGHT_ENABLE = no
SLEEP_LED_ENABLE = no
TAP_DANCE_ENABLE = no
UNICODE_ENABLE = yes
VISUALIZER_ENABLE = no

View File

@@ -0,0 +1 @@
#pragma once

View File

@@ -0,0 +1,141 @@
#include QMK_KEYBOARD_H
// Layer shorthand
#define _DV 0
#define _QW 1
#define _NP 2
#define _FN1 3
#define _FN2 4
#define RGBLIGHT_LIGHT_VAL 255
const uint8_t RGBLED_RAINBOW_SWIRL_INTERVALS[] PROGMEM = {10, 10, 10};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* DVORAK
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | - | ` | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | ' | . | . | P | Y | [ | UP | ] | F | G | C | R | L | / |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | O | E | U | I | LEFT | DOWN | RIGHT | D | H | T | N | S | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | ; | Q | J | K | X | PG DN | UP | PG UP | M | W | W | V | Z | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | DEL | LALT | WIN | FN1 | SPACE | LEFT | DOWN | RIGHT | SPACE | FN2 | LEFT | DOWN | UP | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_DV] = LAYOUT_ortho_5x15( /* DVORAK */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_GRV, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_LBRC, KC_UP, KC_RBRC, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
LCTL_T(KC_CAPS), KC_A, KC_O, KC_E, KC_U, KC_I, KC_LEFT, KC_DOWN, KC_RGHT, KC_D, KC_H, KC_T, KC_N, KC_S, KC_ENT,
KC_LSPO, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_PGDN, KC_UP, KC_PGUP, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSPC,
KC_LCTL, KC_DEL, KC_LALT, KC_LGUI, MO(_FN1),KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, MO(_FN2),KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
/* QWERTY
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | - | ` | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | [ | \ | ] | Y | U | I | O | P | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | S | D | F | G | HOME | DEL | PG UP | H | J | K | L | ; | ' |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | END | UP | PG DN | N | M | , | . | / | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | DEL | LALT | WIN | FN1 | SPACE | LEFT | DOWN | RIGHT | SPACE | FN2 | LEFT | DOWN | UP | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_GRV, KC_EQL, 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_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_UP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
KC_LCTL, KC_DEL, KC_LALT, KC_LGUI, MO(_FN1),KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, MO(_FN2),KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
/* NUMPAD
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | | | | | | | / | * | - | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | 7 | 8 | 9 | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | 4 | 5 | 6 | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | 1 | 2 | 3 | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | 0 | + | . | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_NP] = LAYOUT_ortho_5x15( /* NUMPAD */
_______, _______, _______, _______, _______, _______, KC_SLSH, KC_ASTR, KC_MINS, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_1, KC_2, KC_3, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_0, KC_PLUS, KC_DOT, _______, _______, _______, _______, _______, _______
),
/* FUNCTION1
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ` | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | ~ | ! | @ | # | $ | % | RESET |RGB HUE-|RGB HUE+| ^ | & | * | ( | ) | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | DEL | F1 | F2 | F3 | F4 | F5 | F6 |RGB SAT-|RGB SAT+| DVORAK | _ | + | { | } | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |BRIGHT- |BRIGHT+ | QWERTY | | | HOME | END | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | |RGB MODE|RGB MODE| | | PREV | VOL UP |VOL DOWN| NEXT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN1] = LAYOUT_ortho_5x15( /* FUNCTION1 */
KC_GRV , KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, RESET, RGB_HUD, RGB_HUI, 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, RGB_SAD, RGB_SAI, TO(_DV), KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_VAD, RGB_VAI, TO(_QW), _______, _______, KC_HOME, KC_END, _______,
_______, _______, _______, _______, _______, _______, _______,RGB_RMOD, RGB_MOD, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* FUNCTION2
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | ` | | | UP | | | RESET |RGB HUE-|RGB HUE+| NUMPAD | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | DEL | | LEFT | DOWN | RIGHT | | |RGB SAT-|RGB SAT+| DVORAK | - | = | [ | ] | \ |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | |BRIGHT- |BRIGHT+ | QWERTY | | | PAGE UP| PAGE DN| |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | |RGB MODE|RGB MODE| | | PREV | VOL UP |VOL DOWN| NEXT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN2] = LAYOUT_ortho_5x15( /* FUNCTION2 */
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_GRV, _______, _______, KC_UP, _______, _______, RESET, RGB_HUD, RGB_HUI, TG(_NP), _______, _______, _______, _______, KC_DEL,
KC_DEL, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_SAI, TG(_DV), KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, _______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, TG(_QW), _______, _______, KC_PGDN, KC_PGUP, _______,
_______, _______, _______, _______, _______, _______, _______,RGB_RMOD, RGB_MOD, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
)
};
void matrix_init_user(void) {
if (!(host_keyboard_leds() & (1<<USB_LED_NUM_LOCK))) {
register_code(KC_NUMLOCK);
unregister_code(KC_NUMLOCK);
}
}
void led_set_user(uint8_t usb_led) {
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
rgblight_mode(18);
} else {
rgblight_mode(14);
}
}

View File

@@ -0,0 +1,8 @@
# Boy_314's XD75RE Layout
- Default is DVORAK, FN+N to switch to QWERTY, FN+H to switch to DVORAK (N and H on QWERTY layout)
- Features many symbols and function keys in secondary layers.
- Dedicated bracket and braces keys on bottom right 4 keys, useful for programming
- RGB underglow changes to a fast cycle mode when CAPS LOCK is activated
- NOTE: WORK IN PROGRESS
# THINGS TO DO
- add numpad toggle layer

View File

@@ -0,0 +1,25 @@
/* Copyright 2018 darm
*
* 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
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_INTERVAL 16
#define MOUSEKEY_MAX_SPEED 7
#define MOUSEKEY_TIME_TO_MAX 60
#define MOUSEKEY_WHEEL_MAX_SPEED 8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
#define MOUSEKEY_WHEEL_DELAY 0

View File

@@ -0,0 +1,109 @@
/* Copyright 2018 darm
*
* 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 QMK_KEYBOARD_H
// Layer shorthand
#define _BASE 0
#define _LOWER 1
#define _LINVERT 2
#define _RAISE 3
#define _EMOJIFY 4
enum emoji_map {
UNAM, // unamused 😒
HEYE, // smiling face with heart shaped eyes 😍
OK, // ok hand sign 👌
SMIR, // smirk 😏
PRAY, // pray 🙏
CELE, // celebration 🙌
COOL, // smile with sunglasses 😎
EYES, // eyes
THNK, // BIG THONK
NAIL, // Nailcare 💅
};
const uint32_t PROGMEM unicode_map[] = {
[UNAM] = 0x1F612,
[HEYE] = 0x1f60d,
[OK] = 0x1F44C,
[SMIR] = 0x1F60F,
[PRAY] = 0x1F64F,
[CELE] = 0x1F64C,
[COOL] = 0x1F60E,
[EYES] = 0x1F440,
[THNK] = 0x1F914,
[NAIL] = 0x1F485,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_ortho_5x15(
KC_GESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_MPRV , KC_MPLY , KC_MNXT , 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_MINS , KC_EQL , KC_BSLS , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_ENT ,
MO(3) , KC_A , KC_S , KC_D , KC_F , KC_G , KC_LBRC , KC_MUTE , KC_RBRC , 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_HOME , KC_SLEP , KC_END , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_RSFT,
KC_LCTL , MO(4) , KC_LALT , KC_LGUI , KC_SPC , KC_SPC , MO(1) , KC_DEL , MO(2) , KC_SPC , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , KC_RGUI,
),
[_LOWER] = LAYOUT_ortho_5x15(
_______ , _______ , _______ , _______ , _______ , _______ , BL_TOGG , BL_DEC , BL_INC , _______ , _______ , _______ , _______ , _______ , _______,
_______ , KC_WH_L , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_U , BL_STEP , RGB_TOG , RGB_MOD , _______ , _______ , _______ , _______ , _______ , _______,
_______ , KC_WH_R , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_D , RGB_HUI , RGB_HUD , RGB_SAI , _______ , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , _______,
_______ , _______ , _______ , _______ , _______ , _______ , RGB_SAD , RGB_VAI , RGB_VAD , _______ , _______ , _______ , _______ , _______ , _______,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______,
),
[_LINVERT] = LAYOUT_ortho_5x15(
_______ , _______ , _______ , _______ , _______ , _______ , BL_TOGG , BL_DEC , BL_INC , _______ , _______ , _______ , _______ , _______ , _______,
_______ , _______ , _______ , _______ , _______ , _______ , BL_STEP , RGB_TOG , RGB_MOD , KC_WH_U , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_L , _______,
_______ , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT , _______ , RGB_SAI , RGB_HUI , RGB_HUD , KC_WH_D , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_R , _______,
_______ , _______ , _______ , _______ , _______ , _______ , RGB_SAD , RGB_VAI , RGB_VAD , _______ , _______ , _______ , _______ , _______ , _______,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
),
[_RAISE] = LAYOUT_ortho_5x15(
KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , _______ , _______ , _______ , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
_______ , _______ , KC_7 , KC_8 , KC_9 , _______ , _______ , _______ , _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , _______ , _______,
_______ , _______ , KC_4 , KC_5 , KC_6 , _______ , _______ , _______ , _______ , _______ , KC_MPRV , KC_MPLY , KC_MNXT , _______ , _______,
_______ , _______ , KC_1 , KC_2 , KC_3 , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______,
_______ , _______ , _______ , KC_0 , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
),
[_EMOJIFY] = LAYOUT_ortho_5x15(
TO(0) , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , RESET ,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______,
_______ , X(CELE) , X(PRAY) , X(NAIL) , X(OK) , X(THNK) , _______ , _______ , _______ , X(UNAM) , X(HEYE) , X(COOL) , X(EYES) , X(SMIR) , _______,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______,
_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______
)
};
void matrix_init_user(void) {
_delay_ms(20); // Gets rid of tick
set_unicode_input_mode(UC_LNX);
}
/* Template for future layers
[_LAYER_NAME] = LAYOUT_ortho_5x15(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
*/

View File

@@ -0,0 +1,43 @@
# XD75 Layout
Standard qwerty layout.
Limited emoji support and proper mouse settings.
## Keymap
```
_BASE
| GESC | 1 | 2 | 3 | 4 | 5 | MPRV | MPLY | MNXT | 6 | 7 | 8 | 9 | 0 | BSPC |
| TAB | Q | W | E | R | T | MINS | EQL | BSLS | Y | U | I | O | P | ENT |
| MO(3) | A | S | D | F | G | LBRC | MUTE | RBRC | H | J | K | L | SCLN | QUOT |
| LSFT | Z | X | C | V | B | HOME | SLEP | END | N | M | COMM | DOT | SLSH | RSFT |
| LCTL | MO(4) | LALT | LGUI | SPC | SPC | MO(1) | DEL | MO(2) | SPC | LEFT | DOWN | UP | RGHT | RGUI |
_LOWER
| _______ | _______ | _______ | _______ | _______ | _______ | BL_TOGG | BL_DEC | BL_INC | _______ | _______ | _______ | _______ | _______ | _______ |
| _______ | WH_L | BTN1 | MS_U | BTN2 | WH_U | BL_STEP | RGB_TOG | RGB_MOD | _______ | _______ | _______ | _______ | _______ | _______ |
| _______ | WH_R | MS_L | MS_D | MS_R | WH_D | RGB_HUI | RGB_HUD | RGB_SAI | _______ | LEFT | DOWN | UP | RGHT | _______ |
| _______ | _______ | _______ | _______ | _______ | _______ | RGB_SAD | RGB_VAI | RGB_VAD | _______ | _______ | _______ | _______ | _______ | _______ |
| _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ |
_LINVERT
| _______ | _______ | _______ | _______ | _______ | _______ | BL_TOGG | BL_DEC | BL_INC | _______ | _______ | _______ | _______ | _______ | _______ |
| _______ | _______ | _______ | _______ | _______ | _______ | BL_STEP | RGB_TOG | RGB_MOD | WH_U | BTN1 | MS_U | BTN2 | WH_L | _______ |
| _______ | LEFT | DOWN | UP | RGHT | _______ | RGB_SAI | RGB_HUI | RGB_HUD | WH_D | MS_L | MS_D | MS_R | WH_R | _______ |
| _______ | _______ | _______ | _______ | _______ | _______ | RGB_SAD | RGB_VAI | RGB_VAD | _______ | _______ | _______ | _______ | _______ | _______ |
| _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ |
_RAISE
| F1 | F2 | F3 | F4 | F5 | F6 | _______ | _______ | _______ | F7 | F8 | F9 | F10 | F11 | F12 |
| _______ | _______ | 7 | 8 | 9 | _______ | _______ | _______ | _______ | _______ | MUTE | VOLD | VOLU | _______ | _______ |
| _______ | _______ | 4 | 5 | 6 | _______ | _______ | _______ | _______ | _______ | MPRV | MPLY | MNXT | _______ | _______ |
| _______ | _______ | 1 | 2 | 3 | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ |
| _______ | _______ | _______ | 0 | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ |
_EMOJIFY
| TO(0) | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | RESET |
| _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ |
| _______ | X(CELE) | X(PRAY) | X(NAIL) | X(OK) | X(THNK) | _______ | _______ | _______ | X(UNAM) | X(HEYE) | X(COOL) | X(EYES) | X(SMIR) | _______ |
| _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ |
| _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ | _______ |
```

View File

@@ -0,0 +1,7 @@
# Build options
BACKLIGHT_ENABLE = yes # Switch LEDs
MOUSEKEY_ENABLE = yes # Emulates mouse key using keypresses
RGBLIGHT_ENABLE = yes # LED strips
EXTRAKEY_ENABLE = yes # Use system and audio control key codes
TAP_DANCE_ENABLE = no # Use multi-tap features
UNICODEMAP_ENABLE = yes # Emojify me pls

View File

@@ -0,0 +1,19 @@
/* Copyright 2017 Benjamin Kesselring
*
* 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
// place overrides here

View File

@@ -0,0 +1,152 @@
/* Copyright 2017 Wunder
*
* 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 QMK_KEYBOARD_H
// Layer shorthand
#define _QW 0
#define _FN 1
#define _FS 2
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
SWITCH_FN = SAFE_RANGE,
SWITCH_FS
};
uint16_t lt12_timer;
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | ENTER | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | S | D | F | G | H | J | K | L | : | @ | ~ | ENTER | HOME |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | B | N | M | , | . | / | RSHIFT | UP | END |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | DEL | LALT | PSCR | SPACE | SPACE | SPACE | SPACE | ALTGR | FN | FX | RCTRL | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, KC_DEL,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
KC_LCTL, KC_DEL, KC_LALT, KC_PSCR, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_ALGR, SWITCH_FN, SWITCH_FS, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
/* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | = | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | ENTER | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | S | D | F | G | H | J | K | L | : | @ | ~ | ENTER | HOME |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | B | N | M | , | . | / | RSHIFT | UP | END |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | DEL | LALT | PSCR | SPACE | SPACE | SPACE | SPACE | ALTGR | FN | FX | RCTRL | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EQL, KC_BSPC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, TO(_QW), TO(_FS), _______, _______, _______, _______
),
/* FUNCTIONS
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | RGB+ | BL_BRT | F3 | F4 | F5 | F6 | F7 | F8 | F9 | / | * | - | + | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | RGB_H+ | RGB- | BL- | E | R | T | Y | U | I | O | 7 | 8 | 9 | ENTER | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | RGB_H- | RGB_M+ | BL+ | VOL+ | F | G | H | J | K | L | 4 | 5 | 6 | ENTER | RESET |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | RGB_S+ | RGB_M- | BL_S | VOL- | V | B | B | N | M | , | 1 | 2 | 3 | UP | END |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | RGB_S- | RGB_T | BL_T | MUTE | SPACE | SPACE | SPACE | SPACE | ALTGR | FN | FX | 0 | . | . | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FS] = LAYOUT_ortho_5x15( /* FUNCTION */
_______, RGB_VAI, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, _______,
RGB_HUI, RGB_VAD, BL_INC, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
RGB_HUD, RGB_RMOD,BL_DEC, KC_VOLU, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, RESET,
RGB_SAI, RGB_MOD, BL_STEP, KC_VOLD, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______,
RGB_SAD, RGB_TOG, BL_TOGG, KC_MUTE, _______, _______, _______, _______, _______, TO(_FN), TO(_QW), KC_P0, KC_PDOT, KC_DOT, _______
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case SWITCH_FN:
if (record->event.pressed) {
lt12_timer = timer_read();
layer_on(_FN);
gp100_led_on();
} else {
if (timer_elapsed(lt12_timer) > 200) {
layer_off(_FN);
gp100_led_off();
}
}
return false;
break;
case SWITCH_FS:
if (record->event.pressed) {
lt12_timer = timer_read();
layer_on(_FS);
gp100_led_on();
} else {
if (timer_elapsed(lt12_timer) > 200) {
layer_off(_FS);
gp100_led_off();
}
}
return false;
break;
}
return true;
}
void matrix_init_user(void) {
}
void matrix_scan_user(void) {
}
void led_set_user(uint8_t usb_led) {
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
capslock_led_on();
} else {
capslock_led_off();
}
if (IS_LAYER_ON(_FN) || IS_LAYER_ON(_FS)) {
gp100_led_on();
} else {
gp100_led_off();
}
}

View File

@@ -0,0 +1,4 @@
# Bulbizarre keymap
Modified full layout, F-key layer, numpad and function layer.
Uses backlight, RGB underglow, and tap or hold layer switching keys.

View File

@@ -0,0 +1,16 @@
# Copyright 2013 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/>.
BACKLIGHT_ENABLE = yes

View File

@@ -0,0 +1,5 @@
#pragma once
#define FORCE_NKRO
#define RGBLIGHT_SLEEP

View File

@@ -0,0 +1,113 @@
#include QMK_KEYBOARD_H
// Layer shorthand
#define _QW 0
#define _FN 1
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
QMKBEST = SAFE_RANGE,
QMKURL
};
#define FN_CAPS LT(_FN, KC_CAPS)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | GESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Del | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | Mute |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | FN(CPS)| A | S | D | F | G | H | J | K | L | ; | ' | Vol- | Vol+ | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | N | M | , | . | / | Home | PGUP | UP | PGDWN |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | Del | ENTER | LALT | SPACE | End | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_MUTE,
FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_VOLD, KC_VOLU, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_HOME, KC_PGUP, KC_UP, KC_PGDN,
KC_LCTL, KC_MPRV, KC_MNXT, KC_LALT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, KC_END, KC_LEFT, KC_DOWN, KC_RGHT
),
/* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | XXXXXXX| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | _______| _______|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | _______| P7 | P8 | P9 | + | P* | XXXXXXX| PR SCR | SCR LK | PAUSE | XXXXXXX| BL_DEC | BL_INC | RGB HD | RGB HI |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | _______| P4 | P5 | P6 | NumLk | CALC | XXXXXXX| POWER | XXXXXXX| RESET | XXXXXXX| BL_BRTG| BL_STEP| RGB SD | RGB SI |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | _______| P1 | P2 | P3 | - | P/ | XXXXXXX| OS | PLAY | PREV | NXT | BL_OFF | BL_ON | RGB VD | RGB VI |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | _______| P0 | P. | PENT | SPACE | BL_TOGG| RGB TG | RGB RMD| RGB MD |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
_______, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_PAST, XXXXXXX, KC_SLCK, KC_PAUS, XXXXXXX, XXXXXXX, BL_DEC, BL_INC, RGB_HUD, RGB_HUI,
_______, KC_P4, KC_P5, KC_P6, KC_NLCK, KC_CALC, XXXXXXX, KC_PWR, XXXXXXX, RESET, XXXXXXX, BL_BRTG, BL_STEP, RGB_SAD, RGB_SAI,
_______, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_PSLS, XXXXXXX, KC_LWIN, KC_MPLY, KC_MPRV, KC_MNXT, BL_OFF, BL_ON, RGB_VAD, RGB_VAI,
_______, KC_P0, KC_PDOT, KC_PENT, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, XXXXXXX, BL_TOGG, RGB_TOG, RGB_RMOD,RGB_MOD
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QMKBEST:
if (record->event.pressed) {
// when keycode QMKBEST is pressed
SEND_STRING("QMK is the best thing ever!");
} else {
// when keycode QMKBEST is released
}
break;
case QMKURL:
if (record->event.pressed) {
// when keycode QMKURL is pressed
SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
} else {
// when keycode QMKURL is released
}
break;
}
return true;
}
void matrix_init_user(void) {
}
void matrix_scan_user(void) {
}
void led_set_user(uint8_t usb_led) {
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
capslock_led_on();
} else {
capslock_led_off();
}
}
// Runs whenever there is a layer state change.
layer_state_t layer_state_set_user(layer_state_t state) {
uint8_t layer = get_highest_layer(state);
gp100_led_off();
//gp103_led_off();
// turns on gp100 (top left led) for odd layers
if (layer & (1<<0)) gp100_led_on();
// turns on gp103 (top mid led) for layers 2, 6, ...
//if (layer & (1<<1)) gp103_led_on();
return state;
}

View File

@@ -0,0 +1,54 @@
# XD75 with 7U spacebar for EN-RU gamers
* Standard QWERTY made for gamers with a Russian alternative input.
* The keys for extra letters in RU alphabet are where they are expected.
* Full 2x4 nav cluster.
* Volume/mute control are on base layer, Win key is on function layer.
* FN_CAPS provides fast F-keys access while gaming. Lefthanded Numpad operation.
* NKRO is on (forced).
## Layout
```c
/* QWERTY
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | GESC | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Del | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | Mute |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | FN(CPS)| A | S | D | F | G | H | J | K | L | ; | ' | Vol- | Vol+ | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | N | M | , | . | / | Home | PGUP | UP | PGDWN |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | Del | ENTER | LALT | SPACE | End | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
```
```c
/* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | XXXXXXX| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | _______| _______|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | _______| P7 | P8 | P9 | + | P* | XXXXXXX| PR SCR | SCR LK | PAUSE | XXXXXXX| BL_DEC | BL_INC | RGB HD | RGB HI |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | _______| P4 | P5 | P6 | NumLk | CALC | XXXXXXX| POWER | XXXXXXX| RESET | XXXXXXX| BL_BRTG| BL_STEP| RGB SD | RGB SI |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | _______| P1 | P2 | P3 | - | P/ | XXXXXXX| OS | PLAY | PREV | NXT | BL_OFF | BL_ON | RGB VD | RGB VI |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | _______| P0 | P. | PENT | SPACE | BL_TOGG| RGB TG | RGB RMD| RGB MD |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
```
## LEDs
Top left LED - Function layer active.
Mid left LED - CapsLock active.
## Compile
go to qmk top directory.
```
$ cd qmk_firmware
```
build
```
$ make xd75:buzzlighter1
```

View File

@@ -0,0 +1,4 @@
BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
BACKLIGHT_ENABLE = yes
RGBLIGHT_ENABLE = no

View File

@@ -0,0 +1,19 @@
/* Copyright 2017 Benjamin Kesselring
*
* 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
// place overrides here

View File

@@ -0,0 +1,68 @@
/* Copyright 2017 Valentin Brosseau
*
* 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 QMK_KEYBOARD_H
#include "keymap_bepo.h"
// Layer shorthand
#define _BP 0
#define _FN 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Native BepoDev for compatible computer
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | " | < | > | ( | ) | % | VOL- | VOL+ | @ | + | - | / | * | = |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | B | E_ACUT | P | O | $ | E_GRAV | DEL | E_CIRC | V | D | L | J | Z | C_CEDIL|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | RALT | A | U | I | E | , | BACKSP | ENTER | C | T | S | R | N | M | W |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | A_GRAV | Y | X | . | K | BACKSP | ENTER | | Q | G | H | F | UP | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LALT | LCTRL | FN | LGUI | SPACE | SPACE | RALT | RALT | SPACE | SPACE | RGUI | FN | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_BP] = LAYOUT_ortho_5x15( /* BepoDev */
KC_ESC, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_PERC, KC_VOLD, KC_VOLU, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL,
KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_DLR, BP_EGRV, KC_DEL, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z, BP_CCED,
KC_RALT, BP_A, BP_U, BP_I, BP_E, BP_COMM, KC_BSPC, KC_ENT, BP_C, BP_T, BP_S, BP_R, BP_N, BP_M, BP_W,
KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, KC_BSPC, KC_ENT, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KC_UP, KC_RSFT,
KC_LALT, KC_LCTL, MO(_FN), KC_LGUI, KC_SPC, KC_SPC, KC_RALT, KC_RALT, KC_SPC, KC_SPC, KC_RGUI, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
),
/* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | P/ | P* | F9 | F10 | F11 | F12 |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | | P7 | P8 | P9 | - | RGB_TOG| RGB_MOD| RGB_HUI|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | PREV | PLAY | NEXT | STOP | | | | P4 | P5 | P6 | + | RGB_SAI| RGB_SAD| RGB_VAI|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | VOL- | MUTE | VOL+ | | | | | P1 | P2 | P3 | ENT | RGB_VAD| Home | RGB_HUD|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | RESET | | FN | | | | | | P0 | P0 | . | FN | | End | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_SLSH, KC_ASTR, KC_F9, KC_F10, KC_F11, KC_F12,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_MINS, RGB_TOG, RGB_MOD, RGB_HUI,
KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PLUS, RGB_SAI, RGB_SAD, RGB_VAI,
KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_ENT, RGB_VAD, KC_HOME, RGB_HUD,
RESET, KC_TRNS, MO(_FN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_KP_0, KC_KP_0, KC_PDOT, MO(_FN), KC_TRNS, KC_END, KC_TRNS
)
};

View File

@@ -0,0 +1,37 @@
# c4software Custom Keyboard
Layout for Bépo Dev
```
/* Native BepoDev for compatible computer
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | " | < | > | ( | ) | % | VOL- | VOL+ | @ | + | - | / | * | = |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | B | E_ACUT | P | O | $ | E_GRAV | DEL | E_CIRC | V | D | L | J | Z | C_CEDIL|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | RALT | A | U | I | E | , | BACKSP | ENTER | C | T | S | R | N | M | W |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | A_GRAV | Y | X | . | K | BACKSP | ENTER | | Q | G | H | F | UP | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LALT | LCTRL | FN | LGUI | SPACE | SPACE | RALT | RALT | SPACE | SPACE | RGUI | FN | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
```
The FN layer :
```
/* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | P/ | P* | F9 | F10 | F11 | F12 |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | | P7 | P8 | P9 | - | RGB_TOG| RGB_MOD| RGB_HUI|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | PREV | PLAY | NEXT | STOP | | | | P4 | P5 | P6 | + | RGB_SAI| RGB_SAD| RGB_VAI|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | VOL- | MUTE | VOL+ | | | | | P1 | P2 | P3 | ENT | RGB_VAD| Home | RGB_HUD|
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | RESET | | FN | | | | | | P0 | P0 | . | FN | | End | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
```

View File

@@ -0,0 +1,14 @@
# Copyright 2013 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/>.

View File

@@ -0,0 +1,34 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
*
* 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
// place overrides here
#ifndef NO_DEBUG
#define NO_DEBUG
#endif
#ifndef NO_PRINT
#define NO_PRINT
#endif
#define LEADER_TIMEOUT 300
#define BACKLIGHT_BREATHING
/* cbbrowne user configuration */
#define randadd 53
#define randmul 181
#define randmod 167

View File

@@ -0,0 +1,310 @@
/* Copyright 2017 Christopher B Browne
*
* 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 QMK_KEYBOARD_H
/* Fillers to make layering more clear */
#define ___T___ KC_TRNS
/* Layer shorthand */
enum layers {
_QWERTY = 0, /* Qwerty mapping */
_LOWER, /* Lower layer, where top line has symbols !@#$%^&*() */
_RAISE, /* Raised layer, where top line has digits 1234567890 */
_ADJUST, /* Special Adjust layer coming via tri-placement */
_FUNCTION /* Function key layer */
};
/* Macros need to be uniquely identified; using an enum to do this
automatically
*/
enum macro_id {
M_LED = 0,
M_USERNAME,
M_RANDDIGIT,
M_RANDLETTER,
M_VERSION,
MACRO_UPPER,
MACRO_LOWER,
};
/* I want some short forms for keycodes so that they fit into
limited-width cells */
#define M_LOWER M(MACRO_LOWER)
#define M_UPPER M(MACRO_UPPER)
#define ROT_LED M(M_LED) /* Rotate LED */
#define QWERTY DF(_QWERTY) /* Switch to QWERTY layout */
#define QCENT2 DF(_QCENT2) /* Switch to QWERTY-with-centre layout */
#define USERNAME M(M_USERNAME) /* shortcut for username */
#define RANDDIG M(M_RANDDIGIT)
#define RANDALP M(M_RANDLETTER)
#define CTLENTER MT(MOD_RCTL, KC_ENT)
#define SHIFTQUOTE MT(MOD_RSFT, KC_QUOT)
#define ALTRIGHT MT(MOD_LALT, KC_RGHT)
#define MVERSION M(M_VERSION)
#define ALTSLASH LALT(KC_SLSH)
#define FUNCTION MO(_FUNCTION)
#define MRAISE MO(_RAISE)
#define MLOWER MO(_LOWER)
#define ALTPLUS ALT_T(KC_PLUS)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY - MIT ENHANCED / GRID COMPATIBLE
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | ESC | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
/* layout for centred keypad + qwerty...
|ESC| 1 | 2 | 3 | 4 | 5 | ? | ? | ? | ? | 6 | 7 | 8 | 9 | 0 |
|TAB| q | w | e | r | t | ? | ? | ? | ? | y | u | i | o | p |
|CTL| a | s | d | f | g | ? | ? | ? | ? | h | j | k | l | ; |
|SHF| z | x | c | v | b | ? | ? | ? | ? | n | m | , | . | / |
|ALT|LED| | | | | | | | | | | | | |
keys needing to be assigned:
51 - KC_TAB - tab
- ROT_LED - rotate LED
15 - KC_LALT - Left ALT
53,55 - M_RAISE - switch to RAISE layer
5b - M_LOWER - switch to LOWER layer
56,59,5a - KC_SPC - space
5c - KC_LEFT - famous arrows
5d - KC_DOWN - famous arrows
5e - KC_UP - famous arrows
5f - KC_RIGHT - famous arrows
3f - KC_ENT - enter
- KC_GRV - leftwards quote
4f - KC_QUOT - rightwards quote
1f - KC_BSPC - backspace
11 - KC_ESC
19 - KC_GRV - ` - raised
19 - KC_TILD - ~ - lowered
*/
[_QWERTY] = LAYOUT_ortho_5x15( /* QWERTY, with keypad in the centre */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EQL, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC ,
KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_7, KC_8, KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, ALTPLUS ,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC,KC_MINS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTLENTER ,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP, KC_EQL, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTQUOTE ,
KC_TAB, FUNCTION, MRAISE, FUNCTION, MRAISE, KC_SPC,KC_PGDN, KC_MINS, KC_SPC, KC_SPC, MLOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* LOWER
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | INS |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | XXXXXX . | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | | | | | | XXXXXX . | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_5x15( /* LOWERED */
___T___, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_TILD, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 ,
___T___, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_INS ,
___T___, 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, _______, _______, _______, _______, _______, ___T___, ___T___, _______ ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* RAISED
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | | INS |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | XXXXXX . | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | | | | | | XXXXXX . | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_5x15 ( /* RAISED */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, MVERSION, _______, KC_GRV, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___ ,
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, USERNAME, _______, KC_7, KC_8, KC_LCBR, KC_RCBR, _______, _______, KC_INS ,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, RANDDIG, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___ ,
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RANDALP, _______, _______, _______, _______, ___T___, ___T___, _______, _______ ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* FUNCTION
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | NUM LK | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX | | WHEEL+ |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | RGB TG | RGB MD | RGB HI | RGB HD | RGB SI | RGB SD | RGB VI | RGB VD | BL TOG | BL INC | BL DEC | XXXXXX | | MOUS U | WHEEL- |
* |--------+--------+--------+--------+--------+-- 2u -----------+--------+--------+--------+--------+-----------------+--------+--------|
* | RESET | | QWERTY | COLEMK | DVORAK | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FUNCTION] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RESET, RESET,
KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR ,
KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U ,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_INC, BL_DEC, ___T___, ___T___, KC_MS_U, KC_WH_D ,
RESET , _______, DF(_QWERTY), DF(_QWERTY), DF(_QWERTY), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
)
};
/* This bit of logic seeds a wee linear congruential random number generator */
/* lots of prime numbers everywhere... */
static uint16_t random_value = 157;
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
uint8_t clockbyte=0;
clockbyte = TCNT1 % 256;
uint8_t rval;
/* MACRODOWN only works in this function */
switch(id) {
case 0:
if (record->event.pressed) {
register_code(KC_RSFT);
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
} else {
unregister_code(KC_RSFT);
}
break;
case M_USERNAME:
if (record->event.pressed) {
SEND_STRING("cbbrowne");
}
break;
case M_VERSION:
if (record->event.pressed) {
SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP);
}
break;
case M_RANDDIGIT:
/* Generate, based on random number generator, a keystroke for
a numeric digit chosen at random */
random_value = ((random_value + randadd) * randmul) % randmod;
if (record->event.pressed) {
/* Here, we mix the LCRNG with low bits from one of the system
clocks via XOR in the theory that this may be more random
than either separately */
rval = (random_value ^ clockbyte) % 10;
/* Note that KC_1 thru KC_0 are a contiguous range */
register_code (KC_1 + rval);
unregister_code (KC_1 + rval);
}
break;
case M_RANDLETTER:
/* Generate, based on random number generator, a keystroke for
a letter chosen at random */
/* Here, we mix the LCRNG with low bits from one of the system
clocks via XOR in the theory that this may be more random
than either separately */
random_value = ((random_value + randadd) * randmul) % randmod;
if (record->event.pressed) {
rval = (random_value ^ clockbyte) % 26;
register_code (KC_A + rval);
unregister_code (KC_A + rval);
}
break;
case MACRO_UPPER:
if (record->event.pressed)
{
layer_on(_RAISE);
#ifdef BACKLIGHT_ENABLE
breathing_period_set(2);
breathing_pulse();
#endif
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
else
{
layer_off(_RAISE);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
break;
case MACRO_LOWER:
if (record->event.pressed)
{
layer_on(_LOWER);
#ifdef BACKLIGHT_ENABLE
breathing_period_set(2);
breathing_pulse();
#endif
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
else
{
layer_off(_LOWER);
update_tri_layer(_LOWER, _RAISE, _ADJUST);
}
break;
}
return MACRO_NONE;
};
void matrix_init_user(void) {
rgblight_enable();
rgblight_mode(1);
rgblight_sethsv(325,255,255);
}
layer_state_t layer_state_set_user(layer_state_t state) {
switch(biton32(state)) {
case _QWERTY:
rgblight_sethsv_white();
break;
case _LOWER:
rgblight_sethsv_blue();
break;
case _RAISE:
rgblight_sethsv_green();
break;
case _ADJUST:
rgblight_sethsv_orange();
break;
case _FUNCTION:
rgblight_sethsv_red();
break;
default:
rgblight_sethsv(325,255,255);
break;
}
return state;
}

View File

@@ -0,0 +1,22 @@
cbbrowne custom keyboard
==============================
Due to cbbrowne@acm.org
Christopher Browne
Much of this is copied from my Planck keymap...
1. TODO
--------------------------------------------------
* Set up keypad in the middle of the screen?
* Or perhaps I should set up a layer for that?
* Need the Random, version, my name keys
* Almost certainly I want shift/control/alt on the right side,
superimposed on whatever is at the rightmost end
* Need a good place for RESET
* Definitely want the keyboard to "breathe"
* Perhaps nice to have some programming constructs as in jeremy-dev
- It had C operators such as /=, *=, -=, +=, ...
* Should I have some tmux commands like in mollat?
* How about adding some emacs commands?

View File

@@ -0,0 +1,19 @@
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
EXTRAKEY_ENABLE = no # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend

View File

@@ -0,0 +1,21 @@
/* Copyright 2020 Chris Langhans
*
* 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
#define RGBLIGHT_SLEEP
// place overrides here

View File

@@ -0,0 +1,64 @@
/* Copyright 2020 Chris Langhans
*
* 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 QMK_KEYBOARD_H
// Layer shorthand
#define _QW 0
#define _FN 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY
* ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
* │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ Bsp │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ~ │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ Tab │ Q │ W │ E │ R │ T │ Del │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ Ctrl │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Home │ PgUp │
* ├──────┼──────┼──────┼──────┼──────┼──────┼Enter ┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ Shift│ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │ Shft │ End │ PgDn │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ Ctrl │ Gui │ Alt │ FN │ Bsp │ N/A │ Space │ Alt │ Ctrl │ Left │ Down │ Up │ Right│
* └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘
*/
[_QW] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_BSPC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_DEL, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_ENT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_HOME, KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_END, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), XXXXXXX, KC_BSPC, XXXXXXX, KC_SPC, XXXXXXX, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* FUNCTION
* ┌──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┬──────┐
* │Alt F4│ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ # Lk │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ │ │ │ │RGBHUI│BL_TOG│ │ 7 │ 8 │ 9 │ / │ │ │ │ │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ │ │ │ │RGBSAI│RGBMOD│ │ 4 │ 5 │ 6 │ * │ │ │ │Reset │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ │ │ │ │RGBVAI│ │ │ 1 │ 2 │ 3 │ - │ │ │ │ │
* ├──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┼──────┤
* │ │ │ │ │ │ │ │ 0 │ │ , │ + │ │ │ │ │
* └──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┴──────┘
*/
[_FN] = LAYOUT(
LALT(KC_F4), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NLCK,
_______, _______, _______, _______, RGB_HUI, RGB_TOG, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, _______, _______, _______,
_______, _______, _______, _______, RGB_SAI, RGB_MOD, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, _______, _______, RESET,
_______, _______, _______, _______, RGB_VAI, _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_P0, _______, KC_PDOT, KC_PPLS, _______, _______, _______, _______
)
};

View File

@@ -0,0 +1,11 @@
# xd75 from Chris Langhans
- qwerty layer
- special function layer with num pad and shortcuts
* Build/Flash
qmk setup
qmk compile -kb xd75 -km clanghans
qmk flash -kb xd75 -km clanghans
Hit 'Raise'+'PgUp' for entering bootloader mode

View File

@@ -0,0 +1,25 @@
/* Copyright 2017 Colin T.A. Gray
*
* 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
// place overrides here
// QMK customization:
// - after 1.5s, turn off one-shot keys
#define ONESHOT_TIMEOUT 1500
// - TT(layer) only needs one press
#define TAPPING_TOGGLE 1

View File

@@ -0,0 +1,268 @@
/* Copyright 2017 Colin T.A. Gray
*
* 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 QMK_KEYBOARD_H
#ifdef IS_COLINTA
#include "secrets.h"
#else
#define SENDSTRING_MM0 ""
#define SENDSTRING_MM1 ""
#define SENDSTRING_MM2 ""
#endif
// layers:
// - colemak,
// - record-mode (adds stop buttons)
// - qwerty
// - fn (recording, changing layers)
#define LAYER_COLEMAK 0
#define LAYER_RECORD 1
#define LAYER_QWERTY 2
#define LAYER_FN 3
// custom keys:
// - goto layer keys
#define GOTO_FN TT(LAYER_FN)
#define GOTO_CM TO(LAYER_COLEMAK)
#define GOTO_QW TO(LAYER_QWERTY)
// - sticky keys, aka one-shot
#define OSCTL OSM(MOD_LCTL)
#define OSALT OSM(MOD_LALT)
#define OSSFT OSM(MOD_LSFT)
#define OSGUI OSM(MOD_LGUI)
// "MMENU" is a macro for "CMD+SPC" (aka Spotlight/Alfred)
#define MMENU LGUI(KC_SPC)
#define _____ KC_TRNS
#define MM_0 DYN_MACRO_PLAY1
#define MM_1 DYN_MACRO_PLAY2
// tap-hold settings
#define LONGPRESS_DELAY 250
#define TH_EVENTS_COUNT 13
enum my_keycods {
TH_M0 = SAFE_RANGE,
TH_M1,
TH_M2,
TH_F1,
TH_F2,
TH_F3,
TH_F4,
TH_F5,
TH_F6,
TH_F7,
TH_F8,
TH_F9,
TH_F10,
TH_LAST,
MM_2,
DM_CLEAR,
DYNAMIC_MACRO_RANGE,
};
#include "dynamic_macro.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* COLEMAK
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | M(0) | M(1) | DEL | 6 | 7 | 8 | 9 | 0 | - |
* |--------+-/F1----+-/F2----+-/F3----+-/F4----+-/F5----+--------+--------+--------+-/F6----+-/F7----+-/F8----+-/F9----+-/F10---+--------|
* | TAB | Q | W | F | P | G | M(2) | (FN) | BKSP | J | L | U | Y | ; | = |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | SHIFT | A | R | S | T | D | [ | ] | ENTER | H | N | E | I | O | ' |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | CTRL | Z | X | C | V | B | HOME | END | PG UP | K | M | , | . | / | \ |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | VOL- | PLAY | VOL+ | ALT | GUI | SPACE | PG DN | MENU | ESC | LEFT | DOWN | UP | RIGHT |
* '--/RRND----/MUTE----/FFWD-------------------------------------------------------------------------------------------------------------'
*/
[LAYER_COLEMAK] = LAYOUT(
KC_GRV, TH_F1, TH_F2, TH_F3, TH_F4, TH_F5, MM_0, MM_1, KC_DEL, TH_F6, TH_F7, TH_F8, TH_F9, TH_F10, KC_MINS,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, MM_2, GOTO_FN, KC_BSPC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_EQL,
OSCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_LBRC, KC_RBRC, KC_ENT, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
OSSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_HOME, KC_END, KC_PGUP, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
TH_M0, TH_M1, TH_M2, OSALT, OSGUI, _____ , KC_SPC, _____ , KC_PGDN, MMENU, KC_ESC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* DYN_REC LAYER - recording tap/hold keys is possible, but they will always "tap" (macros don't record holding duration)
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | | | | | | | STOP | STOP | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | | | | | | STOP | STOP | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | | | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | | | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | | | | | | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[LAYER_RECORD] = LAYOUT(
_____, _____, _____, _____, _____, _____, DYN_REC_STOP, DYN_REC_STOP, _____, _____, _____, _____, _____, _____, _____,
_____, _____, _____, _____, _____, _____, DYN_REC_STOP, DYN_REC_STOP, _____, _____, _____, _____, _____, _____, _____,
_____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____,
_____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____,
_____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____
),
/* QWERTY - doesn't support recording of macros, btw. Falls through to colemak for most keys, but passes through the recording layer, so heads up.
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | | | | | | | M(0) | M(1) | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | Q | W | E | R | T | M(2) | (FN) | | Y | U | I | O | P | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | SHIFT | A | S | D | F | G | | | | H | J | K | L | ; | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | CTRL | Z | X | C | V | B | | | | N | M | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | | | | ALT | GUI | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[LAYER_QWERTY] = LAYOUT(
_____, _____, _____, _____, _____, _____, MM_0, MM_1, _____, _____, _____, _____, _____, _____, _____,
_____, KC_Q, KC_W, KC_E, KC_R, KC_T, MM_2, GOTO_FN, _____, KC_Y, KC_U, KC_I, KC_O, KC_P, _____,
MOD_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, _____, _____, _____, KC_H, KC_J, KC_K, KC_L, KC_SCLN, _____,
MOD_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, _____, _____, _____, KC_N, KC_M, _____, _____, _____, _____,
_____, _____, _____, MOD_LALT, MOD_LGUI, _____, _____, _____, _____, _____, _____, _____, _____, _____, _____
),
/* FN LAYER - change layouts and start recording a macro
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | COLEMAK| QWERTY | | | | | REC 1 | REC 2 | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | | | | | | | ------ | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | | | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | | | | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | | | | | RESET | DM_CLEAR | | | RESET | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[LAYER_FN] = LAYOUT(
GOTO_CM, GOTO_QW, KC_NO, KC_NO, KC_NO, KC_NO, DYN_REC_START1, DYN_REC_START2, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, DM_CLEAR, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO
)
};
typedef struct {
bool is_pressed;
uint16_t timer;
uint16_t kc_tap;
uint16_t kc_hold;
} tap_hold_t;
static tap_hold_t th_events[] = {
{ .is_pressed = false, .timer = 0, .kc_tap = KC_VOLD, .kc_hold = KC_MRWD }, // TH_M0
{ .is_pressed = false, .timer = 0, .kc_tap = KC_MPLY, .kc_hold = KC_MUTE }, // TH_M1
{ .is_pressed = false, .timer = 0, .kc_tap = KC_VOLU, .kc_hold = KC_MFFD }, // TH_M2
{ .is_pressed = false, .timer = 0, .kc_tap = KC_1, .kc_hold = KC_F1 }, // TH_F1
{ .is_pressed = false, .timer = 0, .kc_tap = KC_2, .kc_hold = KC_F2 }, // TH_F2
{ .is_pressed = false, .timer = 0, .kc_tap = KC_3, .kc_hold = KC_F3 }, // TH_F3
{ .is_pressed = false, .timer = 0, .kc_tap = KC_4, .kc_hold = KC_F4 }, // TH_F4
{ .is_pressed = false, .timer = 0, .kc_tap = KC_5, .kc_hold = KC_F5 }, // TH_F5
{ .is_pressed = false, .timer = 0, .kc_tap = KC_6, .kc_hold = KC_F6 }, // TH_F6
{ .is_pressed = false, .timer = 0, .kc_tap = KC_7, .kc_hold = KC_F7 }, // TH_F7
{ .is_pressed = false, .timer = 0, .kc_tap = KC_8, .kc_hold = KC_F8 }, // TH_F8
{ .is_pressed = false, .timer = 0, .kc_tap = KC_9, .kc_hold = KC_F9 }, // TH_F9
{ .is_pressed = false, .timer = 0, .kc_tap = KC_0, .kc_hold = KC_F10 } // TH_F10
};
void taphold_tapped(uint8_t index, bool pressed) {
if (index >= TH_EVENTS_COUNT) { return; }
tap_hold_t *th_event = &th_events[index];
if (pressed) {
th_event->timer = timer_read();
th_event->is_pressed = true;
} else if (th_event->is_pressed) {
register_code(th_event->kc_tap);
unregister_code(th_event->kc_tap);
th_event->is_pressed = false;
}
}
void matrix_scan_user() {
for (uint8_t index = 0 ; index < TH_EVENTS_COUNT ; ++index ) {
tap_hold_t *th_event = &th_events[index];
if ( th_event->is_pressed && timer_elapsed(th_event->timer) > LONGPRESS_DELAY) {
register_code(th_event->kc_hold);
unregister_code(th_event->kc_hold);
th_event->is_pressed = false;
}
}
}
// if the dynamic macros haven't been recorded, we send the default macro strings.
bool did_record_m1 = false;
bool did_record_m2 = false;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
bool try_dynamic_macro = true;
if ((keycode == DYN_MACRO_PLAY1 && !did_record_m1) || (keycode == DYN_MACRO_PLAY2 && !did_record_m2)) {
try_dynamic_macro = false;
}
else if (keycode == DM_CLEAR) {
try_dynamic_macro = false;
did_record_m1 = false;
did_record_m2 = false;
}
if (try_dynamic_macro && !process_record_dynamic_macro(keycode, record)) {
if (keycode == DYN_MACRO_PLAY1) {
did_record_m1 = true;
}
if (keycode == DYN_MACRO_PLAY2) {
did_record_m2 = true;
}
if (keycode == DYN_REC_START1 || keycode == DYN_REC_START2) {
layer_move(LAYER_RECORD);
}
else if (keycode == DYN_REC_STOP) {
layer_move(LAYER_COLEMAK);
}
return false;
}
switch (keycode) {
case DYN_MACRO_PLAY1:
SEND_STRING(SENDSTRING_MM0);
return false;
case DYN_MACRO_PLAY2:
SEND_STRING(SENDSTRING_MM1);
return false;
case MM_2:
SEND_STRING(SENDSTRING_MM2);
return false;
case TH_M0 ... TH_LAST:
taphold_tapped(keycode - TH_M0, record->event.pressed);
return false;
}
return true;
}

View File

@@ -0,0 +1,64 @@
# colinta's keymap for XD75
```
make xd75:colinta:dfu
```
The default layout is a Colemak keyboard with "one-shot" keys assigned to the modifier keys.
.--------------------------------------------------------------------------------------------------------------------------------------.
| ESC | 1 | 2 | 3 | 4 | 5 | DYN_M1 | DYN_M2 | DEL | 6 | 7 | 8 | 9 | 0 | - |
|--------+-/F1----+-/F2----+-/F3----+-/F4----+-/F5----+--------+--------+--------+-/F6----+-/F7----+-/F8----+-/F9----+-/F10---+--------|
| TAB | Q | W | F | P | G | MACRO | (FN) | BKSP | J | L | U | Y | ; | = |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
| SHIFT | A | R | S | T | D | [ | ] | ENTER | H | N | E | I | O | ' |
|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
| CTRL | Z | X | C | V | B | HOME | END | PG UP | K | M | , | . | / | \ |
|--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
| VOL- | PLAY | VOL+ | ALT | GUI | SPACE | PG DN | MENU | ESC | LEFT | DOWN | UP | RIGHT |
'--/RRND----/MUTE----/FFWD-------------------------------------------------------------------------------------------------------------'
I've implemented my own "tap/hold" feature, identical in spirit to "Space Cadet", but generic. Tapping "1" sends a 1, but press and hold to send "F1". Or, tap "VOL-" to turn the volume down, but press and hold to rewind.
The function layer is only to switch to Qwerty (so other people can use this keyboard - also turns off sticky keys) and to start recording keypresses.
I implemented "stop recording" in a unique way; starting a macro recording sends the keyboard layer to one that has all the macro keys assigned to `DYN_REC_STOP`, and restores the layer to the default when recording is stopped.
I wish Dynamic Macros supported more, because I'd like to record a third macro in the MACRO slot instead of hardcoding it. I'm using these to store some passwords.
## Regarding "secrets.h"
The macros I'm using are sensitive, I'm comfortable having them hardcoded onto my keyboard (no SSN or private GPG keys), but not suitable for public viewing. So I've put them in a header file that is excluded from the project, and I can include this file using a compiler flag.
If you would *also* like to take advantage of this feature, you'll first want to make sure your "secrets" file isn't included in the repo. Open `.git/info/exclude` and add `secrets.h` to that file, below the comments.
###### .git/info/exclude
```
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
/keyboards/xd75/keymaps/colinta/secrets.h
```
Then you can create this file and add your macro strings to it:
```
$EDITOR keyboards/xd75/keymaps/colinta/secrets.h
```
###### secrets.h
```
#define SENDSTRING_MM0 "abcd1234"
#define SENDSTRING_MM1 "shhhhh secret"
#define SENDSTRING_MM2 "stop saying pickle rick"
```
To include the feature at compile time, include the flag `IS_COLINTA` like so:
```
make xd75:colinta:dfu EXTRAFLAGS=-DIS_COLINTA
```

View File

@@ -0,0 +1,29 @@
#include QMK_KEYBOARD_H
#define _QW 0
#define _NV 1
#define _NM 2
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QW] = LAYOUT_ortho_5x15(
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_GRV , KC_BSPC,
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
MO(_NV), KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , MO(_NM), KC_PGUP,
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, _______, KC_RSFT, KC_UP , KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_RGUI, KC_APP , KC_LEFT, KC_DOWN, KC_RGHT
),
[_NV] = LAYOUT_ortho_5x15(
KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______,
_______, _______, _______, _______, KC_DEL , KC_BSPC, _______, KC_HOME, KC_UP , KC_END , KC_INS , _______, _______, _______, _______,
_______, _______, _______, KC_LSFT, KC_LCTL, KC_ENT , _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_NM] = LAYOUT_ortho_5x15(
_______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View File

@@ -0,0 +1 @@
# Daniels xd75 keymap

View File

@@ -0,0 +1,22 @@
/* Copyright 2017 Benjamin Kesselring
*
* 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
// place overrides here
#define TAPPING_TERM 200
#define PERMISSIVE_HOLD

View File

@@ -0,0 +1,194 @@
/* Copyright 2021 David Rambo
*
* 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 QMK_KEYBOARD_H
//aliases for clarity in layering
#define ABSPC LALT(KC_BSPC) // delete whole word in Mac
#define CBSPC LCTL(KC_BSPC) // delete whole word in PC
#define ALEFT LALT(KC_LEFT)
#define ARGHT LALT(KC_RGHT)
#define CRGHT LCTL(KC_RGHT)
#define CLEFT LCTL(KC_LEFT)
#define SftEnt SFT_T(KC_ENT)
#define BSGUI LGUI_T(KC_BSPC)
#define BSCTL LCTL_T(KC_BSPC)
// internet browser tab shortcuts and window/application swapping for Mac and Win
#define GSL LGUI(S(KC_LEFT)) // back one tab in Safari
#define GSR LGUI(S(KC_RGHT)) // forward one tab in Safari
#define CTLPGDN LCTL(KC_PGDN) // back one tab on PC
#define CTLPGUP LCTL(KC_PGUP) // forward one tab on PC
#define GTAB LGUI(KC_TAB) // Mac: switch applications
#define GGRV LGUI(KC_GRV) // Mac: switch between windows within an application
#define ATAB LALT(KC_TAB)
#define CTAB LCTL(KC_TAB)
// toggles for navigation layers for Mac, PC, and Roguelike Numpad
#define NAV LT(5, KC_ESC)
#define NAVPC LT(6, KC_ESC)
#define NAVQUD MO(7)
enum custom_layer {
_COLEMAK,
_PC,
_GAME, // Gaming layer
_QUD,3 // Roguelike layer
_SYMBOL, // Function keys, numbers, symbols, Backlighting
_NAV, // Navigation Layer on Mac
_NAVPC, // Navigation Layer on Win
_NAVQUD, // Numpad for Roguelike 8-directional movement
}
// tapdance declarations
enum {
SFT_LCK
};
// alias for tapdance
#define SftLck TD(SFT_LCK)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* COLEMAK
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | `~ | 1 | 2 | 3 | 4 | 5 | -_ | PC | =+ | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | ESC/`~ | Q | W | F | P | G | [ | \| | ] | J | L | U | Y | ; | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | NAVTAB | A | S | D | F | G | PgUp |PlayPaus| ENTER | H | N | E | I | O | ' |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* |SFT/CAPS| Z | X | C | V | B | PgDn | UP | ENTER | K | M | , | . | / | SftEnt |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | DEL | LGUI | LCTRL | LALT | LGUI | BKSPC | LEFT | DOWN | RIGHT | SPACE | SYMBOL | RGUI | RALT | RCTRL | BL |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_ortho_5x15( /* COLEMAK */
KC_GRV , KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, TO(1) , KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_TAB , KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_BSLS, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_PGUP, KC_MPLY, GGRV , KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
SftLck , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGDN, KC_UP , GTAB , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt,
KC_DEL , KC_LGUI, KC_LCTL, KC_LALT, KC_LCTL, BSGUI, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, MO(4) , KC_RGUI, KC_RALT, KC_RCTL, BL_STEP
),
// Linux/Windows Layer: essentially swaps Control and GUI
[_PC] = LAYOUT_ortho_5x15( /* WINDOWS */
_______, _______, _______, _______, _______, _______, _______, TO(2) , _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
NAVPC , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, ATAB , _______, _______, _______, _______, _______, _______,
_______, KC_PSCR, KC_LGUI, _______, KC_LGUI, BSCTL , _______, _______, _______, _______, _______, KC_RCTL, _______, KC_RGUI, _______
),
[_GAME] = LAYOUT_ortho_5x15( /* Gaming Layer */
_______, _______, _______, _______, _______, _______, _______, TO(0) , _______, _______, _______, _______, _______, _______, TO(3) ,
KC_ESC , KC_T , KC_Q , KC_W , KC_E , KC_R , KC_F7 , KC_F8 , KC_F9 , KC_Y , KC_U , KC_I , KC_O , KC_P , _______,
KC_TAB , KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_F4 , KC_F5 , KC_F6 , KC_H , KC_J , KC_K , KC_L , KC_SCLN, _______,
KC_LALT, KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_F1 , KC_F2 , KC_F3 , KC_N , KC_M , _______, _______, _______, KC_ENT ,
_______, _______, _______, KC_G , KC_B , KC_SPC , KC_I , KC_M , ATAB , _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______
),
[_QUD] = LAYOUT_ortho_5x15( /* Roguelike Layer */
_______, _______, _______, _______, _______, _______, _______,KC_PSLS, KC_PAST, _______, _______, _______, _______, _______, TO(0),
KC_GESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_LBRC, KC_BSLS, KC_RBRC, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
NAV , KC_A, KC_R, KC_S, KC_T, KC_D, KC_PGUP, KC_MPLY, GGRV , KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
SftLck , KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGDN, KC_UP , ATAB , KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SftEnt ,
KC_DEL , KC_LGUI, KC_LGUI, KC_LALT, KC_LCTL, TO(7), KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, MO(4) , KC_RGUI, KC_RALT, KC_RCTL, _______
),
/* SYMBOL
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | F12 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | [{ | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | }] |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | = |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | HOME | END | BL_OFF | BL_ON | | | | | | -_ | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_SYMBOL] = LAYOUT_ortho_5x15( /* SYMBOL */
KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , _______, _______, _______, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 ,
KC_LBRC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_RBRC,
_______, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQL ,
_______, KC_HOME, KC_END , BL_OFF , BL_ON , KC_VOLD, _______, _______, _______, KC_VOLU, KC_MINS, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_NAV] = LAYOUT_ortho_5x15( /* NAVIGATION for Mac */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB , ALEFT , KC_UP , ARGHT , KC_DEL , _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, GTAB , ABSPC , KC_HOME, KC_END , GGRV , _______,
RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_NAVPC] = LAYOUT_ortho_5x15( /* NAVIGATION FOR PC: replaces Alt with Control, GUI with Alt, and browser tab shortcuts*/
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, CTAB , CLEFT , KC_UP , CRGHT , KC_DEL , _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, CTLPGUP, KC_LEFT, KC_DOWN, KC_RGHT, CTLPGDN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, ATAB , CBSPC , KC_HOME, KC_END , _______, _______,
RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_NAVQUD] = LAYOUT_ortho_5x15( /* NAVIGATION for Mac */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSLS, KC_PAST, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_2, KC_KP_6, KC_PPLS, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_5, KC_KP_3, _______, _______,
_______, _______, _______, _______, _______, TO(3), _______, _______, _______, _______, KC_KP_0, KC_PDOT, _______, _______, _______
)
};
// Shift vs capslock function. From bbaserdem's Planck keymap.
void caps_tap (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 1) {
register_code (KC_LSFT);
} else if (state->count == 2) {
unregister_code (KC_LSFT);
register_code (KC_CAPS);
}
}
void caps_tap_end (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 1) {
unregister_code (KC_LSFT);
} else {
unregister_code (KC_CAPS);
}
}
//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
//Tap once for Shift, twice for Caps Lock
[SFT_LCK] = ACTION_TAP_DANCE_FN_ADVANCED( caps_tap, NULL, caps_tap_end )
};
/* Template for future layers
[_LAYER_NAME] = {
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
{ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
}
};
*/

View File

@@ -0,0 +1,8 @@
# XD75
This is a Colemak layout for XD75 with both Mac and Linux/Windows layers.
These two layers share momentary toggle access to a "Symbol" layer, which is modeled after my Planck layout (see planck/keymaps/davidrambo).
Each of the base Colemak layers have their own Navigation layers for the right hand to use arrows and shortcuts for both text editing and web browsing.
It also has two layers used for games: one with a typical WASD orientation, another for playing Roguelikes that need a numpad.
The rules.mk file overrides the XD75's "BACKLIGHT_ENABLE" with YES and also adds tap dance functionality.

View File

@@ -0,0 +1,2 @@
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
TAP_DANCE_ENABLE = yes # Enable tap dance functionality

View File

@@ -0,0 +1,66 @@
/* Copyright 2017 Wunder
*
* 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 QMK_KEYBOARD_H
enum layer_names {
_QW,
_FN
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | - | ` | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | [ | \ | ] | Y | U | I | O | P | ' |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | S | D | F | G | HOME | DEL | PG UP | H | J | K | L | ; | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | END | UP | PG DN | N | M | , | . | / | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | LGUI | LALT | FN | SPACE | SPACE | LEFT | DOWN | RIGHT | SPACE | SPACE | FN | RALT | RGUI | RCTRL |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_GRV, KC_EQL, 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_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_UP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT, KC_SPC, KC_SPC, MO(_FN), KC_RALT, KC_RGUI, KC_RCTL
),
/* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | NUM LK | P/ | P* | F7 | F8 | F9 | F10 | F11 | F12 |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | SELECT | CALC | MYCOMP | MAIL | RGB HD | RGB HI | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | RESET | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | VOL- | MUTE | VOL+ | APP | RGB VD | RGB VI | P1 | P2 | P3 | PENT | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | RGB TG | FN | RGB RMD| RGB MD | P0 | | P. | PENT | PENT | FN | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS,
KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______,
KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______,
_______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______
)
};

View File

@@ -0,0 +1 @@
# The default keymap for xd75, with led controls

View File

@@ -0,0 +1,19 @@
/* Copyright 2017 Quentin Lebastard
*
* 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
// place overrides here

View File

@@ -0,0 +1,72 @@
/* Copyright 2017 Quentin Lebastard
*
* 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 QMK_KEYBOARD_H
#include "keymap_bepo.h"
// Layer shorthand
#define _BP 0
#define _FN 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | $ | " | { | } | ( | ) | VOL- | MUTE | VOL+ | + | - | / | * | = | % |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | B | E_ACUT | P | O | E_GRAV | | | | ^ | V | D | L | J | Z |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | ESC | A | U | I | E | , | HOME | | END | C | T | S | R | N | M |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | W | Y | X | . | K | PAGE UP| | PAGE D | ? | Q | G | H | F | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | LGUI | ALT | | _ |ENTER/FN| DEL | | BACKSP |SPACE/FN| _ | ALT | ALT | RGUI | LCTRL |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_BP] = LAYOUT_ortho_5x15( /* BepoDev */
BP_DLR, BP_DQUO, BP_LCBR, BP_RCBR, BP_LPRN, BP_RPRN, KC_VOLD, KC_MUTE, KC_VOLU, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, BP_PERC,
KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_KP_7, KC_KP_8, KC_KP_9, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z,
KC_ESC, BP_A, BP_U, BP_I, BP_E, BP_COMM, KC_HOME, KC_KP_5, KC_END, BP_C, BP_T, BP_S, BP_R, BP_N, BP_M,
KC_LSFT, BP_W, BP_Y, BP_X, BP_DOT, BP_K, KC_PGUP, KC_END, KC_PGDOWN, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KC_RSFT,
KC_LCTL, KC_LGUI, KC_RALT, KC_LGUI, BP_UNDS, LT(_FN,KC_ENT), KC_DEL, KC_KP_0, KC_BSPC, LT(_FN,KC_SPC), BP_UNDS, KC_RALT, KC_RALT, KC_RGUI, KC_LCTL
),
/* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | PREV | PAUSE | NEXT | F7 | F8 | F9 | F10 | F11 | F12 |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | \ | [ | ] | & | | | | | LEFT | DOWN | UP | RIGHT | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | | | | < | > | @ | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | _ | MO(_FN)| | | | | MO(_FN)| _ | | | | RESET |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, S(BP_DQUO), S(BP_LDAQ), S(BP_RDAQ), S(BP_LPRN), S(BP_RPRN), _______, _______, _______, S(BP_AT), S(BP_PLUS), S(BP_MINS), S(BP_SLSH), S(BP_ASTR), S(BP_EQL),
_______, RALT(BP_B), BP_BSLS, BP_LBRC, BP_RBRC, RALT(BP_P), _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______,
_______, BP_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, BP_LABK, BP_RABK, BP_AT , _______, _______,
_______, _______, _______, _______, _______, LT(_FN,KC_ENT), _______, _______, _______, LT(_FN,KC_SPC), _______, _______, _______, _______, RESET
)
};

View File

@@ -0,0 +1,13 @@
# developper_bepo Custom Keyboard
Layout for Bépo Software development
* Improved access to frequently used keys in software development
* Modified layout for english input
* Easy access to layers with space and enter key
Keyboard maintainer: [Quentin Lebastard](https://github.com/lebastaq)
Make example for this keyboard (after setting up your build environment):
make xd75:developper_bepo

View File

@@ -0,0 +1,14 @@
# Copyright 2013 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/>.

View File

@@ -0,0 +1,19 @@
/* Copyright 2017 Benjamin Kesselring
*
* 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
// place overrides here

View File

@@ -0,0 +1,115 @@
/* Copyright 2017 Wunder
*
* 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 QMK_KEYBOARD_H
enum planck_keycodes {
DUMMY = SAFE_RANGE,
DYNAMIC_MACRO_RANGE,
};
#include "dynamic_macro.h"
// Layer shorthand
#define _QW 0
#define _FN 1
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if ( !process_record_dynamic_macro( keycode, record ) ) {
return false;
}
return true;
};
void macro_tog_key( qk_tap_dance_state_t *state, void *user_data ) {
if ( state->count > 3 )
return;
keyrecord_t kr;
kr.event.pressed = false;
uint16_t action = DYN_REC_STOP;
if ( state->count == 1 ) {
action = DYN_MACRO_PLAY1;
}
else if ( state->count == 2 ) {
action = DYN_REC_STOP;
kr.event.pressed = true;
}
else if ( state->count == 3 ) {
action = DYN_REC_START1;
}
process_record_dynamic_macro( action, &kr );
}
enum {
MCROTOG_ = 0
};
qk_tap_dance_action_t tap_dance_actions[] = {
[MCROTOG_] = ACTION_TAP_DANCE_FN( macro_tog_key )
};
// Key shorthand
#define MCROTOG TD( MCROTOG_ )
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | 1 | 2 | 3 | 4 | 5 | - | ` | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | [ | \ | ] | Y | U | I | O | P | ' |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | A | S | D | F | G | HOME | DEL | PG UP | H | J | K | L | ; | ENTER |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | Z | X | C | V | B | END | UP | PG DN | N | M | , | . | / | RSHIFT |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | LGUI | LALT | FN | SPACE | SPACE | LEFT | DOWN | RIGHT | MCRTOG | SPACE | FN | RALT | RGUI | RCTRL |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_GRV, KC_EQL, 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_BSLS, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_DEL, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_UP, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT, MCROTOG, KC_SPC, MO(_FN), KC_RALT, KC_RGUI, KC_RCTL
),
/* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | F1 | F2 | F3 | F4 | F5 | F6 | NUM LK | P/ | P* | F7 | F8 | F9 | F10 | F11 | F12 |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | SELECT | CALC | MYCOMP | MAIL | RGB HD | RGB HI | P7 | P8 | P9 | - | | | PR SCR | SCR LK | PAUSE |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | PREV | PLAY | NEXT | STOP | RGB SD | RGB SI | P4 | P5 | P6 | + | | RESET | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | VOL- | MUTE | VOL+ | APP | RGB VD | RGB VI | P1 | P2 | P3 | PENT | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | RGB TG | FN | RGB RMD| RGB MD | P0 | | P. | PENT | PENT | FN | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NLCK, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS,
KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, RESET, _______, _______, _______,
KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______,
_______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______
)
};

View File

@@ -0,0 +1 @@
# The default keymap for xd75, with led controls

View File

@@ -0,0 +1,17 @@
# Copyright 2013 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/>.
TAP_DANCE_ENABLE = yes

View File

@@ -0,0 +1,19 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
*
* 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
// place overrides here

View File

@@ -0,0 +1,181 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
*
* 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 QMK_KEYBOARD_H
#include "backlight.h"
// Fillers to make layering more clear
#define ___T___ KC_TRNS
// Layer shorthand
#define _QW 0
#define _CM 1
#define _DV 2
#define _LW 3
#define _RS 4
#define _FN 5
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY - MIT ENHANCED / GRID COMPATIBLE
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | ESC | A | S | D | F | G | H | J | K | L | ; | ' | XXXXXX . ENTER | PG UP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | LSHIFT | Z | X | C | V | B | N | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QW] = LAYOUT_ortho_5x15( /* QWERTY */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_PSLS, KC_PAST, KC_PPLS,
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_P7, KC_P8, KC_P9,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_P4, KC_P5, KC_P6,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT, KC_P1, KC_P2, KC_P3,
KC_LCTL, M(0), KC_LGUI, KC_LALT, MO(_LW), KC_SPC, KC_SPC, MO(_RS), KC_SLSH, KC_LEFT, KC_DOWN, KC_RIGHT,KC_P0, KC_PDOT, KC_PENT
),
/* COLEMAK - MIT ENHANCED / GRID COMPATIBLE
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | \ | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | ESC | A | R | S | T | D | H | N | E | I | O | ' | XXXXXX . ENTER | PG UP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | LSHIFT | Z | X | C | V | B | K | M | , | . | / | XXXXXX . RSHIFT | UP | PG DN |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_CM] = LAYOUT_ortho_5x15( /* COLEMAK */
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_ENT, KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN,
M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
),
/* DVORAK - MIT ENHANCED / GRID COMPATIBLE
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | XXXXXX . BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | ' | , | . | P | Y | F | G | C | R | L | [ | ] | \ | DEL |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | ESC | A | O | E | U | I | D | H | T | N | S | / | XXXXXX . ENTER | PG UP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | LSHIFT | ; | Q | J | K | X | B | M | W | V | Z | XXXXXX . RSHIFT | UP | PG DN |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | BRITE | LCTRL | LALT | LGUI | RAISE | XXXXXX . SPACE | LOWER | RGUI | RALT | RCTRL | FN | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_DV] = LAYOUT_ortho_5x15( /* DVORAK */
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, KC_ENT, KC_ENT, KC_PGUP,
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_RSFT, KC_UP, KC_PGDN,
M(0), KC_LCTL, KC_LALT, KC_LGUI, MO(_RS), KC_SPC, KC_SPC, MO(_LW), KC_RGUI, KC_RALT, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
),
/* LOWERED
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | ! | @ | # | $ | % | ^ | & | * | ( | ) | | | | INS |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | XXXXXX . | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | | | | | | XXXXXX . | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_LW] = LAYOUT_ortho_5x15( /* LOWERED */
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, KC_INS,
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, ___T___, ___T___, _______,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* RAISED
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | | INS |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | XXXXXX . | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | | F7 | F8 | F9 | F10 | F11 | F12 | | | | | XXXXXX . | | |
* |--------+--------+--------+--------+--------+- 2u ------------+--------+--------+--------+--------+-----------------+--------+--------|
* | | | | | | XXXXXX . | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_RS] = LAYOUT_ortho_5x15( /* RAISED */
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, KC_INS,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___, _______,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, ___T___, ___T___, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* FUNCTION
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | NUM LK | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | SCR LK | F13 | F14 | F15 | F16 | F17 | F18 | F19 | F20 | F21 | F22 | F23 | F24 | PAUSE | PR SCR |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ------------+--------|
* | CAP LK | MS BT5 | MS BT4 | MS BT3 | MS BT2 | SLOW M | FAST M | NEXT | VOL+ | VOL- | PLAY | | XXXXXX . | WHEEL+ |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+- 2u ---------------------+--------|
* | RGB TG | RGB MD | RGB HI | RGB HD | RGB SI | RGB SD | RGB VI | RGB VD | BL TOG | BL INC | BL DEC | XXXXXX . | MOUS U | WHEEL- |
* |--------+--------+--------+--------+--------+-- 2u -----------+--------+--------+--------+--------+-----------------+--------+--------|
* | RESET | | QWERTY | COLEMK | DVORAK | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___, ___T___,
KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR,
KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_INC, BL_DEC, ___T___, ___T___, KC_MS_U, KC_WH_D,
RESET , _______, DF(_QW), DF(_CM), DF(_DV), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
)
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
// MACRODOWN only works in this function
switch(id) {
case 0:
if (record->event.pressed) {
register_code(KC_RSFT);
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
} else {
unregister_code(KC_RSFT);
}
break;
}
return MACRO_NONE;
};

View File

@@ -0,0 +1 @@
# Modified keymap for xd75 with numpad on right

View File

@@ -0,0 +1,15 @@
# Copyright 2013 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/>.

View File

@@ -0,0 +1,12 @@
#pragma once
#undef RGBLED_NUM
#define RGBLED_NUM 6
#define RGBLIGHT_LAYERS
#undef RGBLIGHT_ANIMATIONS
//#define RGBLIGHT_HUE_STEP 8
//#define RGBLIGHT_SAT_STEP 8
// place overrides here

View File

@@ -0,0 +1,242 @@
/*
Copyright 2018 Eric Gebhart <e.a.gebhart@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 "keymap_bepo.h"
#include "ericgebhart.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[DVORAK] = LAYOUT_ortho_5x15_wrapper(
KC_GRV, ___ORTHO_15_N___, KC_EQL,
KC_LOCK, ___13_DVORAK_1___, KC_SLASH,
TAB_BKTAB, ___13_DVORAK_2___, KC_MINUS,
KC_LSFT, ___13_DVORAK_3___, KC_RSFT,
___ORTHO_15_BOTTOM___
),
[QWERTY] = LAYOUT_ortho_5x15_wrapper(
KC_GRV, ___ORTHO_15_N___, KC_EQL,
KC_LOCK, ___13_QWERTY_1___, KC_SLASH,
TAB_BKTAB, ___13_QWERTY_2___, KC_MINUS,
KC_LSFT, ___13_QWERTY_3___, KC_RSFT,
___ORTHO_15_BOTTOM___
),
[COLEMAK] = LAYOUT_ortho_5x15_wrapper(
KC_GRV, ___ORTHO_15_N___, KC_EQL,
KC_LOCK, ___13_COLEMAK_1___, KC_SLASH,
TAB_BKTAB, ___13_COLEMAK_2___, KC_MINUS,
KC_LSFT, ___13_COLEMAK_3___, KC_RSFT,
___ORTHO_15_BOTTOM___
),
[WORKMAN] = LAYOUT_ortho_5x15_wrapper(
KC_GRV, ___ORTHO_15_N___, KC_EQL,
KC_LOCK, ___13_WORKMAN_1___, KC_SLASH,
TAB_BKTAB, ___13_WORKMAN_2___, KC_MINUS,
KC_LSFT, ___13_WORKMAN_3___, KC_RSFT,
___ORTHO_15_BOTTOM___
),
[NORMAN] = LAYOUT_ortho_5x15_wrapper(
KC_GRV, ___ORTHO_15_N___, KC_EQL,
KC_LOCK, ___13_NORMAN_1___, KC_SLASH,
TAB_BKTAB, ___13_NORMAN_2___, KC_MINUS,
KC_LSFT, ___13_NORMAN_3___, KC_RSFT,
___ORTHO_15_BOTTOM___
),
[DVORAK_ON_BEPO] = LAYOUT_ortho_5x15_wrapper(
DB_GRV, ___ORTHO_15_B_N___, DB_EQL,
KC_LOCK, ___13_DVORAK_B_1___, DB_SLASH,
TAB_BKTAB, ___13_DVORAK_B_2___, DB_MINUS,
KC_LSFT, ___13_DVORAK_B_3___, KC_RSFT,
___ORTHO_15_BOTTOM_FR___
),
[XMONAD] = LAYOUT_ortho_5x15_wrapper(
___ORTHO_15_FUNC_1_12___,
___, ___13_DVORAK_1___, ___,
___, ___13_DVORAK_2___, ___,
___, ___13_DVORAK_3___, ___,
___15___
),
[XMONAD_FR] = LAYOUT_ortho_5x15_wrapper(
___ORTHO_15_FUNC_1_12___,
___, ___13_DVORAK_B_1___, ___,
___, ___13_DVORAK_B_2___, ___,
___, ___13_DVORAK_B_3___, ___,
___15___
),
[BEPO] = LAYOUT_ortho_5x15_wrapper(
___ORTHO_15_B_SYMB___,
KC_LOCK, ___13_BEPO_1___, BP_W,
TAB_BKTAB, ___13_BEPO_2___, BP_CCED,
BP_SFT_T_ECRC, ___13_BEPO_3___, BP_SFT_T_W,
___ORTHO_15_BOTTOM_BP___
),
// SYMBOLS
[SYMB] = LAYOUT_ortho_5x15_wrapper(
___ORTHO_15_FUNC_1_12___,
___15_SYMB_1___,
___15_SYMB_2___,
___15_SYMB_3___,
___15_SYMB_4___
),
[KEYPAD] = LAYOUT_ortho_5x15_wrapper(
___ORTHO_15_FUNC_1_12___,
___15_KP_1___,
___15_KP_2___,
___15_KP_3___,
___15_KP_4___
),
[KEYPAD_ON_BEPO] = LAYOUT_ortho_5x15_wrapper(
___ORTHO_15_FUNC_1_12___,
___15_KP_B_1___,
___15_KP_B_2___,
___15_KP_B_3___,
___15_KP_B_4___
),
[SYMB_ON_BEPO] = LAYOUT_ortho_5x15_wrapper(
___ORTHO_15_FUNC_1_12___,
___15_SYMB_B_1___,
___15_SYMB_B_2___,
___15_SYMB_B_3___,
___15_SYMB_B_4___
),
// MEDIA AND MOUSE
[MDIA] = LAYOUT_ortho_5x15_wrapper(
___ORTHO_15_FUNC_1_12___,
___15_MDIA_1___,
___15_MDIA_2___,
___15_MDIA_3___,
___15_MDIA_4___
),
[LAYERS] = LAYOUT_ortho_5x15_wrapper(
___ORTHO_15_FUNC_1_12___,
___15_LAYERS_1___,
___15_LAYERS_2___,
___15_LAYERS_3___,
___15___
),
[_RGB] = LAYOUT_ortho_5x15_wrapper(
___ORTHO_15_FUNC_1_12___,
___15_RGB_1___,
___15_RGB_2___,
___15_RGB_3___,
___15___
),
};
/********************************************************************************/
/* Using layers to do RGB underlighting */
/********************************************************************************/
const rgblight_segment_t PROGMEM on_bepo[] = RGBLIGHT_LAYER_SEGMENTS(
{0, 2, HSV_AZURE}
);
const rgblight_segment_t PROGMEM bepo[] = RGBLIGHT_LAYER_SEGMENTS(
{3, 2, HSV_MAGENTA}
);
const rgblight_segment_t PROGMEM dvorak[] = RGBLIGHT_LAYER_SEGMENTS(
{3, 2, HSV_AZURE}
);
const rgblight_segment_t PROGMEM media[] = RGBLIGHT_LAYER_SEGMENTS(
{5, 1, HSV_GREEN}
);
const rgblight_segment_t PROGMEM symbol[] = RGBLIGHT_LAYER_SEGMENTS(
{4, 2, HSV_GOLD}
);
const rgblight_segment_t PROGMEM keypad[] = RGBLIGHT_LAYER_SEGMENTS(
{4, 2, HSV_BLUE}
);
const rgblight_segment_t PROGMEM layers[] = RGBLIGHT_LAYER_SEGMENTS(
{5, 1, HSV_RED}
);
const rgblight_segment_t PROGMEM rgb[] = RGBLIGHT_LAYER_SEGMENTS(
{5, 1, HSV_ORANGE}
);
const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(on_bepo, bepo, dvorak, media, symbol,
keypad, layers, rgb);
void keyboard_post_init_user(void) {
rgblight_sethsv_noeeprom(HSV_PURPLE);
rgblight_layers = rgb_layers;
}
layer_state_t layer_state_set_user(layer_state_t state) {
// rgblight_set_layer_state(0, !on_qwerty());
rgblight_set_layer_state(0, layer_state_cmp(state, DVORAK));
rgblight_set_layer_state(1, layer_state_cmp(state, BEPO));
rgblight_set_layer_state(2, layer_state_cmp(state, DVORAK));
//|| layer_state_cmp(state, DVORAK_ON_BEPO)));
rgblight_set_layer_state(3, layer_state_cmp(state, MDIA));
rgblight_set_layer_state(4, layer_state_cmp(state, SYMB) );
//(layer_state_cmp(state, SYMB) || (layer_state_cmp(state, SYMB_ON_BEPO))));
rgblight_set_layer_state(5, layer_state_cmp(state, KEYPAD) );
///(layer_state_cmp(state, KEYPAD) || (layer_state_cmp(state, KEYPAD_ON_BEPO))));
rgblight_set_layer_state(6, layer_state_cmp(state, LAYERS));
rgblight_set_layer_state(7, layer_state_cmp(state, _RGB));
return state;
}
/* void suspend_power_down_user(void) { */
/* rgblight_disable(); */
/* } */
/* void suspend_wakeup_init_user(void) { */
/* rgblight_enable(); */
/* } */
/* bool is_shift_pressed = false; */
/* bool led_update_user(led_t led_state) { */
/* rgblight_set_layer_state(2, is_shift_pressed != led_state.caps_lock); */
/* return true; */
/* } */
/* bool process_record_user(uint16_t keycode, keyrecord_t* record) { */
/* switch (keycode) { */
/* case KC_LSFT: */
/* case KC_RSFT: */
/* is_shift_pressed = record->event.pressed; */
/* rgblight_set_layer_state(2, is_shift_pressed != host_keyboard_led_state().caps_lock); */
/* default: */
/* return true; */
/* } */
/* } */

View File

@@ -0,0 +1 @@
# The default keymap for xd75, with led controls

View File

@@ -0,0 +1,3 @@
RGBLIGHT_ENABLE = yes
RGBLIGHT_ANIMATION = yes
# BACKLIGHT_ENABLE = yes

View File

@@ -0,0 +1,19 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
*
* 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
// place overrides here

View File

@@ -0,0 +1,290 @@
/* Copyright 2015-2017 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 QMK_KEYBOARD_H
#include "action_layer.h"
#include "eeconfig.h"
extern keymap_config_t keymap_config;
enum custom_layers {
_QWERTY,
_COLEMAK,
_DVORAK,
_LOWER,
_RAISE,
_PLOVER,
_ADJUST
};
enum custom_keycodes {
QWERTY = SAFE_RANGE,
COLEMAK,
DVORAK,
PLOVER,
LOWER,
RAISE,
BACKLIT,
EXT_PLV
};
#define CTL_ESC CTL_T(KC_ESC) // Tap for Escape, hold for Control
#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Alt+Shift)
#define MEH_GRV MEH_T(KC_GRV) // Tap for Backtick, hold for Meh (Ctrl+Alt+Shift)
#define SFT_BSP SFT_T(KC_BSPC) // Tap for Backspace, hold for Shift
#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
#define SFT_SPC SFT_T(KC_SPC) // Tap for Space, hold for Shift
#define UMLAUT RALT(KC_U) // Combine Alt and U
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,--------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | A | S | D | F | G | | | | H | J | K | L | ; | " |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | | | | N | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Meh | Alt | GUI |Lower |Space | | | | Tab |Raise | GUI |AltGr | Umlt | Ctrl |
* `--------------------------------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_5x15(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
HPR_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, _______, _______, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, _______, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
SFT_BSP, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT,
KC_LCTL, MEH_GRV, KC_LALT, KC_LGUI, LOWER, KC_SPC, _______, _______, _______, HPR_TAB, RAISE, KC_RGUI, KC_RALT, UMLAUT, KC_RCTL
),
/* Colemak
* ,--------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Tab | Q | W | F | P | G | | | | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+------+------+------+-------------+------+------+------+------+------|
* | Esc | A | R | S | T | D | | | | H | N | E | I | O | " |
* |------+------+------+------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | | | | K | M | , | . | / |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Meh | Alt | GUI |Lower |Space | | | | Tab |Raise | GUI |AltGr | Umlt | Ctrl |
* `--------------------------------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_ortho_5x15(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, _______, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
SFT_BSP, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, _______, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT,
KC_LCTL, MEH_GRV, KC_LALT, KC_LGUI, LOWER, KC_SPC, _______, _______, _______, HPR_TAB, RAISE, KC_RGUI, KC_RALT, UMLAUT, KC_RCTL
),
/* Dvorak
* ,--------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Tab | " | , | . | P | Y | | | | F | G | C | R | L | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------+------+------+------|
* | Esc | A | O | E | U | I | | | | D | H | T | N | S | / |
* |------+------+------+------+------+------|------+------+------+------+------+------+------+------+------|
* | Shift| ; | Q | J | K | X | | | | B | M | W | V | Z |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Ctrl | Meh | Alt | GUI |Lower |Space | | | | Tab |Raise | GUI |AltGr | Umlt | Ctrl |
* `--------------------------------------------------------------------------------------------------------'
*/
[_DVORAK] = LAYOUT_ortho_5x15(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, _______, _______, _______, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, _______, _______, _______, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
SFT_BSP, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, _______, _______, _______, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT,
KC_LCTL, MEH_GRV, KC_LALT, KC_LGUI, LOWER, KC_SPC, _______, _______, _______, HPR_TAB, RAISE, KC_RGUI, KC_RALT, UMLAUT, KC_RCTL
),
/* Lower
* ,--------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | | | | F6 | _ | + | { | } | | |
* |------+------+------+------+------+------|------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | | | | F12 | MS L | MS D |MS U | MS R |MS Btn|
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | Next | Vol- | Vol+ | Play |
* `--------------------------------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_5x15(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
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, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BTN1,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Raise
* ,--------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | ` | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | | | | F6 | - | = | [ | ] | \ |
* |------+------+------+------+------+------|------+------+------+------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | | | | F12 | Left | Down | Up | Rght |MS_BN2|
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | Next | Vol- | Vol+ | Play |
* `--------------------------------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_5x15(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
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_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BTN2,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
/* Plover layer (http://opensteno.org)
* ,--------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | # | # | # | # | # | # | | | | # | # | # | # | # | # |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | | S | T | P | H | * | | | | * | F | P | L | T | D |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | | S | K | W | R | * | | | | * | R | B | G | S | Z |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | Exit | | | A | O | | | | | | E | U | | | |
* `--------------------------------------------------------------------------------------------------------'
*/
[_PLOVER] = LAYOUT_ortho_5x15(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, XXXXXXX, XXXXXXX, XXXXXXX, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1,
XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,
XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX
),
/* Adjust (Lower + Raise)
* ,--------------------------------------------------------------------------------------------------------.
* | | | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | | Reset| | | | | | | | | | | | Reset| Del |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | | | |Aud on|Audoff|AGnorm| | | |AGswap|Qwerty|Colemk|Dvorak|Plover| |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | |Voice-|Voice+|Mus on|Musoff|MIDIon| | | |MIDIof| | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | | | | | |
* `--------------------------------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_5x15(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, _______, _______, _______, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, _______, _______, _______, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
#ifdef AUDIO_ENABLE
float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
set_single_persistent_default_layer(_QWERTY);
}
return false;
break;
case COLEMAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_COLEMAK);
}
return false;
break;
case DVORAK:
if (record->event.pressed) {
set_single_persistent_default_layer(_DVORAK);
}
return false;
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 BACKLIT:
if (record->event.pressed) {
register_code(KC_RSFT);
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
} else {
unregister_code(KC_RSFT);
}
return false;
break;
case PLOVER:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
stop_all_notes();
PLAY_SONG(plover_song);
#endif
layer_off(_RAISE);
layer_off(_LOWER);
layer_off(_ADJUST);
layer_on(_PLOVER);
if (!eeconfig_is_enabled()) {
eeconfig_init();
}
keymap_config.raw = eeconfig_read_keymap();
keymap_config.nkro = 1;
eeconfig_update_keymap(keymap_config.raw);
}
return false;
break;
case EXT_PLV:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(plover_gb_song);
#endif
layer_off(_PLOVER);
}
return false;
break;
}
return true;
}

View File

@@ -0,0 +1,34 @@
# Copyright 2013 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/>.
# QMK Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend

View File

@@ -0,0 +1,19 @@
/* Copyright 2017 Benjamin Kesselring
*
* 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
// place overrides here

View File

@@ -0,0 +1,56 @@
#include "keymap_french.c"
#include QMK_KEYBOARD_H
// Layer shorthand
#define _AZ 0
#define _FN 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* AZERTY
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | ESC | & | é | " | ' | ( | - | è | _ | ç | à | ) | = | INSERT | BACKSP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
* | TAB | a | z | e | r | t | y | u | i | o | p | ^ | $ | ENTER | PG UP |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
* | CAP LK | q | s | d | f | g | h | j | k | l | m | ù | * | ENTER | PG DN |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
* | LSHIFT | w | x | c | v | b | n | , | ; | : | ! | < | LSHIFT | UP | DEL |
* |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+-----------------+--------+--------|
* | LCTRL | CMD | ALT | FN | SPACE | SPACE | SPACE | SPACE | ALGR | MENU | HOME | END | LEFT | DOWN | RIGHT |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_AZ] = LAYOUT_ortho_5x15( /* AZERTY */
FR_ESC, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPAR, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPAR, FR_EQUA, FR_INST, FR_BSPC,
FR_TAB, FR_A, FR_Z, FR_E, FR_R, FR_T, FR_Y, FR_U, FR_I, FR_O, FR_P, FR_HAT, FR_DLR, FR_ENTR, FR_PGUP,
FR_CAPL, FR_Q, FR_S, FR_D, FR_F, FR_G, FR_H, FR_J, FR_K, FR_L, FR_M, FR_UGRV, FR_AST, FR_ENTR, FR_PGDN,
FR_LSFT, FR_W, FR_X, FR_C, FR_V, FR_B, FR_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXCL, FR_LABK, FR_RSFT, FR_UP, FR_DEL,
FR_LCTR, FR_LCMD, FR_LALT, MO(_FN), FR_SPAC, FR_SPAC, FR_SPAC, FR_SPAC, FR_ALGR, FR_MENU, FR_HOME, FR_END, FR_LEFT, FR_DOWN, FR_RIGT
),
/* FUNCTION
* .--------------------------------------------------------------------------------------------------------------------------------------.
* | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | PRINT | LED |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | PREV | PLAY | NEXT | | | | | NUM LCK| 7 | 8 | 9 | * | | LED+ |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | VOL- | MUTE | VOL+ | | | | | | 4 | 5 | 6 | - | | LED- |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | | | | | | | | | | 1 | 2 | 3 | + | | LEDMAX |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | RESET | | | FN | | | | | | | 0 | . | PENT | | LEDLVL |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
FR_EMPT, FR_F1, FR_F2, FR_F3, FR_F4, FR_F5, FR_F6, FR_F7, FR_F8, FR_F9, FR_F10, FR_F11, FR_F12, FR_PSCR, BL_TOGG,
FR_EMPT, FR_MPRV, FR_MPLY, FR_MNXT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_NUML, FR_7, FR_8, FR_9, FR_MULT, FR_EMPT, BL_INC,
FR_EMPT, FR_MVDN, FR_MUTE, FR_MVUP, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_4, FR_5, FR_6, FR_MOIN, FR_EMPT, BL_DEC,
FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_1, FR_2, FR_3, FR_PLUS, FR_EMPT, BL_ON,
RESET, FR_EMPT, FR_EMPT, FR_TRANS, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_EMPT, FR_0, FR_DOT, FR_ENTK, FR_EMPT, BL_STEP
)
};

View File

@@ -0,0 +1,157 @@
enum french_key {
FR_EMPT = 0x00,
FR_TRANS,
FR_Q = 0x04,
FR_B,
FR_C,
FR_D,
FR_E,
FR_F,
FR_G,
FR_H,
FR_I,
FR_J,
FR_K,
FR_L,
FR_COMM, /* 0x10 */
FR_N,
FR_O,
FR_P,
FR_A,
FR_R,
FR_S,
FR_T,
FR_U,
FR_V,
FR_Z,
FR_X,
FR_Y,
FR_W,
FR_AMPR,
FR_EACU,
FR_DQUO, /* 0x20 */
FR_QUOT,
FR_LPAR,
FR_MINS,
FR_EGRV,
FR_UNDS,
FR_CCED,
FR_AGRV,
FR_ENTR,
FR_ESC,
FR_BSPC,
FR_TAB,
FR_SPAC,
FR_RPAR,
FR_EQUA,
FR_HAT,
FR_DLR, /* 0x30 */
FR_AST =0x32,
FR_M,
FR_UGRV,
FR_SCLN =0x36,
FR_COLN,
FR_EXCL,
FR_CAPL,
FR_F1,
FR_F2,
FR_F3,
FR_F4,
FR_F5,
FR_F6,
FR_F7, /* 0x40 */
FR_F8,
FR_F9,
FR_F10,
FR_F11,
FR_F12,
FR_PSCR,
FR_INST =0x49,
FR_HOME,
FR_PGUP,
FR_DEL,
FR_END,
FR_PGDN,
FR_RIGT,
FR_LEFT, /* 0x50 */
FR_DOWN,
FR_UP,
FR_NUML,
FR_SLSH, /* KEYPAD */
FR_MULT,
FR_MOIN,
FR_PLUS,
FR_ENTK,
FR_1,
FR_2,
FR_3,
FR_4,
FR_5,
FR_6,
FR_7,
FR_8, /* 0x60 */
FR_9,
FR_0,
FR_DOT,
FR_LABK,
FR_EQ =0x67 /* END KEYPAD */,
FR_F13,
FR_F14,
FR_F15,
FR_F16,
FR_F17,
FR_F18,
FR_F19,
FR_F20,
FR_F21, /* 0x70 */
FR_F22,
FR_F23,
FR_F24,
FR_MENU =0x76
};
enum french_control_touch{
/* Modifiers */
FR_LCTR = 0xE0,
FR_LSFT,
FR_LALT,
FR_LCMD,
FR_RCTR,
FR_RSFT,
FR_ALGR,
FR_RCMD
};
enum french_media_key{
/* System Control */
FR_SYSTEM_POWER = 0xA5,
FR_SYSTEM_SLEEP,
FR_SYSTEM_WAKE,
/* Media Control */
FR_MUTE,
FR_MVUP,
FR_MVDN,
FR_MNXT,
FR_MPRV,
FR_MSTP,
FR_MPLY,
FR_MEDIA_SELECT,
FR_MEDIA_EJECT,
FR_MAIL,
FR_CALCULATOR,
FR_MY_COMPUTER,
FR_WWW_SEARCH,
FR_WWW_HOME,
FR_WWW_BACK,
FR_WWW_FORWARD,
FR_WWW_STOP,
FR_WWW_REFRESH,
FR_WWW_FAVORITES,
FR_MEDIA_FAST_FORWARD,
FR_MEDIA_REWIND /* 0xBC */
};

View File

@@ -0,0 +1,20 @@
# Clavier AZERTY français
![Disposition Clavier](https://i.imgur.com/tH9TVBc.png)
# Configuration du clavier
Ce clavier AZERTY est basé sur le fichier keymap_french.c de correspondance QWERTY - AZERTY.
Ce fichier est composé de trois énumérations (layout français, touches de contrôle, touches multimédias) correspondant aux keycodes sous la forme d'hexa.
Il peut être utilisé pour toute autre configuration de clavier juste en incluant ce fichier dans son propre keymap.c.
La touche de fonction permet elle d'avoir accès aux différentes touches multimédias ainsi qu'au pavé numérique. Mais aussi si le clavier est équipé de led, à différents modes d'éclairage.
# Compilation
```
make xd75:french:dfu
```

View File

@@ -0,0 +1,17 @@
# Copyright 2013 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/>.
RGBLIGHT_ENABLE = no

View File

@@ -0,0 +1,117 @@
/* Copyright 2018 Kolja Brauns
*
* 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
// place overrides here
//Tap-Toggle
#define TAPPING_TOGGLE 3
//Tap Dancing
#define TAPPING_TERM 200
// normal characters
#define DE_Z KC_Y
#define DE_Y KC_Z
#define DE_A KC_A
#define DE_B KC_B
#define DE_C KC_C
#define DE_D KC_D
#define DE_E KC_E
#define DE_F KC_F
#define DE_G KC_G
#define DE_H KC_H
#define DE_I KC_I
#define DE_J KC_J
#define DE_K KC_K
#define DE_L KC_L
#define DE_M KC_M
#define DE_N KC_N
#define DE_O KC_O
#define DE_P KC_P
#define DE_Q KC_Q
#define DE_R KC_R
#define DE_S KC_S
#define DE_T KC_T
#define DE_U KC_U
#define DE_V KC_V
#define DE_W KC_W
#define DE_X KC_X
#define DE_0 KC_0
#define DE_1 KC_1
#define DE_2 KC_2
#define DE_3 KC_3
#define DE_4 KC_4
#define DE_5 KC_5
#define DE_6 KC_6
#define DE_7 KC_7
#define DE_8 KC_8
#define DE_9 KC_9
#define DE_DOT KC_DOT
#define DE_COMM KC_COMM
#define DE_SS KC_MINS
#define DE_ADIA KC_QUOT
#define DE_UDIA KC_LBRC
#define DE_ODIA KC_SCLN
#define DE_CIRC KC_GRAVE // accent circumflex ^ and ring °
#define DE_ACUT KC_EQL // accent acute ´ and grave `
#define DE_PLUS KC_RBRC // + and * and ~
#define DE_HASH KC_BSLS // # and '
#define DE_LABK KC_NUBS // < and > and |
#define DE_MINS KC_SLSH // - and _
// shifted characters
#define DE_DEG LSFT(DE_CIRC) // °
#define DE_EXLM LSFT(KC_1) // !
#define DE_DQUO LSFT(KC_2) // "
#define DE_SECT LSFT(KC_3) // §
#define DE_DLR LSFT(KC_4) // $
#define DE_PERC LSFT(KC_5) // %
#define DE_AMPR LSFT(KC_6) // &
#define DE_SLSH LSFT(KC_7) // /
#define DE_LPRN LSFT(KC_8) // (
#define DE_RPRN LSFT(KC_9) // )
#define DE_EQL LSFT(KC_0) // =
#define DE_QUES LSFT(DE_SS) // ?
#define DE_GRV LSFT(DE_ACUT) // `
#define DE_ASTR LSFT(DE_PLUS) // *
#define DE_QUOT LSFT(DE_HASH) // '
#define DE_RABK LSFT(DE_LABK) // >
#define DE_COLN LSFT(KC_DOT) // :
#define DE_SCLN LSFT(KC_COMM) // ;
#define DE_UNDS LSFT(DE_MINS) // _
// Alt Gr-ed characters
#define DE_SUP2 ALGR(KC_2) // ²
#define DE_SUP3 ALGR(KC_3) // ³
#define DE_LCBR ALGR(KC_7) // {
#define DE_LBRC ALGR(KC_8) // [
#define DE_RBRC ALGR(KC_9) // ]
#define DE_RCBR ALGR(KC_0) // }
#define DE_BSLS ALGR(DE_SS) // backslash
#define DE_AT ALGR(KC_Q) // @
#define DE_EURO ALGR(KC_E) // €
#define DE_TILD ALGR(DE_PLUS) // ~
#define DE_PIPE ALGR(DE_LABK) // |
// Launchy
#define ALT_SPC LALT(KC_SPC)

View File

@@ -0,0 +1,86 @@
/* Copyright 2017 Kolja Brauns
*/
#include QMK_KEYBOARD_H
#ifndef KEYMAP_GERMAN
#define KEYMAP_GERMAN
#include "keymap.h"
#endif
//Tap Dance Declarations
enum {
TD_ESC_RUPT = 0
};
enum {
TD_TAB = 1
};
//Tap Dance Definitions
qk_tap_dance_action_t tap_dance_actions[] = {
//Tap once for Esc, twice Ctrl+Alt+Del
[TD_ESC_RUPT] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, LALT(LCTL(KC_DEL))),
[TD_TAB] = ACTION_TAP_DANCE_DOUBLE(KC_LCTL, LGUI(KC_TAB))
// Other declarations would go here, separated by commas, if you have them
};
//In Layer declaration, add tap dance item in place of a key code
// Layer shorthand
#define _QWZ 0
#define _FNC 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWZ
* .-----------------------------------------------------------------------------------------------------------------------.
* | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ß | ´ | BckSpc| Esc |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
* | Tab | Q | W | E | R | T | Z | U | I | O | P | Ü | + | | PgUp |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------| Enter |-------|
* | Ctrl/ | A | S | D | F | G | H | J | K | L | Ö | Ä | # | | PgDn |
* | GUITab| | | | | | | | | | | | | | |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
* | LShift| Y | X | C | V | B | N | M | , | . | - | ^ | Home/ | Up | End |
* | | | | | | | | | | | | | RShift| | |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
* | LCtrl | LAlt | MO(1)/| Space | Backspace | MO(1)/|AltGr/ | Win | < | Del | Left | Down | Right |
* | | | Enter | | | TO(1) |Pause | | | | | | |
* °-----------------------------------------------------------------------------------------------------------------------°
*/
[_QWZ] = LAYOUT_ortho_5x15(
TD(TD_ESC_RUPT), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, KC_BSPC, KC_ESC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA, DE_PLUS, KC_NO, KC_PGUP,
TD(TD_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, KC_PGDN,
KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, DE_CIRC, MT(MOD_RSFT, KC_HOME), KC_UP, KC_END,
KC_LCTL, KC_LALT, LT(1, KC_ENT), KC_SPC, KC_NO, KC_BSPC, KC_NO, TT(1), MT(MOD_RALT, KC_PAUS), KC_RGUI, DE_LABK, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
),
/* FNC
* .-----------------------------------------------------------------------------------------------------------------------.
* | Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | _____ | _____ |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
* | _____ | _____ | _____ |Bright+| _____ | _____ | _____ | _____ | _____ | Up | PrtSc | _____ | _____ | _____ | _____ |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
* | _____ | _____ | _____ |RGB Tog|RGB Mod| _____ | _____ | _____ | Left | Down | Right | _____ | _____ | Play | _____ |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
* | CpsLck| _____ | _____ |Bright-| _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | VolUp | Mute |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
* | TO(0) | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | Prev | VolDn | Next |
* °-----------------------------------------------------------------------------------------------------------------------°
*/
[_FNC] = LAYOUT_ortho_5x15(
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS,
KC_CAPS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE,
TO(0), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
)
};

View File

@@ -0,0 +1,83 @@
# XD75RE
Copyright 2018 Kolja Brauns
### Current release: 1.7
**Features**
A keymap for German users of the XD75RE keyboard, customized to my needs. Not optimized for ten-finger typing. Some choices are due to me being a lefty.
Designed to ease transition from staggered layouts, with the most important keys in the same positions. All German alphanumerics on main layer. Keyboard language should be set to DE in your OS.
Lots of dual-use keys, mostly with hold/tap. See visual representation below.
Some 2u keys, using PoS caps. If you don't have any you'll have to replace the dummy keys with the relevant keycodes.
Full nav keys on main layer.
Designed to be used with an additional macropad, no numpad configured.
**QWZ** - Layer 0, Default Layer. QWERTZ layout.
.-----------------------------------------------------------------------------------------------------------------------.
| Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ß | ´ | BckSpc| Esc |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| Tab | Q | W | E | R | T | Z | U | I | O | P | Ü | + | | PgUp |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------| Enter |-------|
| Ctrl/ | A | S | D | F | G | H | J | K | L | Ö | Ä | # | | PgDn |
| GUITab| | | | | | | | | | | | | | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| LShift| Y | X | C | V | B | N | M | , | . | - | ^ | Home/ | Up | End |
| | | | | | | | | | | | | RShift| | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| LCtrl | LAlt | MO(1)/| Space | Backspace | MO(1)/|AltGr/ | Win | < | Del | Left | Down | Right |
| | | Enter | | | TO(1) |Pause | | | | | | |
°-----------------------------------------------------------------------------------------------------------------------°
**FNC** - Layer 1, Function Layer. F-Keys, additional useful keys. Usually accessed temporarily, can be toggled if necessary.
.-----------------------------------------------------------------------------------------------------------------------.
| Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | _____ | _____ |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| _____ | _____ | _____ |Bright+| _____ | _____ | _____ | _____ | _____ | Up | PrtSc | _____ | _____ | _____ | _____ |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| _____ | _____ | _____ |RGB Tog|RGB Mod| _____ | _____ | _____ | Left | Down | Right | _____ | _____ | Play | _____ |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| CpsLck| _____ | _____ |Bright-| _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | VolUp | Mute |
|-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
| TO(0) | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | _____ | Prev | VolDn | Next |
°-----------------------------------------------------------------------------------------------------------------------°
*Release 1.1*
Added Printscreen to second layer.
Added shortcut to Launchy to AltGr.
*Release 1.3*
Now using PoS keys for 2u keys, added dummy keys accordingly (not strictly necessary since debouncing handles this, but without this you'll have double input rarely.)
Cleaned keymap up & removed unnecessary layers.
*Release 1.4*
Fixed position of the reset key, replaced right spacebar with backspace.
*Release 1.5*
Reset moved to Esc. Removed Numpad since it wasn't getting any use. Removed random other keys on function layer that weren't getting any use or are covered by my macropad. Added RShift for held home key.
Added secondary arrow keys on JIKL.
*Release 1.6*
Major rework and cleanup.
Capslock removed. Caps now temporarily toggles function layer when held, Esc when tapped. LShift is Capslock when tapped. Esc is Ctrl-Alt-Del on tap.
Left lower MO(1) is now Enter on tap. Right lower Layer(1) is now Tap-Toggle (Toggle:_Tap thrice).
Media keys moved to nav section - Enter=Play, Up=VolUp, Down=VolDn, Left=Prev, Right=Next, End=Mute.
Added PrintScreen on P on Layer 1.
Added cleaner visual representation since the multi-function keys make the actual keymap messy.
Moved old versions into folder together, only current version in root keymap directory now.
*Release 1.7*
Backspace split, includes Esc now.
Capslock moved to function layer to keep smoother LShift operation.
Original Caps key now Ctrl, Alt+GUI on double-tap - inspired by Android.
Cleaned up visual representation in readme.

View File

@@ -0,0 +1,35 @@
# Copyright 2013 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/>.
# QMK Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
TAP_DANCE_ENABLE = yes # Enable Tap Dancing

View File

@@ -0,0 +1,20 @@
/* Copyright 2017 Benjamin Kesselring
*
* 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
#define TAPPING_TERM 170
//#define RGBLIGHT_LAYERS
// place overrides here

View File

@@ -0,0 +1,310 @@
/* Copyright 2020 Hybrid
*
* 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 QMK_KEYBOARD_H
enum layers {
_MAIN = 0,
_LY1,
_LY2,
};
enum {
TD_A,
TD_E,
TD_I,
TD_O,
TD_U,
TD_SLASH,
TD_UNDER,
TD_OP_ACCOL,
TD_CL_ACCOL,
TD_QUESTION,
TD_CEDILLE,
TD_DOT,
};
void dance_a_accent (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_0);
}
else {
tap_code (KC_Q);
}
}
void dance_e_accent (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_2);
}
else if (state->count == 3) {
tap_code (KC_7);
}
else {
tap_code (KC_E);
}
}
void dance_i_accent (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P2);
tap_code (KC_P3);
tap_code (KC_P8);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
else {
tap_code (KC_I);
}
}
void dance_o_accent (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P2);
tap_code (KC_P4);
tap_code (KC_P4);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
else {
tap_code (KC_O);
}
}
void dance_u_accent (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P2);
tap_code (KC_P4);
tap_code (KC_P9);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
else {
tap_code (KC_U);
}
}
void dance_slash (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P9);
tap_code (KC_P2);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
else {
tap_code (KC_PSLS);
}
}
void dance_under (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P9);
tap_code (KC_P5);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
else {
tap_code (KC_6);
}
}
void dance_open_accol (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P1);
tap_code (KC_P2);
tap_code (KC_P3);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
else if (state->count == 3) {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P9);
tap_code (KC_P1);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
else {
tap_code (KC_5);
}
}
void dance_close_accol (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P1);
tap_code (KC_P2);
tap_code (KC_P5);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
else if (state->count == 3) {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P9);
tap_code (KC_P3);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
else {
tap_code (KC_MINS);
}
}
void dance_question (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P0);
tap_code (KC_P3);
tap_code (KC_P3);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
else {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P0);
tap_code (KC_P6);
tap_code (KC_P3);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
}
void dance_cedille (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_9);
}
else {
tap_code (KC_C);
}
}
void dance_dot (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 2) {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P4);
tap_code (KC_P4);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
else {
tap_code (KC_NLCK);
register_code (KC_LALT);
tap_code (KC_P0);
tap_code (KC_P4);
tap_code (KC_P6);
unregister_code (KC_LALT);
tap_code (KC_NLCK);
}
}
qk_tap_dance_action_t tap_dance_actions[] = {
[TD_A] = ACTION_TAP_DANCE_FN(dance_a_accent),
[TD_E] = ACTION_TAP_DANCE_FN(dance_e_accent),
[TD_I] = ACTION_TAP_DANCE_FN(dance_i_accent),
[TD_O] = ACTION_TAP_DANCE_FN(dance_o_accent),
[TD_U] = ACTION_TAP_DANCE_FN(dance_u_accent),
[TD_SLASH] = ACTION_TAP_DANCE_FN(dance_slash),
[TD_UNDER] = ACTION_TAP_DANCE_FN(dance_under),
[TD_OP_ACCOL] = ACTION_TAP_DANCE_FN(dance_open_accol),
[TD_CL_ACCOL] = ACTION_TAP_DANCE_FN(dance_close_accol),
[TD_QUESTION] = ACTION_TAP_DANCE_FN(dance_question),
[TD_CEDILLE] = ACTION_TAP_DANCE_FN(dance_cedille),
[TD_DOT] = ACTION_TAP_DANCE_FN(dance_dot),
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// red led layout
[_MAIN] = LAYOUT_ortho_5x15(
KC_ESC, KC_RBRC, KC_1, KC_2, KC_3, KC_4, KC_5, TD(TD_DOT), KC_6, KC_7, KC_8, KC_9, KC_0, DF(_LY1), KC_NO,
KC_TAB, TD(TD_A), KC_W, TD(TD_E), KC_R, KC_T, KC_Y, KC_ENT, TD(TD_U), TD(TD_I), TD(TD_O), KC_P, KC_NO, TD(TD_OP_ACCOL), TD(TD_CL_ACCOL),
KC_PGUP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_ENT, KC_J, KC_K, KC_L, KC_SCLN, KC_UP, KC_NO, KC_NO,
KC_PGDN, KC_Z, KC_X, TD(TD_CEDILLE), KC_V, KC_B, KC_N, KC_DOT, TD(TD_QUESTION), TD(TD_UNDER), TD(TD_SLASH), KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
KC_NO, KC_NO, KC_LALT, KC_LCTL, KC_LSFT, KC_SPC, KC_HOME, KC_LGUI, KC_END, KC_BSPC, KC_RALT, KC_DEL, KC_PMNS, KC_NO, MO(1)
),
// green led layout
[_LY1] = LAYOUT_ortho_5x15(
KC_ESC, RGB_TOG, RGB_RMOD, RGB_M_P, RGB_M_B, RGB_M_SW, RGB_M_K, RGB_M_G, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DF(_LY2), DF(_MAIN),
DEBUG, KC_PSCR, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
RESET, KC_NO, KC_S, KC_D, KC_F, KC_G, KC_Z, KC_J, KC_K, KC_L, KC_M, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_LSFT,
KC_NO, KC_X, KC_C, KC_V, KC_B, KC_N, KC_COMM, KC_SCLN, KC_NO, KC_NO, KC_P4, KC_P5, KC_P6, KC_PEQL, KC_LCBR,
KC_NO, KC_NO, KC_NO, KC_SPC, KC_SPC, KC_SPC, KC_TRNS, KC_NO, KC_TRNS, KC_P0, KC_P1, KC_P2, KC_P3, KC_TRNS
),
// blue led layout
[_LY2] = LAYOUT_ortho_5x15(
KC_MPRV, KC_MNXT, KC_NO, KC_NO, KC_NO, BL_ON, BL_OFF, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_RMOD, RGB_MOD, KC_NO, DF(_LY1),
KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, BL_TOGG, BL_STEP, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD, RGB_HUI, RGB_M_P, RGB_M_B,
KC_MPLY, KC_MSTP, KC_MUTE, KC_NO, KC_NO, BL_DEC, BL_INC, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_SAI, RGB_M_R, RGB_M_SW,
KC_MRWD, KC_MFFD, KC_NO, KC_NO, KC_NO, BL_BRTG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_VAI, RGB_M_SN, RGB_M_K,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, RGB_SPD, RGB_SPI, RGB_M_X, RGB_M_G
)
};
//Define layer colors
#define rgblight_setrgb_user_MAIN() rgblight_sethsv_red()
#define rgblight_setrgb_user_LY1() rgblight_sethsv_green()
#define rgblight_setrgb_user_LY2() rgblight_sethsv_blue()
void matrix_init_user(void) {
rgblight_enable();
rgblight_mode(1);
rgblight_setrgb_user_MAIN();
}
//Set a color based on the layer
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case _LY1:
rgblight_setrgb_user_LY1();
break;
case _LY2:
rgblight_setrgb_user_LY2();
break;
default:
rgblight_setrgb_user_MAIN();
break;
}
return state;
}

View File

@@ -0,0 +1,13 @@
#
# My XD75 keyboard
# The layouts are 100 % customizable by myself.
# The layout 1 is almost finished (layer 2 and layer 3 are not finished, for testing purpose as far)
# Layout 1 => rgb red
# Layout 2 => rgb green
# Layout 1 => rgb blue
# (to memorize => rgb :) )
#
# I added some double tap dance for french accent (à é è î ô ù, not for every accents) and c & ç
# Some double tap dance for useful mapping (- & _ , ({[ & )}], etc... )
#
#

View File

@@ -0,0 +1,21 @@
# Copyright 2013 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/>.
RGBLIGHT_ENABLE = yes
TAP_DANCE_ENABLE = yes
UNICODE_ENABLE = no
SLEEP_LED_ENABLE = no
BACKLIGHT_ENABLE = no

View File

@@ -0,0 +1,37 @@
#include QMK_KEYBOARD_H
#define _QW 0
#define _LW 1
#define _NV 2
#define _NM 3
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QW] = LAYOUT_ortho_5x15(
KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_MUTE, KC_VOLD, KC_VOLU, 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_INS , KC_HOME, KC_PGUP, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
MO(_NV), KC_A , KC_S , KC_D , KC_F , KC_G , KC_DEL , KC_END , KC_PGDN, 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_UP , _______, KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, MO(_NM), KC_LALT, MO(_LW), KC_SPC , KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT , MO(_LW), KC_RALT, KC_RGUI, KC_APP , KC_RCTL
),
[_LW] = LAYOUT_ortho_5x15(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_ESC , 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_F11 , KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , _______, _______, _______, KC_F12 , KC_GRV , _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_NV] = LAYOUT_ortho_5x15(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, KC_DEL , KC_BSPC, _______, _______, _______, _______, KC_HOME, KC_UP , KC_END , KC_INS , _______,
_______, _______, _______, KC_LSFT, KC_LCTL, KC_ENT , _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL , _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_NM] = LAYOUT_ortho_5x15(
_______, _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______,
RESET , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View File

@@ -0,0 +1 @@
# Jarreds xd75 keymap

View File

@@ -0,0 +1,20 @@
/* Copyright 2017 REPLACE_WITH_YOUR_NAME
*
* 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
// place overrides here
#undef BACKLIGHT_BREATHING

Some files were not shown because too many files have changed in this diff Show More