Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
4df6b7ba19 | |||
56ed2d495d | |||
c14e297ad5 | |||
9ce35e823b | |||
1225120b92 | |||
f2bc70a264 | |||
4e41812a67 | |||
7e8d4be8ac | |||
b5d9bee969 | |||
1775a3075e | |||
095b28e006 | |||
8a27703ef4 | |||
006abbfd6f | |||
95e7e10061 |
@ -91,6 +91,8 @@ This is a C header file that is one of the first things included, and will persi
|
||||
* key combination that allows the use of magic commands (useful for debugging)
|
||||
* `#define USB_MAX_POWER_CONSUMPTION`
|
||||
* sets the maximum power (in mA) over USB for the device (default: 500)
|
||||
* `#define SCL_CLOCK 100000L`
|
||||
* sets the SCL_CLOCK speed for split keyboards. The default is `100000L` but some boards can be set to `400000L`.
|
||||
|
||||
## Features That Can Be Disabled
|
||||
|
||||
|
2
keyboards/dz60/keymaps/krusli/config.h
Normal file
2
keyboards/dz60/keymaps/krusli/config.h
Normal file
@ -0,0 +1,2 @@
|
||||
#pragma once
|
||||
#define USB_MAX_POWER_CONSUMPTION 100
|
29
keyboards/dz60/keymaps/krusli/keymap.c
Normal file
29
keyboards/dz60/keymaps/krusli/keymap.c
Normal file
@ -0,0 +1,29 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
|
||||
#define _______ KC_TRNS
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
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_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_LCTL, 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_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_APP, KC_APP, KC_RCTL),
|
||||
|
||||
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_INS, KC_DEL,
|
||||
KC_CAPS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_VAD, RGB_VAI, RGB_SAD, RGB_SAI, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, RESET,
|
||||
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
|
||||
_______, KC_NO, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
|
||||
};
|
||||
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
||||
DDRB |= (1 << 2); PORTB &= ~(1 << 2);
|
||||
} else {
|
||||
DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
|
||||
}
|
||||
}
|
15
keyboards/dz60/keymaps/krusli/rules.mk
Normal file
15
keyboards/dz60/keymaps/krusli/rules.mk
Normal file
@ -0,0 +1,15 @@
|
||||
# Build Options
|
||||
# comment out to disable the options.
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
NKRO_ENABLE = yes # USB 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
|
||||
AUDIO_ENABLE = no
|
||||
RGBLIGHT_ENABLE = yes
|
||||
|
||||
LAYOUTS = 60_ansi
|
75
keyboards/handwired/nicekey/config.h
Normal file
75
keyboards/handwired/nicekey/config.h
Normal file
@ -0,0 +1,75 @@
|
||||
/*
|
||||
Copyright 2015 Jun Wako <wakojun@gmail.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef CONFIG_H
|
||||
#define CONFIG_H
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x6464
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Lukas
|
||||
#define PRODUCT nicekey
|
||||
#define DESCRIPTION a compliment one key keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 1
|
||||
#define MATRIX_COLS 1
|
||||
|
||||
#define MATRIX_COL_PINS { C6 }
|
||||
#define MATRIX_ROW_PINS { B6 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* define if matrix has ghost */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* key combination for command */
|
||||
#define IS_COMMAND() ( \
|
||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
||||
)
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
*/
|
||||
|
||||
/* disable debug print */
|
||||
//#define NO_DEBUG
|
||||
|
||||
/* disable print */
|
||||
//#define NO_PRINT
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_MACRO
|
||||
//#define NO_ACTION_FUNCTION
|
||||
|
||||
#endif
|
75
keyboards/handwired/nicekey/keymaps/default/keymap.c
Normal file
75
keyboards/handwired/nicekey/keymaps/default/keymap.c
Normal file
@ -0,0 +1,75 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum custom_keycodes {
|
||||
RANDOM_STRING_MACRO = SAFE_RANGE
|
||||
};
|
||||
|
||||
const int delay = 100;
|
||||
const char *sentences[] = {
|
||||
"I hope you have a great day!\n",
|
||||
"You are an awesome person.\n",
|
||||
"I wish I knew you better, you seem nice!\n",
|
||||
"Your views restore my faith in humanity\n",
|
||||
"You are as cool as a norm-critical disney princess\n",
|
||||
"You have impeccable manners.\n",
|
||||
"You are making me smile\n",
|
||||
"You are making a difference\n",
|
||||
"You bring out the best in other people\n",
|
||||
"You are all that and a super-size bag of chips.\n",
|
||||
"You are not someone I pretend to not see in public.\n",
|
||||
"Are you a beaver, because damn.\n",
|
||||
"I bet you make babies smile.\n",
|
||||
"You are awkward, in a cute way. Like an elevator ride, but with puppies.\n",
|
||||
"Looking like a complete idiot with you is really fun.\n",
|
||||
"If you cooked something really bad, I would tell you instead of eating it.\n",
|
||||
"I love how passionate you are about your hobby.\n",
|
||||
"Our conversations always make me feel better.\n",
|
||||
"It is amazing how far out of your way you go to help people.\n",
|
||||
"I am so glad that you wrote something here.\n",
|
||||
"Hey you! How nice to see a friendly person in my feed!\n",
|
||||
"I hope we know each other for a long time.\n",
|
||||
"I bet if Britney Spears knew you, 2008 would have gone a lot differently.\n",
|
||||
"I would trust you with my passwords.\n",
|
||||
"You are a great problem solver\n",
|
||||
"I would love to hear you laugh!\n",
|
||||
"Please, have a monologue about your week, I just want to listen to you!\n",
|
||||
"You are very far from being Trump.\n",
|
||||
"I think my dog might like you more than me\n",
|
||||
"I feel like you would be a great person to do a group project with\n",
|
||||
"I bet animals love you\n",
|
||||
"I bet even Kanye would like you more than himself\n",
|
||||
"You are just doing a great job at life\n",
|
||||
"I like how you are challenging me.\n",
|
||||
"You would do be a great mother!\n",
|
||||
"I... Baked bread for you.\n",
|
||||
"Wow. You.\n",
|
||||
"You would not have let that balrog pass!\n",
|
||||
"Thank you.\n",
|
||||
"You would be standing out in a crowd\n",
|
||||
"Your sense of style is amazing.\n",
|
||||
"You have a beautiful mind.\n",
|
||||
"I like that big juicy brain of yours\n",
|
||||
"I would share my cinnamon bun with you\n",
|
||||
"I like you more than i like my moms apple pie\n",
|
||||
"You give me the same feeling as a summers night\n",
|
||||
"I enjoy you more than the click of my mechanical switch\n",
|
||||
"I would let you pop my bubble wrap\n",
|
||||
"Being near you is like being inside of a poem\n"
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
int sentences_size = sizeof(sentences) / sizeof(sentences[0]);
|
||||
int i = rand() % sentences_size;
|
||||
switch(keycode) {
|
||||
case RANDOM_STRING_MACRO:
|
||||
send_string_with_delay(sentences[i], delay);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
{{ RANDOM_STRING_MACRO }}
|
||||
};
|
1
keyboards/handwired/nicekey/nicekey.c
Normal file
1
keyboards/handwired/nicekey/nicekey.c
Normal file
@ -0,0 +1 @@
|
||||
#include "nicekey.h"
|
1
keyboards/handwired/nicekey/nicekey.h
Normal file
1
keyboards/handwired/nicekey/nicekey.h
Normal file
@ -0,0 +1 @@
|
||||
#include "quantum.h"
|
18
keyboards/handwired/nicekey/readme.md
Normal file
18
keyboards/handwired/nicekey/readme.md
Normal file
@ -0,0 +1,18 @@
|
||||
# nicekey handwired
|
||||
|
||||

|
||||
|
||||
|
||||
Custom handwired nicekey, a one key keyboard that writes random compliments.
|
||||
|
||||
Keyboard Maintainer: spydon
|
||||
Hardware Supported: Custom handwired one key
|
||||
Hardware Availability:
|
||||
|
||||
Switch must be connected to pins C6 and B6.
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/nicekey:default
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
|
61
keyboards/handwired/nicekey/rules.mk
Normal file
61
keyboards/handwired/nicekey/rules.mk
Normal file
@ -0,0 +1,61 @@
|
||||
|
||||
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Processor frequency.
|
||||
# This will define a symbol, F_CPU, in all source code files equal to the
|
||||
# processor frequency in Hz. You can then use this symbol in your source code to
|
||||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
||||
# automatically to create a 32-bit value in your source code.
|
||||
#
|
||||
# This will be an integer division of F_USB below, as it is sourced by
|
||||
# F_USB after it has run through any CPU prescalers. Note that this value
|
||||
# does not *change* the processor frequency - it should merely be updated to
|
||||
# reflect the processor speed set externally so that the code can use accurate
|
||||
# software delays.
|
||||
F_CPU = 16000000
|
||||
|
||||
|
||||
#
|
||||
# LUFA specific
|
||||
#
|
||||
# Target architecture (see library "Board Types" documentation).
|
||||
ARCH = AVR8
|
||||
|
||||
# Input clock frequency.
|
||||
# This will define a symbol, F_USB, in all source code files equal to the
|
||||
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
||||
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
||||
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
||||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
||||
# at the end, this will be done automatically to create a 32-bit value in your
|
||||
# source code.
|
||||
#
|
||||
# If no clock division is performed on the input clock inside the AVR (via the
|
||||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
|
||||
F_USB = $(F_CPU)
|
||||
|
||||
# Interrupt driven control endpoint task(+60)
|
||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
||||
|
||||
|
||||
# Boot Section Size in *bytes*
|
||||
# Teensy halfKay 512
|
||||
# Teensy++ halfKay 1024
|
||||
# Atmel DFU loader 4096
|
||||
# LUFA bootloader 4096
|
||||
# USBaspLoader 2048
|
||||
OPT_DEFS += -DBOOTLOADER_SIZE=4096
|
||||
|
||||
|
||||
# Build Options
|
||||
# comment out to disable the options.
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = yes # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
|
||||
#NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
22
keyboards/handwired/qc60/README.md
Normal file
22
keyboards/handwired/qc60/README.md
Normal file
@ -0,0 +1,22 @@
|
||||
QC60
|
||||
========
|
||||
|
||||

|
||||
|
||||
A split 60% staggered keyboard made by Peioris.
|
||||
|
||||
Keyboard Maintainer: [Peioris](https://github.com/coarse)
|
||||
Hardware Supported: [QC60 PCB](https://imgur.com/6tIxJ1N), Pro Micro
|
||||
Hardware Availability: N/A at the moment
|
||||
|
||||
Handwiring Resources: [Pro Micro Wiring](https://imgur.com/UycEYlG), [Keymapping](http://www.keyboard-layout-editor.com/#/gists/a54720ecfd934155b179657938e8e87b)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/qc60/proto:default
|
||||
|
||||
Example of flashing this keyboard:
|
||||
|
||||
make handwired/qc60/proto:avrdude
|
||||
|
||||
See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information.
|
24
keyboards/handwired/qc60/config.h
Normal file
24
keyboards/handwired/qc60/config.h
Normal file
@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x0C60
|
||||
#define DEVICE_VER 0x00C6
|
||||
#define MANUFACTURER PeiorisBoards
|
||||
#define PRODUCT QC60
|
||||
#define DESCRIPTION Split 60% staggered keyboard
|
||||
|
||||
/* key matrix size */
|
||||
// Rows are doubled-up
|
||||
#define MATRIX_ROWS 10
|
||||
#define MATRIX_COLS 8
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCING_DELAY 5
|
||||
|
||||
/* key combination for command */
|
||||
#define IS_COMMAND() ( \
|
||||
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
|
||||
)
|
87
keyboards/handwired/qc60/info.json
Normal file
87
keyboards/handwired/qc60/info.json
Normal file
@ -0,0 +1,87 @@
|
||||
{
|
||||
"keyboard_name": "QC60",
|
||||
"url": "",
|
||||
"maintainer": "coarse",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_ANSI_DEFAULT": {
|
||||
"key_count": 64,
|
||||
"layout": [
|
||||
{"label":"Esc", "x":0, "y":0},
|
||||
{"label":"1", "x":1, "y":0},
|
||||
{"label":"2", "x":2, "y":0},
|
||||
{"label":"3", "x":3, "y":0},
|
||||
{"label":"4", "x":4, "y":0},
|
||||
{"label":"5", "x":5, "y":0},
|
||||
{"label":"6", "x":6, "y":0},
|
||||
|
||||
{"label":"7", "x":7, "y":0},
|
||||
{"label":"8", "x":8, "y":0},
|
||||
{"label":"9", "x":9, "y":0},
|
||||
{"label":"0", "x":10, "y":0},
|
||||
{"label":"-", "x":11, "y":0},
|
||||
{"label":"=", "x":12, "y":0},
|
||||
{"label":"Backspace", "x":13, "y":0, "w":2.0},
|
||||
|
||||
{"label":"Tab", "x":0, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":1},
|
||||
{"label":"W", "x":2.5, "y":1},
|
||||
{"label":"E", "x":3.5, "y":1},
|
||||
{"label":"R", "x":4.5, "y":1},
|
||||
{"label":"T", "x":5.5, "y":1},
|
||||
|
||||
{"label":"Y", "x":6.5, "y":1},
|
||||
{"label":"U", "x":7.5, "y":1},
|
||||
{"label":"I", "x":8.5, "y":1},
|
||||
{"label":"O", "x":9.5, "y":1},
|
||||
{"label":"P", "x":10.5, "y":1},
|
||||
{"label":"[", "x":11.5, "y":1},
|
||||
{"label":"]", "x":12.5, "y":1},
|
||||
{"label":"\\", "x":13.5, "y":1, "w":1.5},
|
||||
|
||||
{"label":"CapsLock", "x":0, "y":2, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":2},
|
||||
{"label":"S", "x":2.75, "y":2},
|
||||
{"label":"D", "x":3.75, "y":2},
|
||||
{"label":"F", "x":4.75, "y":2},
|
||||
{"label":"G", "x":5.75, "y":2},
|
||||
|
||||
{"label":"H", "x":6.75, "y":2},
|
||||
{"label":"J", "x":7.75, "y":2},
|
||||
{"label":"K", "x":8.75, "y":2},
|
||||
{"label":"L", "x":9.75, "y":2},
|
||||
{"label":";", "x":10.75, "y":2},
|
||||
{"label":"'", "x":11.75, "y":2},
|
||||
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
|
||||
|
||||
{"label":"Shift", "x":0, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.25, "y":3},
|
||||
{"label":"X", "x":3.25, "y":3},
|
||||
{"label":"C", "x":4.25, "y":3},
|
||||
{"label":"V", "x":5.25, "y":3},
|
||||
{"label":"B", "x":6.25, "y":3},
|
||||
|
||||
{"label":"N", "x":7.25, "y":3},
|
||||
{"label":"M", "x":8.25, "y":3},
|
||||
{"label":",", "x":9.25, "y":3},
|
||||
{"label":".", "x":10.25, "y":3},
|
||||
{"label":"/", "x":11.25, "y":3},
|
||||
{"label":"Shift", "x":12.25, "y":3, "w":2.75},
|
||||
|
||||
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
|
||||
{"label":"Win", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
|
||||
{"x":3.75, "y":4, "w":2.75},
|
||||
{"x":6.5, "y":4, "w":1.25},
|
||||
|
||||
{"x":7.75, "y":4, "w":1.25},
|
||||
{"x":9, "y":4, "w":2.0},
|
||||
{"label":"Alt", "x":11, "y":4},
|
||||
{"label":"Win", "x":12, "y":4},
|
||||
{"label":"Menu", "x":13, "y":4},
|
||||
{"label":"Ctrl", "x":14, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
5
keyboards/handwired/qc60/keymaps/default/config.h
Normal file
5
keyboards/handwired/qc60/keymaps/default/config.h
Normal file
@ -0,0 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#define USE_I2C
|
||||
|
||||
#define MASTER_LEFT
|
39
keyboards/handwired/qc60/keymaps/default/keymap.c
Normal file
39
keyboards/handwired/qc60/keymaps/default/keymap.c
Normal file
@ -0,0 +1,39 @@
|
||||
/* Copyright 2018 Michael Pio Mayol <mfmayol@up.edu.ph>
|
||||
*
|
||||
* 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
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _BASE 0
|
||||
|
||||
#define _______ KC_TRNS
|
||||
#define XXXXXXX KC_NO
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_ansi_default(
|
||||
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_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_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, \
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, RGB_TOG, KC_RGHT, KC_SPC, KC_RALT, KC_UP, KC_DOWN, KC_RCTL
|
||||
),
|
||||
|
||||
};
|
5
keyboards/handwired/qc60/keymaps/wntrmln/config.h
Normal file
5
keyboards/handwired/qc60/keymaps/wntrmln/config.h
Normal file
@ -0,0 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
#define USE_SERIAL
|
||||
|
||||
#define MASTER_LEFT
|
50
keyboards/handwired/qc60/keymaps/wntrmln/keymap.c
Normal file
50
keyboards/handwired/qc60/keymaps/wntrmln/keymap.c
Normal file
@ -0,0 +1,50 @@
|
||||
/* Copyright 2018 Michael Pio Mayol <mfmayol@up.edu.ph>
|
||||
*
|
||||
* 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
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _BASE 0
|
||||
#define _FN 1
|
||||
|
||||
#define _______ KC_TRNS
|
||||
#define XXXXXXX KC_NO
|
||||
|
||||
#define FN MO(_FN)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_hhkb_split_lshift(
|
||||
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_DEL, \
|
||||
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_LCTL, 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_LSFT, KC_RSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_CAPS, \
|
||||
FN, KC_LALT, KC_SPC, KC_F13, KC_BSLS, KC_SPC, KC_RALT, KC_LGUI
|
||||
),
|
||||
|
||||
[_FN] = LAYOUT_hhkb_split_lshift(
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, _______, _______, KC_NLCK, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
14
keyboards/handwired/qc60/proto/config.h
Normal file
14
keyboards/handwired/qc60/proto/config.h
Normal file
@ -0,0 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
// wiring of each half
|
||||
#define MATRIX_ROW_PINS { F4, F5, C6, D7, E6 }
|
||||
#define MATRIX_COL_PINS { F7, F6, B1, B3, B2, B6, B5, B4 }
|
||||
#define DIODE_DIRECTION ROW2COL
|
||||
|
||||
/* ws2812 RGB LED */
|
||||
#define RGB_DI_PIN D3
|
||||
#define RGBLED_NUM 1 // Number of LEDs
|
||||
// #define ws2812_PORTREG PORTD
|
||||
// #define ws2812_DDRREG DDRD
|
21
keyboards/handwired/qc60/proto/proto.c
Normal file
21
keyboards/handwired/qc60/proto/proto.c
Normal file
@ -0,0 +1,21 @@
|
||||
/* Copyright 2018 Michael Pio Mayol <mfmayol@up.edu.ph>
|
||||
*
|
||||
* 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 "qc60.h"
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
matrix_init_user();
|
||||
};
|
201
keyboards/handwired/qc60/proto/proto.h
Normal file
201
keyboards/handwired/qc60/proto/proto.h
Normal file
@ -0,0 +1,201 @@
|
||||
/* Copyright 2018 Michael Pio Mayol <mfmayol@up.edu.ph>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef PROTO_H
|
||||
#define PROTO_H
|
||||
|
||||
#include "qc60.h"
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
// readability
|
||||
#define XXX KC_NO
|
||||
|
||||
/* Split Backspace
|
||||
* {R07, XXX, R05, R04, R03, R02, R01, R00}
|
||||
*
|
||||
* Split Right Shift
|
||||
* {R37, R36, R35, R34, R33, R32, R31, XXX}
|
||||
*
|
||||
* Split Left Shift
|
||||
* {L30, L31, L32, L33, L34, L35, L36, XXX}
|
||||
*
|
||||
* 6-key Bottom-left row
|
||||
* {R47, R46, R45, R44, R43, R42, XXX, XXX}
|
||||
*/
|
||||
|
||||
#define LAYOUT( \
|
||||
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
|
||||
L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
|
||||
L30, L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, R37, \
|
||||
L40, L41, L42, L43, L44, R43, R44, R42, R45, R46, R47 \
|
||||
) \
|
||||
{ \
|
||||
{L00, L01, L02, L03, L04, L05, L06, XXX}, \
|
||||
{L10, L11, L12, L13, L14, L15, XXX, XXX}, \
|
||||
{L20, L21, L22, L23, L24, L25, XXX, XXX}, \
|
||||
{L30, L31, L32, L33, L34, L35, L36, XXX}, \
|
||||
{L40, L41, L42, L43, L44, XXX, XXX, XXX}, \
|
||||
{R07, XXX, R05, R04, R03, R02, R01, R00}, \
|
||||
{R17, R16, R15, R14, R13, R12, R11, R10}, \
|
||||
{R27, R26, R25, R24, R23, R22, R21, XXX}, \
|
||||
{R37, R36, R35, R34, R33, R32, R31, XXX}, \
|
||||
{R47, R46, R45, R44, R43, R42, XXX, XXX}, \
|
||||
}
|
||||
|
||||
#define LAYOUT_ansi_default( \
|
||||
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
|
||||
L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
|
||||
L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \
|
||||
L40, L41, L42, L43, L44, R43, R44, R42, R45, R46, R47 \
|
||||
) \
|
||||
{ \
|
||||
{L00, L01, L02, L03, L04, L05, L06, XXX}, \
|
||||
{L10, L11, L12, L13, L14, L15, XXX, XXX}, \
|
||||
{L20, L21, L22, L23, L24, L25, XXX, XXX}, \
|
||||
{XXX, L31, L32, L33, L34, L35, L36, XXX}, \
|
||||
{L40, L41, L42, L43, L44, XXX, XXX, XXX}, \
|
||||
{R07, XXX, R05, R04, R03, R02, R01, R00}, \
|
||||
{R17, R16, R15, R14, R13, R12, R11, R10}, \
|
||||
{R27, R26, R25, R24, R23, R22, R21, XXX}, \
|
||||
{XXX, R36, R35, R34, R33, R32, R31, XXX}, \
|
||||
{R47, R46, R45, R44, R43, R42, XXX, XXX}, \
|
||||
}
|
||||
|
||||
#define LAYOUT_ansi_alt( \
|
||||
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
|
||||
L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
|
||||
L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \
|
||||
L40, L41, L42, L43, L44, R43, R44, R45, R46, R47 \
|
||||
) \
|
||||
{ \
|
||||
{L00, L01, L02, L03, L04, L05, L06, XXX}, \
|
||||
{L10, L11, L12, L13, L14, L15, XXX, XXX}, \
|
||||
{L20, L21, L22, L23, L24, L25, XXX, XXX}, \
|
||||
{XXX, L31, L32, L33, L34, L35, L36, XXX}, \
|
||||
{L40, L41, L42, L43, L44, XXX, XXX, XXX}, \
|
||||
{R07, XXX, R05, R04, R03, R02, R01, R00}, \
|
||||
{R17, R16, R15, R14, R13, R12, R11, R10}, \
|
||||
{R27, R26, R25, R24, R23, R22, R21, XXX}, \
|
||||
{XXX, R36, R35, R34, R33, R32, R31, XXX}, \
|
||||
{R47, R46, R45, R44, R43, XXX, XXX, XXX}, \
|
||||
}
|
||||
|
||||
#define LAYOUT_iso_default( \
|
||||
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, \
|
||||
L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R17, R27, \
|
||||
L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \
|
||||
L40, L41, L42, L43, L44, R43, R44, R42, R45, R46, R47 \
|
||||
) \
|
||||
{ \
|
||||
{L00, L01, L02, L03, L04, L05, L06, XXX}, \
|
||||
{L10, L11, L12, L13, L14, L15, XXX, XXX}, \
|
||||
{L20, L21, L22, L23, L24, L25, XXX, XXX}, \
|
||||
{XXX, L31, L32, L33, L34, L35, L36, XXX}, \
|
||||
{L40, L41, L42, L43, L44, XXX, XXX, XXX}, \
|
||||
{R07, XXX, R05, R04, R03, R02, R01, R00}, \
|
||||
{R17, R16, R15, R14, R13, R12, R11, R10}, \
|
||||
{R27, R26, R25, R24, R23, R22, R21, XXX}, \
|
||||
{XXX, R36, R35, R34, R33, R32, R31, XXX}, \
|
||||
{R47, R46, R45, R44, R43, R42, XXX, XXX}, \
|
||||
}
|
||||
|
||||
#define LAYOUT_iso_alt( \
|
||||
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
|
||||
L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
|
||||
L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \
|
||||
L40, L41, L42, L43, L44, R43, R44, R45, R46, R47 \
|
||||
) \
|
||||
{ \
|
||||
{L00, L01, L02, L03, L04, L05, L06, XXX}, \
|
||||
{L10, L11, L12, L13, L14, L15, XXX, XXX}, \
|
||||
{L20, L21, L22, L23, L24, L25, XXX, XXX}, \
|
||||
{XXX, L31, L32, L33, L34, L35, L36, XXX}, \
|
||||
{L40, L41, L42, L43, L44, XXX, XXX, XXX}, \
|
||||
{R07, XXX, R05, R04, R03, R02, R01, R00}, \
|
||||
{R17, R16, R15, R14, R13, R12, R11, R10}, \
|
||||
{R27, R26, R25, R24, R23, R22, R21, XXX}, \
|
||||
{XXX, R36, R35, R34, R33, R32, R31, XXX}, \
|
||||
{R47, R46, R45, R44, R43, XXX, XXX, XXX}, \
|
||||
}
|
||||
|
||||
#define LAYOUT_hhkb_default( \
|
||||
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
|
||||
L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
|
||||
L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, R37, \
|
||||
L41, L42, L43, L44, R43, R44, R45, R46 \
|
||||
) \
|
||||
{ \
|
||||
{L00, L01, L02, L03, L04, L05, L06, XXX}, \
|
||||
{L10, L11, L12, L13, L14, L15, XXX, XXX}, \
|
||||
{L20, L21, L22, L23, L24, L25, XXX, XXX}, \
|
||||
{XXX, L31, L32, L33, L34, L35, L36, XXX}, \
|
||||
{XXX, L41, L42, L43, L44, XXX, XXX, XXX}, \
|
||||
{R07, R06, R05, R04, R03, R02, R01, R00}, \
|
||||
{R17, R16, R15, R14, R13, R12, R11, R10}, \
|
||||
{R27, R26, R25, R24, R23, R22, R21, XXX}, \
|
||||
{R37, R36, R35, R34, R33, R32, R31, XXX}, \
|
||||
{XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \
|
||||
}
|
||||
|
||||
#define LAYOUT_hhkb_split_lshift( \
|
||||
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, R07, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
|
||||
L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
|
||||
L30, L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, R37, \
|
||||
L41, L42, L43, L44, R43, R44, R45, R46 \
|
||||
) \
|
||||
{ \
|
||||
{L00, L01, L02, L03, L04, L05, L06, XXX}, \
|
||||
{L10, L11, L12, L13, L14, L15, XXX, XXX}, \
|
||||
{L20, L21, L22, L23, L24, L25, XXX, XXX}, \
|
||||
{L30, L31, L32, L33, L34, L35, L36, XXX}, \
|
||||
{XXX, L41, L42, L43, L44, XXX, XXX, XXX}, \
|
||||
{R07, R06, R05, R04, R03, R02, R01, R00}, \
|
||||
{R17, R16, R15, R14, R13, R12, R11, R10}, \
|
||||
{R27, R26, R25, R24, R23, R22, R21, XXX}, \
|
||||
{R37, R36, R35, R34, R33, R32, R31, XXX}, \
|
||||
{XXX, R46, R45, R44, R43, XXX, XXX, XXX}, \
|
||||
}
|
||||
|
||||
#define LAYOUT_wkl_default( \
|
||||
L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R07, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, R16, R17, \
|
||||
L20, L21, L22, L23, L24, L25, R21, R22, R23, R24, R25, R26, R27, \
|
||||
L31, L32, L33, L34, L35, L36, R31, R32, R33, R34, R35, R36, \
|
||||
L40, L42, L43, L44, R43, R44, R45, R47 \
|
||||
) \
|
||||
{ \
|
||||
{L00, L01, L02, L03, L04, L05, L06, XXX}, \
|
||||
{L10, L11, L12, L13, L14, L15, XXX, XXX}, \
|
||||
{L20, L21, L22, L23, L24, L25, XXX, XXX}, \
|
||||
{XXX, L31, L32, L33, L34, L35, L36, XXX}, \
|
||||
{L40, XXX, L42, L43, L44, XXX, XXX, XXX}, \
|
||||
{R07, XXX, R05, R04, R03, R02, R01, R00}, \
|
||||
{R17, R16, R15, R14, R13, R12, R11, R10}, \
|
||||
{R27, R26, R25, R24, R23, R22, R21, XXX}, \
|
||||
{XXX, R36, R35, R34, R33, R32, R31, XXX}, \
|
||||
{R47, XXX, R45, R44, R43, XXX, XXX, XXX}, \
|
||||
}
|
||||
|
||||
|
||||
#endif
|
1
keyboards/handwired/qc60/proto/rules.mk
Normal file
1
keyboards/handwired/qc60/proto/rules.mk
Normal file
@ -0,0 +1 @@
|
||||
RGBLIGHT_ENABLE = yes
|
1
keyboards/handwired/qc60/qc60.c
Normal file
1
keyboards/handwired/qc60/qc60.c
Normal file
@ -0,0 +1 @@
|
||||
#include "qc60.h"
|
26
keyboards/handwired/qc60/qc60.h
Normal file
26
keyboards/handwired/qc60/qc60.h
Normal file
@ -0,0 +1,26 @@
|
||||
#ifndef QC60_H
|
||||
#define QC60_H
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#ifdef KEYBOARD_handwired_qc60_proto
|
||||
#include "proto.h"
|
||||
#endif
|
||||
|
||||
|
||||
// Used to create a keymap using only KC_ prefixed keys
|
||||
#define LAYOUT_kc( \
|
||||
LA1, LA2, LA3, LA4, LA5, LA6, RA1, RA2, RA3, RA4, RA5, RA6, RA7, \
|
||||
LB1, LB2, LB3, LB4, LB5, LB6, RB1, RB2, RB3, RB4, RB5, RB7, \
|
||||
LC1, LC2, LC3, LC4, LC5, LC6, RC1, RC3, RC4, RC5, RC6, RC7, \
|
||||
LD1, LD2, LD3, LD4, LD5, RD1, RD4, RD5, RD6, RD7 \
|
||||
) \
|
||||
LAYOUT( \
|
||||
KC_##LA1, KC_##LA2, KC_##LA3, KC_##LA4, KC_##LA5, KC_##LA6, KC_##RA1, KC_##RA2, KC_##RA3, KC_##RA4, KC_##RA5, KC_##RA6, KC_##RA7, \
|
||||
KC_##LB1, KC_##LB2, KC_##LB3, KC_##LB4, KC_##LB5, KC_##LB6, KC_##RB1, KC_##RB2, KC_##RB3, KC_##RB4, KC_##RB5, KC_##RB7, \
|
||||
KC_##LC1, KC_##LC2, KC_##LC3, KC_##LC4, KC_##LC5, KC_##LC6, KC_##RC1, KC_##RC3, KC_##RC4, KC_##RC5, KC_##RC6, KC_##RC7, \
|
||||
KC_##LD1, KC_##LD2, KC_##LD3, KC_##LD4, KC_##LD5, KC_##RD1, KC_##RD4, KC_##RD5, KC_##RD6, KC_##RD7 \
|
||||
)
|
||||
|
||||
|
||||
#endif
|
68
keyboards/handwired/qc60/rules.mk
Normal file
68
keyboards/handwired/qc60/rules.mk
Normal file
@ -0,0 +1,68 @@
|
||||
# MCU name
|
||||
#MCU = at90usb1287
|
||||
MCU = atmega32u4
|
||||
|
||||
# Processor frequency.
|
||||
# This will define a symbol, F_CPU, in all source code files equal to the
|
||||
# processor frequency in Hz. You can then use this symbol in your source code to
|
||||
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
||||
# automatically to create a 32-bit value in your source code.
|
||||
#
|
||||
# This will be an integer division of F_USB below, as it is sourced by
|
||||
# F_USB after it has run through any CPU prescalers. Note that this value
|
||||
# does not *change* the processor frequency - it should merely be updated to
|
||||
# reflect the processor speed set externally so that the code can use accurate
|
||||
# software delays.
|
||||
F_CPU = 16000000
|
||||
|
||||
#
|
||||
# LUFA specific
|
||||
#
|
||||
# Target architecture (see library "Board Types" documentation).
|
||||
ARCH = AVR8
|
||||
|
||||
# Input clock frequency.
|
||||
# This will define a symbol, F_USB, in all source code files equal to the
|
||||
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
||||
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
||||
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
||||
# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
|
||||
# at the end, this will be done automatically to create a 32-bit value in your
|
||||
# source code.
|
||||
#
|
||||
# If no clock division is performed on the input clock inside the AVR (via the
|
||||
# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
|
||||
F_USB = $(F_CPU)
|
||||
|
||||
# Bootloader
|
||||
# This definition is optional, and if your keyboard supports multiple bootloaders of
|
||||
# different sizes, comment this out, and the correct address will be loaded
|
||||
# automatically (+60). See bootloader.mk for all options.
|
||||
BOOTLOADER = caterina
|
||||
|
||||
# Interrupt driven control endpoint task(+60)
|
||||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
|
||||
|
||||
# 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 # Virtual DIP switch configuration(+1000)
|
||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # 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 = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||
|
||||
SPLIT_KEYBOARD = yes
|
||||
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
DEFAULT_FOLDER = handwired/qc60/proto
|
@ -21,98 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
/* Use I2C or Serial */
|
||||
|
||||
#define USE_I2C
|
||||
#define USE_SERIAL
|
||||
//#define USE_MATRIX_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
// Helix keyboard OLED support
|
||||
// see ./rules.mk: OLED_ENABLE=yes or no
|
||||
#ifdef OLED_ENABLE
|
||||
#define SSD1306OLED
|
||||
#endif
|
||||
|
||||
/* Select rows configuration */
|
||||
// Rows are 4 or 5
|
||||
// #define HELIX_ROWS 5 see ./rules.mk
|
||||
|
||||
/* key matrix size */
|
||||
// Rows are doubled-up
|
||||
#if HELIX_ROWS == 4
|
||||
#define MATRIX_ROWS 8
|
||||
#define MATRIX_COLS 7
|
||||
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
|
||||
#elif HELIX_ROWS == 5
|
||||
#define MATRIX_ROWS 10
|
||||
#define MATRIX_COLS 7
|
||||
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4 }
|
||||
#else
|
||||
#error "expected HELIX_ROWS 4 or 5"
|
||||
#endif
|
||||
|
||||
#define PREVENT_STUCK_MODIFIERS
|
||||
#define TAPPING_FORCE_HOLD
|
||||
#define TAPPING_TERM 100
|
||||
|
||||
// Helix keyboard RGB LED support
|
||||
//#define RGBLIGHT_ANIMATIONS : see ./rules.mk: LED_ANIMATIONS = yes or no
|
||||
// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
|
||||
#ifdef RGBLED_BACK
|
||||
#if HELIX_ROWS == 4
|
||||
#define RGBLED_NUM 25
|
||||
#elif HELIX_ROWS == 5
|
||||
#define RGBLED_NUM 32
|
||||
#endif
|
||||
#else
|
||||
#define RGBLED_NUM 6
|
||||
#endif
|
||||
|
||||
#ifndef IOS_DEVICE_ENABLE
|
||||
#if RGBLED_NUM <= 6
|
||||
#define RGBLIGHT_LIMIT_VAL 255
|
||||
#else
|
||||
#if HELIX_ROWS == 5
|
||||
#define RGBLIGHT_LIMIT_VAL 120
|
||||
#else
|
||||
#define RGBLIGHT_LIMIT_VAL 130
|
||||
#endif
|
||||
#endif
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
#else
|
||||
#if RGBLED_NUM <= 6
|
||||
#define RGBLIGHT_LIMIT_VAL 90
|
||||
#else
|
||||
#if HELIX_ROWS == 5
|
||||
#define RGBLIGHT_LIMIT_VAL 35
|
||||
#else
|
||||
#define RGBLIGHT_LIMIT_VAL 45
|
||||
#endif
|
||||
#endif
|
||||
#define RGBLIGHT_VAL_STEP 4
|
||||
#endif
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
|
||||
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
|
||||
// USB_MAX_POWER_CONSUMPTION value for Helix keyboard
|
||||
// 120 RGBoff, OLEDoff
|
||||
// 120 OLED
|
||||
// 330 RGB 6
|
||||
// 300 RGB 32
|
||||
// 310 OLED & RGB 32
|
||||
#define USB_MAX_POWER_CONSUMPTION 400
|
||||
#else
|
||||
// fix iPhone and iPad power adapter issue
|
||||
// iOS device need lessthan 100
|
||||
#define USB_MAX_POWER_CONSUMPTION 100
|
||||
#endif
|
||||
// place overrides here
|
||||
|
||||
#ifdef MOUSEKEY_ENABLE
|
||||
#undef MOUSEKEY_INTERVAL
|
||||
|
@ -1,12 +1,9 @@
|
||||
#include "helix.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "bootloader.h"
|
||||
#include "action_layer.h"
|
||||
#include "eeconfig.h"
|
||||
#ifdef PROTOCOL_LUFA
|
||||
#include "lufa.h"
|
||||
#include "split_util.h"
|
||||
#endif
|
||||
#include "LUFA/Drivers/Peripheral/TWI.h"
|
||||
#ifdef AUDIO_ENABLE
|
||||
#include "audio.h"
|
||||
#endif
|
||||
@ -14,12 +11,6 @@
|
||||
#include "ssd1306.h"
|
||||
#endif
|
||||
|
||||
// * If you want to recognize that you pressed the Adjust key with the Lower / Raise key you can enable this comment out. However, the binary size may be over. *
|
||||
// #define ADJUST_MACRO_ENABLE
|
||||
|
||||
// * If you want to use the Kana key you can enable this comment out. However, the binary size may be over. *
|
||||
// #define KANA_ENABLE
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
@ -441,7 +432,6 @@ void matrix_init_user(void) {
|
||||
#endif
|
||||
//SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
|
||||
#ifdef SSD1306OLED
|
||||
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
|
||||
iota_gfx_init(!has_usb()); // turns on the display
|
||||
#endif
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
# Helix 5 rows JIS layout
|
||||
|
||||
## コンセプト
|
||||
|
||||
このキーマップは日本語JISキーボード配列を利用しているユーザーが無理なく操作出来るというコンセプトで作成しました。以下の特徴があります。
|
||||
|
||||
* 日本語の長音記号をレイヤーを移動せずに入力可能なように考慮しています
|
||||
@ -8,24 +10,29 @@
|
||||
* Ctrl,Shift,Tab,漢字,Esc,GUI(Win),Appの各キーは位置関係を維持して配置しています
|
||||
* Lower/Raiseキーマップは暗記しないでも使えるようにわかりやすい配置を考慮しています
|
||||
|
||||
またこのキーマップにはHelixの分割されたキーボードを通常通りに使用する「NORMAL」キーマップと、キー位置の最適化のためにHelixの分割されたキーボードの左右を交換して使う「EXCHANGE」キーマップを切り替えられるようにしています。これらにはさらに以下の特徴があります。
|
||||
またこのキーマップにはHelixの分割されたキーボードを通常通りに使用する「NORMAL」キーマップと、キー位置の最適化のためにHelixの分割されたキーボードの左右を交換して使う「EXCHANGE」キーマップをバイナリの書き換えなしに切り替えられるようにしています。これらにはさらに以下の特徴があります。
|
||||
|
||||
## NORMALキーマップ
|
||||
### NORMALキーマップ
|
||||
|
||||
* Nキーを左人差し指で、Bキーを右人差し指で押下することが可能
|
||||
|
||||
## EXCHANGEキーマップ
|
||||
### EXCHANGEキーマップ
|
||||
|
||||
* Pro micro下の2キーを有効に使うことにより、NORMALのベースキーマップに```[{```,```}]```,```/?```の各キーを追加し、```\_```キー以外の入力をベースマップで可能にしています
|
||||
* 漢字キー,Enterキーの押し間違いを避けるためPro micro下の2キーに移動しています
|
||||
|
||||
## カスタマイズ
|
||||
|
||||
Normal/Exchangeにそれぞれ、Base,Lower,Raiseの各レイヤーを備え、2マップ3レイヤー、共通1レイヤー(Adjust)の全7種のレイヤーを備えています。
|
||||
ファームの書き換えなしにキーマップを別のものに切り替えられるので、片方は通常のキーマップ、もう片方は画像や動画編集用のキーマップや別の変態配置のキーマップにすれば、状況に応じて簡単に切り替えられます。
|
||||
|
||||
## 配列
|
||||
|
||||
### NORMALキーマップ
|
||||
### NORMAL
|
||||
|
||||
Adjust + ModNrmキーでNORMALキーマップに切り替わります。
|
||||
|
||||
Baseレイヤー
|
||||
#### Baseレイヤー
|
||||
|
||||
```
|
||||
,-----------------------------------------. ,-----------------------------------------.
|
||||
@ -41,7 +48,7 @@ Baseレイヤー
|
||||
`-------------------------------------------------------------------------------------------------'
|
||||
```
|
||||
|
||||
Lowerレイヤー
|
||||
#### Lowerレイヤー
|
||||
|
||||
記号キーと、BackSpace位置にDeleteキーを配置しています。
|
||||
例えば```|```キーを入力する場合、Lower + Shift + \キーで入力することが出来ます。
|
||||
@ -60,7 +67,7 @@ Lowerレイヤー
|
||||
`-------------------------------------------------------------------------------------------------'
|
||||
```
|
||||
|
||||
Raiseレイヤー
|
||||
#### Raiseレイヤー
|
||||
|
||||
rules.mkのMOUSEKEY_ENABLEをyesにした場合マウスキーを利用できます。ただしバイナリ容量を食いますのでmakeした時に確認できるバイナリサイズがオーバーしていないことに十分注意してください。
|
||||
また、F1-F12キーをHHKBライクに使えるように横並びにしました。
|
||||
@ -84,7 +91,7 @@ Raiseレイヤー
|
||||
Adjust + ModExcキーでEXCHANGEキーマップに切り替わります。
|
||||
HelixのUSBやフォンケーブルの接続は変更せず、分割された左右のキーボードを入れ替えて使います。
|
||||
|
||||
Baseレイヤー
|
||||
#### Baseレイヤー
|
||||
|
||||
ちょっと無理やりですが```[{```,```}]```キーを突っ込んでいます。
|
||||
|
||||
@ -102,7 +109,7 @@ Baseレイヤー
|
||||
`------------------------------------------------'`------------------------------------------------'
|
||||
```
|
||||
|
||||
Lowerレイヤー
|
||||
#### Lowerレイヤー
|
||||
|
||||
記号キーと、BackSpace位置にDeleteキーを配置しています。
|
||||
PageDown/Up, Home/EndをCtrl+十字キーの延長線上で使用できるように配置しています。
|
||||
@ -121,7 +128,7 @@ Lowerレイヤー
|
||||
`------------------------------------------------'`------------------------------------------------'
|
||||
```
|
||||
|
||||
Raiseレイヤー
|
||||
#### Raiseレイヤー
|
||||
|
||||
rules.mkのMOUSEKEY_ENABLEをyesにした場合マウスキーを利用できます。ただしバイナリ容量を食いますのでmakeした時に確認できるバイナリサイズがオーバーしていないことに十分注意してください。
|
||||
また、F1-F12キーをHHKBライクに使えるように横並びにしました。
|
||||
|
@ -17,10 +17,10 @@
|
||||
#include <stdio.h>
|
||||
|
||||
// Port D: digital pins of the AVR chipset
|
||||
#define NUMLOCK_PORT (1 << 1) // 1st pin of Port D (digital)
|
||||
#define CAPSLOCK_PORT (1 << 2) // 2nd pin
|
||||
#define BACKLIGHT_PORT (1 << 4) // 4th pin
|
||||
#define SCROLLLOCK_PORT (1 << 6) // 6th pin
|
||||
#define NUMLOCK_PORT (1 << 0) // D0
|
||||
#define CAPSLOCK_PORT (1 << 1) // D1
|
||||
#define BACKLIGHT_PORT (1 << 4) // D4
|
||||
#define SCROLLLOCK_PORT (1 << 6) // D6
|
||||
|
||||
#define TIMER_CLK_DIV64 0x03 ///< Timer clocked at F_CPU/64
|
||||
#define TIMER1PRESCALE TIMER_CLK_DIV64 ///< timer 1 prescaler default
|
||||
@ -43,6 +43,7 @@ extern backlight_config_t backlight_config;
|
||||
|
||||
// @Override
|
||||
// turn LEDs on and off depending on USB caps/num/scroll lock states.
|
||||
__attribute__ ((weak))
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
if (usb_led & (1 << USB_LED_NUM_LOCK)) {
|
||||
// turn on
|
||||
|
@ -3,7 +3,6 @@
|
||||
#define _QWERTY 0
|
||||
#define _LOWER 1
|
||||
#define _RAISE 2
|
||||
#define _NUMPAD 3
|
||||
|
||||
enum custom_keycodes {
|
||||
QWERTY = SAFE_RANGE,
|
||||
@ -15,14 +14,6 @@ void matrix_scan_user(void) {
|
||||
// runs at every matrix scan.
|
||||
}
|
||||
|
||||
// enum {
|
||||
// TD_H_E = 0
|
||||
// };
|
||||
//
|
||||
// qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
// [TD_H_E] = ACTION_TAP_DANCE_DOUBLE(KC_HOME, KC_END)
|
||||
// };
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
@ -36,10 +27,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_2U_space( \
|
||||
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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
|
||||
TO(_NUMPAD),KC_LCTL, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
|
||||
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_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
|
||||
_______, KC_LCTL, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
|
||||
),
|
||||
|
||||
/* Lower
|
||||
@ -76,23 +67,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
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_HOME, KC_END, KC_PGUP, KC_PGDN, _______, \
|
||||
_______, KC_MRWD, KC_MPLY, KC_MNXT, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
|
||||
),
|
||||
|
||||
/* Numpad
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Esc | 7 | 8 | 9 | * | / | | | | | | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | <-- | 4 | 5 | 6 | + | - | | | | | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | 1 | 2 | 3 |Enter |Enter | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Qwerty| 0 | . | . |Enter |Enter | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_NUMPAD] = LAYOUT_2U_space( \
|
||||
KC_ESC, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS, _______, _______, _______, _______, _______, _______, \
|
||||
KC_BSPC, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_PMNS, _______, _______, _______, _______, _______, _______, \
|
||||
_______, KC_P1, KC_P2, KC_P3, KC_PENT, KC_PENT, _______, _______, _______, _______, _______, _______, \
|
||||
TO(_QWERTY),KC_P0, KC_PDOT, KC_PDOT, KC_PENT, _______, _______, _______, _______, _______, _______ \
|
||||
)
|
||||
};
|
||||
|
17
keyboards/jj40/keymaps/krusli/numpad.txt
Normal file
17
keyboards/jj40/keymaps/krusli/numpad.txt
Normal file
@ -0,0 +1,17 @@
|
||||
/* Numpad
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Esc | 7 | 8 | 9 | * | / | | | | | | |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | <-- | 4 | 5 | 6 | + | - | | | | | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | 1 | 2 | 3 |Enter |Enter | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Qwerty| 0 | . | . |Enter |Enter | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_NUMPAD] = LAYOUT_2U_space( \
|
||||
KC_ESC, KC_P7, KC_P8, KC_P9, KC_PAST, KC_PSLS, _______, _______, _______, _______, _______, _______, \
|
||||
KC_BSPC, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_PMNS, _______, _______, _______, _______, _______, _______, \
|
||||
_______, KC_P1, KC_P2, KC_P3, KC_PENT, KC_PENT, _______, _______, _______, _______, _______, _______, \
|
||||
TO(_QWERTY),KC_P0, KC_PDOT, KC_PDOT, KC_PENT, _______, _______, _______, _______, _______, _______ \
|
||||
)
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user