Compare commits

...
8 Commits
Author SHA1 Message Date
adamws a980a7972c removed unused boxes (qmk won't compile with them anyway), updated welcome message 2018-06-28 22:09:38 -04:00
Drashna Jaelre 526eabb6f8 Make sure that both RGBLIGHT_ENABLE is defined, for RGBLIGHT_SLEEP 2018-06-28 22:08:26 -04:00
noroadsleft e448ef0b1a Kitten Paw refactor and Configurator update (#3248)
* Matrix refactor

* Keymap refactor

* Add fullsize_ansi layout to rules.mk

* Configurator support

* Readme cleanup

* Add matrix_init_user and matrix_scan_user functions to kitten_paw.c
2018-06-28 12:40:40 -07:00
noroadsleft ded51136ce Laplace Refactor (#3252) 2018-06-28 06:56:14 -07:00
MakotoKurauchi 1038bbef40 Helix serial bugfix (#3255)
* add helix serial debug code

* serial debug macro move from config.h to serial.h

* helix serial.c debugging...

* refine debug macros

* add some comments

* add SELECT_SERIAL_SPEED

* add comments

* debugging sync_send/sync_recv

* add very high speed

* fix sync_send/sync_recv

* fix com. start and switch send/recv

* debug mode off

* remove debug codes
2018-06-28 06:55:15 -07:00
noroadsleft d80774027e Knops Configurator update (#3249) 2018-06-28 06:53:23 -07:00
sgugler f5f0e93230 added a description how to flash jj40 in windows (#3247) 2018-06-28 06:52:24 -07:00
fauxpark 6590f3c811 Clean up SEND_STRING keycodes and add media keys (#3214)
* Clean up SEND_STRING keycodes and add media keys

* Remove stray define

* Add missing SEND_STRING keycodes for completeness

Also, add KC_EJCT to the keycode references
2018-06-28 08:55:04 -04:00
18 changed files with 417 additions and 312 deletions

No files matched your search

Vendored
+8 -29
View File
@@ -2,27 +2,8 @@
# vi: set ft=ruby : # vi: set ft=ruby :
Vagrant.configure(2) do |config| Vagrant.configure(2) do |config|
# You can only have one config.vm.box uncommented at a time
# Comment this and uncomment another if you don't want to use the minimal Arch box
#config.vm.box = "dragon788/arch-ala-elasticdog"
# VMware/Virtualbox 64 bit # VMware/Virtualbox 64 bit
config.vm.box = "phusion/ubuntu-14.04-amd64" config.vm.box = "phusion/ubuntu-14.04-amd64"
#
# VMware/Virtualbox 64 bit
#config.vm.box = "puphpet/centos65-x64"
#
# The opensuse boxes don't have dfu-util in their default repositories
#
# The virtualbox version has tools issues
# VMware/Virtualbox 64 bit
#config.vm.box = "bento/opensuse-13.2-x86_64"
#
# Virtualbox only
#config.vm.box = "bento/opensuse-13.2-i386"
# config.vm.box = ""
# config.vm.box = ""
# This section allows you to customize the Virtualbox VM # This section allows you to customize the Virtualbox VM
# settings, ie showing the GUI or upping the memory # settings, ie showing the GUI or upping the memory
@@ -81,18 +62,16 @@ Vagrant.configure(2) do |config|
config.vm.provision "shell", run: "always", path: "./util/install_dependencies.sh", args: "-update" config.vm.provision "shell", run: "always", path: "./util/install_dependencies.sh", args: "-update"
config.vm.post_up_message = <<-EOT config.vm.post_up_message = <<-EOT
Log into the VM using 'vagrant ssh' on OSX or from Git Bash (Win)
or 'vagrant ssh-config' and Putty or Bitvise SSH or another SSH tool
Change directory (cd) to the keyboard you wish to program Log into the VM using 'vagrant ssh'. QMK directory synchronized with host is
(Optionally) modify your layout, located at /vagrant
then run 'make clean' To compile the .hex files use make command inside this directory.
and then 'make' to compile the .eep and .hex files.
Or you can copy and paste the example line below.
cd /vagrant; cd keyboards; cd ergodox; make clean; make
QMK's make format recently changed to use folder locations and colons:
make project_folder:keymap[:target]
Examples:
make planck/rev4:default:dfu
make planck:default
EOT EOT
end end
+1
View File
@@ -167,6 +167,7 @@ This is a reference only. Each group of keys links to the page documenting their
|`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track | |`KC_MEDIA_STOP` |`KC_MSTP` |Stop Track |
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track | |`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY` |Play/Pause Track |
|`KC_MEDIA_SELECT` |`KC_MSEL` | | |`KC_MEDIA_SELECT` |`KC_MSEL` | |
|`KC_MEDIA_EJECT` |`KC_EJCT` |Eject (macOS) |
|`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear | |`KC_NUMLOCK` |`KC_NLCK` |Keypad Num Lock and Clear |
|`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` | |`KC_KP_SLASH` |`KC_PSLS` |Keypad `/` |
|`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` | |`KC_KP_ASTERISK` |`KC_PAST` |Keypad `*` |
+1
View File
@@ -194,6 +194,7 @@ Windows and macOS use different keycodes for "next track" and "previous track".
|`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track | |`KC_MEDIA_STOP` |`KC_MSTP`|Stop Track |
|`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track | |`KC_MEDIA_PLAY_PAUSE` |`KC_MPLY`|Play/Pause Track |
|`KC_MEDIA_SELECT` |`KC_MSEL`| | |`KC_MEDIA_SELECT` |`KC_MSEL`| |
|`KC_MEDIA_EJECT` |`KC_EJCT`|Eject (macOS) |
## Number Pad ## Number Pad
+102 -47
View File
@@ -14,9 +14,45 @@
#ifdef USE_SERIAL #ifdef USE_SERIAL
// Serial pulse period in microseconds. Its probably a bad idea to lower this #define _delay_sub_us(x) __builtin_avr_delay_cycles(x)
// value.
#define SERIAL_DELAY 30 // Serial pulse period in microseconds.
#define SELECT_SERIAL_SPEED 1
#if SELECT_SERIAL_SPEED == 0
// Very High speed
#define SERIAL_DELAY 4 // micro sec
#define READ_WRITE_START_ADJUST 30 // cycles
#define READ_WRITE_WIDTH_ADJUST 10 // cycles
#elif SELECT_SERIAL_SPEED == 1
// High speed
#define SERIAL_DELAY 6 // micro sec
#define READ_WRITE_START_ADJUST 23 // cycles
#define READ_WRITE_WIDTH_ADJUST 10 // cycles
#elif SELECT_SERIAL_SPEED == 2
// Middle speed
#define SERIAL_DELAY 12 // micro sec
#define READ_WRITE_START_ADJUST 25 // cycles
#define READ_WRITE_WIDTH_ADJUST 10 // cycles
#elif SELECT_SERIAL_SPEED == 3
// Low speed
#define SERIAL_DELAY 24 // micro sec
#define READ_WRITE_START_ADJUST 25 // cycles
#define READ_WRITE_WIDTH_ADJUST 10 // cycles
#elif SELECT_SERIAL_SPEED == 4
// Very Low speed
#define SERIAL_DELAY 50 // micro sec
#define READ_WRITE_START_ADJUST 25 // cycles
#define READ_WRITE_WIDTH_ADJUST 10 // cycles
#else
#error Illegal Serial Speed
#endif
#define SERIAL_DELAY_HALF1 (SERIAL_DELAY/2)
#define SERIAL_DELAY_HALF2 (SERIAL_DELAY - SERIAL_DELAY/2)
#define SLAVE_INT_WIDTH 1
#define SLAVE_INT_RESPONSE_TIME SERIAL_DELAY
uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0}; uint8_t volatile serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH] = {0};
uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0}; uint8_t volatile serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH] = {0};
@@ -28,9 +64,17 @@ inline static
void serial_delay(void) { void serial_delay(void) {
_delay_us(SERIAL_DELAY); _delay_us(SERIAL_DELAY);
} }
void serial_delay_short(void) {
_delay_us(SERIAL_DELAY-1); inline static
void serial_delay_half1(void) {
_delay_us(SERIAL_DELAY_HALF1);
} }
inline static
void serial_delay_half2(void) {
_delay_us(SERIAL_DELAY_HALF2);
}
inline static inline static
void serial_output(void) { void serial_output(void) {
SERIAL_PIN_DDR |= SERIAL_PIN_MASK; SERIAL_PIN_DDR |= SERIAL_PIN_MASK;
@@ -38,7 +82,7 @@ void serial_output(void) {
// make the serial pin an input with pull-up resistor // make the serial pin an input with pull-up resistor
inline static inline static
void serial_input(void) { void serial_input_with_pullup(void) {
SERIAL_PIN_DDR &= ~SERIAL_PIN_MASK; SERIAL_PIN_DDR &= ~SERIAL_PIN_MASK;
SERIAL_PIN_PORT |= SERIAL_PIN_MASK; SERIAL_PIN_PORT |= SERIAL_PIN_MASK;
} }
@@ -64,7 +108,7 @@ void serial_master_init(void) {
} }
void serial_slave_init(void) { void serial_slave_init(void) {
serial_input(); serial_input_with_pullup();
#ifndef USE_SERIAL_PD2 #ifndef USE_SERIAL_PD2
// Enable INT0 // Enable INT0
@@ -79,25 +123,21 @@ void serial_slave_init(void) {
#endif #endif
} }
// Used by the master to synchronize timing with the slave. // Used by the sender to synchronize timing with the reciver.
static static
void sync_recv(void) { void sync_recv(void) {
serial_input(); for (int i = 0; i < SERIAL_DELAY*5 && serial_read_pin(); i++ ) {
}
// This shouldn't hang if the slave disconnects because the // This shouldn't hang if the slave disconnects because the
// serial line will float to high if the slave does disconnect. // serial line will float to high if the slave does disconnect.
while (!serial_read_pin()); while (!serial_read_pin());
//serial_delay();
_delay_us(SERIAL_DELAY-5);
} }
// Used by the slave to send a synchronization signal to the master. // Used by the reciver to send a synchronization signal to the sender.
static static
void sync_send(void) { void sync_send(void) {
serial_output();
serial_low(); serial_low();
serial_delay(); serial_delay();
serial_high(); serial_high();
} }
@@ -105,66 +145,70 @@ void sync_send(void) {
static static
uint8_t serial_read_byte(void) { uint8_t serial_read_byte(void) {
uint8_t byte = 0; uint8_t byte = 0;
serial_input(); _delay_sub_us(READ_WRITE_START_ADJUST);
for ( uint8_t i = 0; i < 8; ++i) { for ( uint8_t i = 0; i < 8; ++i) {
serial_delay_half1(); // read the middle of pulses
byte = (byte << 1) | serial_read_pin(); byte = (byte << 1) | serial_read_pin();
serial_delay(); _delay_sub_us(READ_WRITE_WIDTH_ADJUST);
_delay_us(1); serial_delay_half2();
} }
return byte; return byte;
} }
// Sends a byte with MSB ordering // Sends a byte with MSB ordering
static static
void serial_write_byte(uint8_t data) { void serial_write_byte(uint8_t data) {
uint8_t b = 8; uint8_t b = 1<<7;
serial_output(); while( b ) {
while( b-- ) { if(data & b) {
if(data & (1 << b)) {
serial_high(); serial_high();
} else { } else {
serial_low(); serial_low();
} }
b >>= 1;
serial_delay(); serial_delay();
} }
serial_low(); // sync_send() / senc_recv() need raise edge
} }
// interrupt handle to be used by the slave device // interrupt handle to be used by the slave device
ISR(SERIAL_PIN_INTERRUPT) { ISR(SERIAL_PIN_INTERRUPT) {
sync_send(); serial_output();
// slave send phase
uint8_t checksum = 0; uint8_t checksum = 0;
for (int i = 0; i < SERIAL_SLAVE_BUFFER_LENGTH; ++i) { for (int i = 0; i < SERIAL_SLAVE_BUFFER_LENGTH; ++i) {
serial_write_byte(serial_slave_buffer[i]);
sync_send(); sync_send();
serial_write_byte(serial_slave_buffer[i]);
checksum += serial_slave_buffer[i]; checksum += serial_slave_buffer[i];
} }
serial_write_byte(checksum);
sync_send(); sync_send();
serial_write_byte(checksum);
// wait for the sync to finish sending // slave switch to input
serial_delay(); sync_send(); //0
serial_delay_half1(); //1
// read the middle of pulses serial_low(); //2
_delay_us(SERIAL_DELAY/2); serial_input_with_pullup(); //2
serial_delay_half1(); //3
// slave recive phase
uint8_t checksum_computed = 0; uint8_t checksum_computed = 0;
for (int i = 0; i < SERIAL_MASTER_BUFFER_LENGTH; ++i) { for (int i = 0; i < SERIAL_MASTER_BUFFER_LENGTH; ++i) {
sync_recv();
serial_master_buffer[i] = serial_read_byte(); serial_master_buffer[i] = serial_read_byte();
sync_send();
checksum_computed += serial_master_buffer[i]; checksum_computed += serial_master_buffer[i];
} }
sync_recv();
uint8_t checksum_received = serial_read_byte(); uint8_t checksum_received = serial_read_byte();
sync_send();
serial_input(); // end transaction
if ( checksum_computed != checksum_received ) { if ( checksum_computed != checksum_received ) {
status |= SLAVE_DATA_CORRUPT; status |= SLAVE_DATA_CORRUPT;
} else { } else {
status &= ~SLAVE_DATA_CORRUPT; status &= ~SLAVE_DATA_CORRUPT;
} }
sync_recv(); //weit master output to high
} }
inline inline
@@ -178,6 +222,7 @@ bool serial_slave_DATA_CORRUPT(void) {
// Returns: // Returns:
// 0 => no error // 0 => no error
// 1 => slave did not respond // 1 => slave did not respond
// 2 => checksum error
int serial_update_buffers(void) { int serial_update_buffers(void) {
// this code is very time dependent, so we need to disable interrupts // this code is very time dependent, so we need to disable interrupts
cli(); cli();
@@ -185,51 +230,61 @@ int serial_update_buffers(void) {
// signal to the slave that we want to start a transaction // signal to the slave that we want to start a transaction
serial_output(); serial_output();
serial_low(); serial_low();
_delay_us(1); _delay_us(SLAVE_INT_WIDTH);
// wait for the slaves response // wait for the slaves response
serial_input(); serial_input_with_pullup();
serial_high(); _delay_us(SLAVE_INT_RESPONSE_TIME);
_delay_us(SERIAL_DELAY);
// check if the slave is present // check if the slave is present
if (serial_read_pin()) { if (serial_read_pin()) {
// slave failed to pull the line low, assume not present // slave failed to pull the line low, assume not present
serial_output();
serial_high();
sei(); sei();
return 1; return 1;
} }
// master recive phase
// if the slave is present syncronize with it // if the slave is present syncronize with it
sync_recv();
uint8_t checksum_computed = 0; uint8_t checksum_computed = 0;
// receive data from the slave // receive data from the slave
for (int i = 0; i < SERIAL_SLAVE_BUFFER_LENGTH; ++i) { for (int i = 0; i < SERIAL_SLAVE_BUFFER_LENGTH; ++i) {
serial_slave_buffer[i] = serial_read_byte();
sync_recv(); sync_recv();
serial_slave_buffer[i] = serial_read_byte();
checksum_computed += serial_slave_buffer[i]; checksum_computed += serial_slave_buffer[i];
} }
uint8_t checksum_received = serial_read_byte();
sync_recv(); sync_recv();
uint8_t checksum_received = serial_read_byte();
if (checksum_computed != checksum_received) { if (checksum_computed != checksum_received) {
serial_output();
serial_high();
sei(); sei();
return 2; return 2;
} }
// master switch to output
sync_recv(); //0
serial_delay(); //1
serial_low(); //3
serial_output(); // 3
serial_delay_half1(); //4
// master send phase
uint8_t checksum = 0; uint8_t checksum = 0;
// send data to the slave
for (int i = 0; i < SERIAL_MASTER_BUFFER_LENGTH; ++i) { for (int i = 0; i < SERIAL_MASTER_BUFFER_LENGTH; ++i) {
sync_send();
serial_write_byte(serial_master_buffer[i]); serial_write_byte(serial_master_buffer[i]);
sync_recv();
checksum += serial_master_buffer[i]; checksum += serial_master_buffer[i];
} }
sync_send();
serial_write_byte(checksum); serial_write_byte(checksum);
sync_recv();
// always, release the line when not in use // always, release the line when not in use
serial_output(); sync_send();
serial_high();
sei(); sei();
return 0; return 0;
+7
View File
@@ -52,6 +52,13 @@ $ make jj40
$ bootloadHID -r jj40_default.hex $ bootloadHID -r jj40_default.hex
``` ```
For Windows 10:
Windows sometimes doesn't recognize the jj40. The easiest way of flashing a new layout is probably using [HIDBootFlash](http://vusb.wikidot.com/project:hidbootflash).
1. Go to Windows Device Manager and find the keyboard (plug it in while holding down `Backspace` (`Top Right Key`)). It can be found under Human Interface Devices or under Keyboards.
2. Go to properties and the Details tab to find the hardware ID. You want the VID and the PID (code after the underscore). Plug them into HIDBootFlash and hit Find Device.
3. Use `make jj40:<keymap-name>` to generate the .hex file in the qmk basis folder. Select the .hex file in HIDBootFlash and press Flash Device.
## Troubleshooting ## Troubleshooting
1. Try plugging the board in while pressing `Backspace` (`Top Right Key`). This will force it 1. Try plugging the board in while pressing `Backspace` (`Top Right Key`). This will force it
+18
View File
@@ -0,0 +1,18 @@
{
"keyboard_name": "Kitten Paw",
"url": "",
"maintainer": "qmk",
"width": 22.5,
"height": 6.5,
"layouts": {
"LAYOUT": {
"key_count": 105,
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Num Lock", "x":18.5, "y":1.5}, {"label":"/", "x":19.5, "y":1.5}, {"label":"*", "x":20.5, "y":1.5}, {"label":"-", "x":21.5, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"7", "x":18.5, "y":2.5}, {"label":"8", "x":19.5, "y":2.5}, {"label":"9", "x":20.5, "y":2.5}, {"label":"+", "x":21.5, "y":2.5, "h":2}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, {"label":"4", "x":18.5, "y":3.5}, {"label":"5", "x":19.5, "y":3.5}, {"label":"6", "x":20.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"label":"KC_NUBS", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"1", "x":18.5, "y":4.5}, {"label":"2", "x":19.5, "y":4.5}, {"label":"3", "x":20.5, "y":4.5}, {"label":"Enter", "x":21.5, "y":4.5, "h":2}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"label":"Alt", "x":10, "y":5.5, "w":1.25}, {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}, {"label":"0", "x":18.5, "y":5.5, "w":2}, {"label":".", "x":20.5, "y":5.5}]
},
"LAYOUT_fullsize_ansi": {
"key_count": 104,
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"Backspace", "x":13, "y":1.5, "w":2}, {"label":"Insert", "x":15.25, "y":1.5}, {"label":"Home", "x":16.25, "y":1.5}, {"label":"PgUp", "x":17.25, "y":1.5}, {"label":"Num Lock", "x":18.5, "y":1.5}, {"label":"/", "x":19.5, "y":1.5}, {"label":"*", "x":20.5, "y":1.5}, {"label":"-", "x":21.5, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"|", "x":13.5, "y":2.5, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.5}, {"label":"End", "x":16.25, "y":2.5}, {"label":"PgDn", "x":17.25, "y":2.5}, {"label":"7", "x":18.5, "y":2.5}, {"label":"8", "x":19.5, "y":2.5}, {"label":"9", "x":20.5, "y":2.5}, {"label":"+", "x":21.5, "y":2.5, "h":2}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":6.75, "y":3.5}, {"label":"J", "x":7.75, "y":3.5}, {"label":"K", "x":8.75, "y":3.5}, {"label":"L", "x":9.75, "y":3.5}, {"label":":", "x":10.75, "y":3.5}, {"label":"\"", "x":11.75, "y":3.5}, {"label":"Enter", "x":12.75, "y":3.5, "w":2.25}, {"label":"4", "x":18.5, "y":3.5}, {"label":"5", "x":19.5, "y":3.5}, {"label":"6", "x":20.5, "y":3.5}, {"label":"Shift", "x":0, "y":4.5, "w":2.25}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.5}, {"label":"1", "x":18.5, "y":4.5}, {"label":"2", "x":19.5, "y":4.5}, {"label":"3", "x":20.5, "y":4.5}, {"label":"Enter", "x":21.5, "y":4.5, "h":2}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Win", "x":1.25, "y":5.5, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.5, "w":1.25}, {"x":3.75, "y":5.5, "w":6.25}, {"label":"Alt", "x":10, "y":5.5, "w":1.25}, {"label":"Win", "x":11.25, "y":5.5, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.5, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.5}, {"label":"\u2193", "x":16.25, "y":5.5}, {"label":"\u2192", "x":17.25, "y":5.5}, {"label":"0", "x":18.5, "y":5.5, "w":2}, {"label":".", "x":20.5, "y":5.5}]
}
}
}
@@ -1,11 +1,11 @@
#include "kitten_paw.h" #include QMK_KEYBOARD_H
enum layers { enum layers {
DEFAULT, DEFAULT,
}; };
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[DEFAULT] = KEYMAP(\ [DEFAULT] = LAYOUT(\
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_PSCR,KC_SLCK,KC_PAUS, \ 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_PSCR,KC_SLCK,KC_PAUS, \
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_INS,KC_HOME,KC_PGUP, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \ 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_INS,KC_HOME,KC_PGUP, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \
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_END,KC_PGDN, KC_P7, KC_P8, KC_P9,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_LBRC,KC_RBRC,KC_BSLS, KC_DEL, KC_END,KC_PGDN, KC_P7, KC_P8, KC_P9,KC_PPLS, \
@@ -1,4 +1,4 @@
#include "kitten_paw.h" #include QMK_KEYBOARD_H
#include "mousekey.h" #include "mousekey.h"
#define _______ KC_TRNS #define _______ KC_TRNS
@@ -38,7 +38,7 @@ enum macro_id {
}; };
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[DEFAULT] = KEYMAP(\ [DEFAULT] = LAYOUT(\
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_PSCR,KC_SLCK,KC_PAUS, \ 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_PSCR,KC_SLCK,KC_PAUS, \
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_INS,KC_HOME,KC_PGUP, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \ 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_INS,KC_HOME,KC_PGUP, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \
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_END,KC_PGDN, KC_P7, KC_P8, KC_P9,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_LBRC,KC_RBRC,KC_BSLS, KC_DEL, KC_END,KC_PGDN, KC_P7, KC_P8, KC_P9,KC_PPLS, \
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
F(8),KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, F(9), KC_UP, KC_P1, KC_P2, KC_P3,KC_PENT, \ F(8),KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, F(9), KC_UP, KC_P1, KC_P2, KC_P3,KC_PENT, \
F(1),KC_LGUI, F(3), LT(MISC, KC_SPC), F(4), F(5), MEDAPP, F(2), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT), F(1),KC_LGUI, F(3), LT(MISC, KC_SPC), F(4), F(5), MEDAPP, F(2), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT),
/* Layer 1: Programming Layer 1, emulating US l ayout */ /* Layer 1: Programming Layer 1, emulating US l ayout */
[PROG1] = KEYMAP(\ [PROG1] = LAYOUT(\
KC_ESC,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ KC_ESC,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
M(GRV),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_SLSH, S(0),_______, _______,_______,_______, _______,_______,_______,_______, \ M(GRV),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_SLSH, S(0),_______, _______,_______,_______, _______,_______,_______,_______, \
_______,_______,_______,_______,_______,_______, KC_Z,_______,_______,_______,_______, RA(8), RA(9),RA(MINS), _______,_______,_______, _______,_______,_______,_______, \ _______,_______,_______,_______,_______,_______, KC_Z,_______,_______,_______,_______, RA(8), RA(9),RA(MINS), _______,_______,_______, _______,_______,_______,_______, \
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layer 2: programming layer 2 /* Layer 2: programming layer 2
all keys that are not FN keys are sent as LSFT+key on this layer all keys that are not FN keys are sent as LSFT+key on this layer
*/ */
[PROG2] = KEYMAP(\ [PROG2] = LAYOUT(\
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
RA(RBRC),_______, RA(Q),KC_BSLS,_______,_______,M(CFLEX), S(6),S(RBRC), S(8), S(9),S(SLSH),KC_RBRC,_______, _______,_______,_______, _______,_______,_______,_______, \ RA(RBRC),_______, RA(Q),KC_BSLS,_______,_______,M(CFLEX), S(6),S(RBRC), S(8), S(9),S(SLSH),KC_RBRC,_______, _______,_______,_______, _______,_______,_______,_______, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RA(7), RA(0),RA(NUBS), _______,_______,_______, _______,_______,_______,_______, \ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RA(7), RA(0),RA(NUBS), _______,_______,_______, _______,_______,_______,_______, \
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,S(NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(NUBS),S(MINS), _______, _______, _______,_______,_______,_______, \ _______,S(NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(NUBS),S(MINS), _______, _______, _______,_______,_______,_______, \
_______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______), _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______),
/* Layer 3: media layer */ /* Layer 3: media layer */
[MEDIA] = KEYMAP(\ [MEDIA] = LAYOUT(\
KC_PWR,KC_SLEP,KC_WAKE,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX, \ KC_PWR,KC_SLEP,KC_WAKE,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,XXXXXXX,XXXXXXX, \
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_MPRV,KC_MPLY,KC_MNXT, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_MPRV,KC_MPLY,KC_MNXT, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_VOLD,KC_MUTE,KC_VOLU, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, KC_VOLD,KC_MUTE,KC_VOLU, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX, KC_EJCT, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \ XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX, KC_EJCT, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, \
XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX,_______,XXXXXXX, KC_MRWD,KC_MSTP,KC_MFFD, XXXXXXX,XXXXXXX), XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX,_______,XXXXXXX, KC_MRWD,KC_MSTP,KC_MFFD, XXXXXXX,XXXXXXX),
/* Layer 4: Mouse layer */ /* Layer 4: Mouse layer */
[MOUSE1] = KEYMAP(\ [MOUSE1] = LAYOUT(\
F(6),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ F(6),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
_______,KC_ACL0,KC_ACL1,KC_ACL2,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ _______,KC_ACL0,KC_ACL1,KC_ACL2,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
_______,KC_BTN4,KC_WH_D,KC_MS_U,KC_WH_U,_______, C(Z),_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ _______,KC_BTN4,KC_WH_D,KC_MS_U,KC_WH_U,_______, C(Z),_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(MOUSE2),_______, C(Y), C(X), C(C), C(V),_______,KC_BTN2,KC_BTN3,C(PGUP),C(PGDN),_______, KC_RSFT, _______, _______,_______,_______,_______, \ MO(MOUSE2),_______, C(Y), C(X), C(C), C(V),_______,KC_BTN2,KC_BTN3,C(PGUP),C(PGDN),_______, KC_RSFT, _______, _______,_______,_______,_______, \
KC_LCTL,_______,KC_LALT, KC_BTN1, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, _______,_______,_______, _______,_______), KC_LCTL,_______,KC_LALT, KC_BTN1, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, _______,_______,_______, _______,_______),
/* Layer 5: Mouse layer 2*/ /* Layer 5: Mouse layer 2*/
[MOUSE2] = KEYMAP(\ [MOUSE2] = LAYOUT(\
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
_______,_______,KC_BTN2,KC_WH_U,KC_BTN3,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ _______,_______,KC_BTN2,KC_WH_U,KC_BTN3,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
@@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______,_______, \ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______,_______,_______, \
_______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______), _______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______),
/* Layer 6: Misc layer */ /* Layer 6: Misc layer */
[MISC] = KEYMAP(\ [MISC] = LAYOUT(\
_______, 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_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______,_______,_______, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
_______,KC_SLCT, C(W), KC_UP,_______,_______,_______,_______,KC_BSPC, KC_DEL,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \ _______,KC_SLCT, C(W), KC_UP,_______,_______,_______,_______,KC_BSPC, KC_DEL,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
+8
View File
@@ -14,6 +14,14 @@ void matrix_scan_kb(void) {
matrix_scan_user(); matrix_scan_user();
} }
__attribute__ ((weak))
void matrix_init_user(void) {
}
__attribute__ ((weak))
void matrix_scan_user(void) {
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record) { bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
// put your per-action keyboard code here // put your per-action keyboard code here
// runs for every action, just before processing by the firmware // runs for every action, just before processing by the firmware
+22 -3
View File
@@ -19,7 +19,7 @@
// The second converts the arguments into a two-dimensional array // The second converts the arguments into a two-dimensional array
/* /*
Matrix col/row mapping Matrix col/row mapping
,----. ,-------------------. ,-------------------. ,-------------------. ,--------------. ,----. ,-------------------. ,-------------------. ,-------------------. ,--------------.
| J6 | | I4 | H4 | H2 | H6 | | A7 | E6 | D2 | D4 | | B4 | B7 | B6 | B0 | | C7 | C5 | A5 | | J6 | | I4 | H4 | H2 | H6 | | A7 | E6 | D2 | D4 | | B4 | B7 | B6 | B0 | | C7 | C5 | A5 |
`----' `-------------------' `-------------------' `-------------------' `--------------' `----' `-------------------' `-------------------' `-------------------' `--------------'
@@ -30,13 +30,13 @@
|-------------------------------------------------------------------------| '--------------' |-------------- | |-------------------------------------------------------------------------| '--------------' |-------------- |
| O5 | J3 | I3 | H3 | G3 | G6 | F6 | F3 | E3 | D3 | R3 | R6 | B1 | | K2 | L2 | Q2 | | | O5 | J3 | I3 | H3 | G3 | G6 | F6 | F3 | E3 | D3 | R3 | R6 | B1 | | K2 | L2 | Q2 | |
|-------------------------------------------------------------------------| ,----. |-------------------| |-------------------------------------------------------------------------| ,----. |-------------------|
| N2 | J1 | I1 | H1 | G1 | G0 | F0 | F1 | E1 | D1 | R0 | N3 | | O6 | | K3 | L3 | Q3 | O3 | | N2 | I6 | J1 | I1 | H1 | G1 | G0 | F0 | F1 | E1 | D1 | R0 | N3 | | O6 | | K3 | L3 | Q3 | O3 |
|-------------------------------------------------------------------------| ,--------------. |-------------- | |-------------------------------------------------------------------------| ,--------------. |-------------- |
| A4 | P2 | C6 | K6 | C0 | M3 | D0 | A1 | | O0 | K0 | L0 | | L6 | Q6 | | | A4 | P2 | C6 | K6 | C0 | M3 | D0 | A1 | | O0 | K0 | L0 | | L6 | Q6 | |
`-------------------------------------------------------------------------' `--------------' `-------------------' `-------------------------------------------------------------------------' `--------------' `-------------------'
*/ */
#define KEYMAP( \ #define LAYOUT( \
KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \ KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \
KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, KK1, KL1, KQ1, KQ0, \ KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, KK1, KL1, KQ1, KQ0, \
KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, KK5, KL5, KQ5, KO5, \ KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, KK5, KL5, KQ5, KO5, \
@@ -55,4 +55,23 @@
{ KA7, KB7, KC7, KD7, KE7, KF7, KG7, KH7, KI7, KJ7,KC_NO,KC_NO,KC_NO,KC_NO, KO7,KC_NO, KQ7, KR7} \ { KA7, KB7, KC7, KD7, KE7, KF7, KG7, KH7, KI7, KJ7,KC_NO,KC_NO,KC_NO,KC_NO, KO7,KC_NO, KQ7, KR7} \
} }
#define LAYOUT_fullsize_ansi( \
KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \
KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, KK1, KL1, KQ1, KQ0, \
KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, KK5, KL5, KQ5, KO5, \
KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, KK2, KL2, KQ2, \
KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, KK3, KL3, KQ3, KO3, \
KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0, KL6, KQ6 \
) \
{ \
{KC_NO, KB0, KC0, KD0,KC_NO, KF0, KG0,KC_NO,KC_NO,KC_NO, KK0, KL0,KC_NO,KC_NO, KO0,KC_NO, KQ0, KR0}, \
{ KA1, KB1,KC_NO, KD1, KE1, KF1, KG1, KH1, KI1, KJ1, KK1, KL1,KC_NO,KC_NO,KC_NO,KC_NO, KQ1,KC_NO}, \
{KC_NO, KB2,KC_NO, KD2, KE2, KF2, KG2, KH2, KI2, KJ2, KK2, KL2,KC_NO, KN2,KC_NO, KP2, KQ2, KR2}, \
{KC_NO, KB3,KC_NO, KD3, KE3, KF3, KG3, KH3, KI3, KJ3, KK3, KL3, KM3, KN3, KO3,KC_NO, KQ3, KR3}, \
{ KA4, KB4,KC_NO, KD4, KE4, KF4, KG4, KH4, KI4, KJ4, KK4, KL4,KC_NO,KC_NO, KO4,KC_NO, KQ4, KR4}, \
{ KA5,KC_NO, KC5, KD5, KE5, KF5, KG5, KH5, KI5, KJ5, KK5, KL5,KC_NO,KC_NO, KO5,KC_NO, KQ5, KR5}, \
{KC_NO, KB6, KC6,KC_NO, KE6, KF6, KG6, KH6, KC_NO,KJ6, KK6, KL6,KC_NO,KC_NO, KO6,KC_NO, KQ6, KR6}, \
{ KA7, KB7, KC7, KD7, KE7, KF7, KG7, KH7, KI7, KJ7,KC_NO,KC_NO,KC_NO,KC_NO, KO7,KC_NO, KQ7, KR7} \
}
#endif #endif
+2 -2
View File
@@ -5,8 +5,8 @@ This is the firmware for the 2016 revision of the Kitten Paw controller by Bathr
NKRO doesn't work at the moment, I don't know if I will take the time to find out how to fix this, so far 6KRO is enough for me. NKRO doesn't work at the moment, I don't know if I will take the time to find out how to fix this, so far 6KRO is enough for me.
Keyboard Maintainer: QMK Community Keyboard Maintainer: QMK Community
Hardware Supported: Kitten Paw PCB Hardware Supported: Kitten Paw PCB
Hardware Availability: https://geekhack.org/index.php?topic=46700.0 Hardware Availability: https://geekhack.org/index.php?topic=46700.0
Make example for this keyboard (after setting up your build environment): Make example for this keyboard (after setting up your build environment):
+2
View File
@@ -70,3 +70,5 @@ AUDIO_ENABLE = no # Audio output on port C6
CUSTOM_MATRIX = yes CUSTOM_MATRIX = yes
SRC += matrix.c SRC += matrix.c
LAYOUTS = fullsize_ansi
+1 -1
View File
@@ -6,7 +6,7 @@
"width": 3, "width": 3,
"height": 2, "height": 2,
"layouts": { "layouts": {
"KEYMAP": { "LAYOUT": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}] "layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}]
} }
} }
+4 -4
View File
@@ -1,4 +1,4 @@
#include "laplace.h" #include QMK_KEYBOARD_H
#define _BASE 0 #define _BASE 0
#define _FN1 1 #define _FN1 1
@@ -25,7 +25,7 @@
#define KC_RVAD RGB_VAD #define KC_RVAD RGB_VAD
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = KC_KEYMAP( [_BASE] = LAYOUT_kc(
//,----+----+----+----+----+----+----+----+----+----+----+----+----. //,----+----+----+----+----+----+----+----+----+----+----+----+----.
ESC , Q , W , E , R , T , Y , U , I , O , P ,DEL ,BSPC, ESC , Q , W , E , R , T , Y , U , I , O , P ,DEL ,BSPC,
//|----`----`----`----`----`----`----`----`----`----`----`----`----+ //|----`----`----`----`----`----`----`----`----`----`----`----`----+
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//`-----+----+-----+----+--------+--------+-----+-----+-----+------' //`-----+----+-----+----+--------+--------+-----+-----+-----+------'
), ),
[_FN1] = KC_KEYMAP( [_FN1] = LAYOUT_kc(
//,----+----+----+----+----+----+----+----+----+----+----+----+----. //,----+----+----+----+----+----+----+----+----+----+----+----+----.
GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,EQL , GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,EQL ,
//|----`----`----`----`----`----`----`----`----`----`----`----`----+ //|----`----`----`----`----`----`----`----`----`----`----`----`----+
@@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//`-----+----+-----+----+--------+--------+-----+-----+-----+------' //`-----+----+-----+----+--------+--------+-----+-----+-----+------'
), ),
[_FN2] = KC_KEYMAP( [_FN2] = LAYOUT_kc(
//,----+----+----+----+----+----+----+----+----+----+----+----+----. //,----+----+----+----+----+----+----+----+----+----+----+----+----.
TILD,EXLM, AT ,HASH,DLR ,PERC,CIRC,AMPR,ASTR,LPRN,RPRN,UNDS,PLUS, TILD,EXLM, AT ,HASH,DLR ,PERC,CIRC,AMPR,ASTR,LPRN,RPRN,UNDS,PLUS,
//|----`----`----`----`----`----`----`----`----`----`----`----`----+ //|----`----`----`----`----`----`----`----`----`----`----`----`----+
+24 -48
View File
@@ -1,63 +1,39 @@
#include "laplace.h" #include QMK_KEYBOARD_H
#define _BASE 0 #define _BASE 0
#define _FN1 1 #define _FN1 1
#define _FN2 2 #define _FN2 2
#define KC_ KC_TRNS
#define _______ KC_TRNS #define _______ KC_TRNS
#define XXXXXXX KC_NO #define XXXXXXX KC_NO
#define KC_FN1 MO(_FN1)
#define KC_FN2 MO(_FN2) #define FN1 MO(_FN1)
#define KC_SPFN1 LT(_FN1, KC_SPACE) #define FN2 MO(_FN2)
#define KC_SPFN2 LT(_FN2, KC_SPACE) #define SP_FN1 LT(_FN1, KC_SPACE)
#define KC_BSFN1 LT(_FN1, KC_BSPC) #define SP_FN2 LT(_FN2, KC_SPACE)
#define KC_BSFN2 LT(_FN2, KC_BSPC) #define BS_FN1 LT(_FN1, KC_BSPC)
#define KC_RST RESET #define BS_FN2 LT(_FN2, KC_BSPC)
#define KC_DBUG DEBUG
#define KC_RTOG RGB_TOG
#define KC_RMOD RGB_MOD
#define KC_RHUI RGB_HUI
#define KC_RHUD RGB_HUD
#define KC_RSAI RGB_SAI
#define KC_RSAD RGB_SAD
#define KC_RVAI RGB_VAI
#define KC_RVAD RGB_VAD
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = KC_KEYMAP(
//,----+----+----+----+----+----|----+----+----+----+----+----+----. [_BASE] = LAYOUT(
ESC , Q , W , E , R , T , Y , U , I , O , P ,DEL ,BSPC, KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC,
//|----`----`----`----`----`----`----`----`----`----`----`----`----+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT,
TAB , A , S , D , F , G , H , J , K , L ,QUOT, ENTER , 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_LALT, KC_LGUI, FN1, SP_FN1, BS_FN2, KC_RGUI, KC_RALT, FN2, KC_RCTL
LSFT , Z , X , C , V , B , N , M ,COMM,DOT ,SLSH, RSFT ,
//|-------`----`----`----`----`----`----`----`----`----`----`------|
LCTL ,LALT,LGUI ,FN1 , SPFN1 , BSFN2 ,RGUI ,RALT , FN2 , RCTL
//`-----+----+-----+----+--------`--------+-----+-----+-----+------'
), ),
[_FN1] = KC_KEYMAP( [_FN1] = LAYOUT(
//,----+----+----+----+----+----+----+----+----+----+----+----+----. 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,
GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 ,MINS,EQL , RESET, RGB_HUI, RGB_SAI, RGB_VAI, KC_VOLU, KC_LBRC, KC_RBRC, KC_4, KC_5, KC_6, KC_SCLN, _______,
//|----`----`----`----`----`----`----`----`----`----`----`----`----+ RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_VOLD, KC_LCBR, KC_RCBR, KC_1, KC_2, KC_3, KC_UP, _______,
RST ,RHUI,RSAI,RVAI,VOLU,LBRC,RBRC, 4 , 5 , 6 ,SCLN, , RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_0, KC_LEFT, KC_DOWN, KC_RGHT
//|-----`----`----`----`----`----`----`----`----`----`----`--------+
RMOD ,RHUD,RSAD,RVAD,VOLD,LCBR,RCBR, 1 , 2 , 3 , UP , ,
//|-------`----`----`----`----`----`----`----`----`----`----`------+
RTOG , , , , , DEL , 0 ,LEFT ,DOWN , RGHT
//`-----+----+-----+----+--------+--------+-----+-----+-----+------'
), ),
[_FN2] = KC_KEYMAP( [_FN2] = LAYOUT(
//,----+----+----+----+----+----+----+----+----+----+----+----+----. KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS,
TILD,EXLM, AT ,HASH,DLR ,PERC,CIRC,AMPR,ASTR,LPRN,RPRN,UNDS,PLUS, _______, _______, _______, KC_INS, KC_PGUP, KC_HOME, _______, _______, _______, _______, KC_COLN, _______,
//|----`----`----`----`----`----`----`----`----`----`----`----`----+ _______, _______, _______, KC_DEL, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______,
, , ,INS ,PGUP,HOME, , , , ,COLN, , _______, _______, _______, _______, KC_DEL, _______, _______, _______, _______, _______
//|-----`----`----`----`----`----`----`----`----`----`----`--------+
, , ,DEL ,PGDN,END , , , , , , ,
//|-------`----`----`----`----`----`----`----`----`----`----`------+
, , , , DEL , , , , ,
//`-----+----+-----+----+--------+--------+-----+-----+-----+------'
) )
}; };
+3 -3
View File
@@ -3,7 +3,7 @@
#include "quantum.h" #include "quantum.h"
#define KEYMAP( \ #define LAYOUT( \
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, \ A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, \
B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B13, \ B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B13, \
C1, C2, C3, C4, C5, C6, C7, C9, C10, C11, C12, C13, \ C1, C2, C3, C4, C5, C6, C7, C9, C10, C11, C12, C13, \
@@ -20,13 +20,13 @@
} }
// Used to create a keymap using only KC_ prefixed keys // Used to create a keymap using only KC_ prefixed keys
#define KC_KEYMAP( \ #define LAYOUT_kc( \
A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, \ A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, \
B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B13, \ B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B13, \
C1, C2, C3, C4, C5, C6, C7, C9, C10, C11, C12, C13, \ C1, C2, C3, C4, C5, C6, C7, C9, C10, C11, C12, C13, \
D1, D2, D3, D4, D5, D7, D10, D11, D12, D13 \ D1, D2, D3, D4, D5, D7, D10, D11, D12, D13 \
) \ ) \
KEYMAP( \ LAYOUT( \
KC_##A1, KC_##A2, KC_##A3, KC_##A4, KC_##A5, KC_##A6, KC_##A7, KC_##A8, KC_##A9, KC_##A10, KC_##A11, KC_##A12, KC_##A13, \ KC_##A1, KC_##A2, KC_##A3, KC_##A4, KC_##A5, KC_##A6, KC_##A7, KC_##A8, KC_##A9, KC_##A10, KC_##A11, KC_##A12, KC_##A13, \
KC_##B1, KC_##B2, KC_##B3, KC_##B4, KC_##B5, KC_##B6, KC_##B7, KC_##B8, KC_##B9, KC_##B10, KC_##B11, KC_##B13, \ KC_##B1, KC_##B2, KC_##B3, KC_##B4, KC_##B5, KC_##B6, KC_##B7, KC_##B8, KC_##B9, KC_##B10, KC_##B11, KC_##B13, \
KC_##C1, KC_##C2, KC_##C3, KC_##C4, KC_##C5, KC_##C6, KC_##C7, KC_##C9, KC_##C10, KC_##C11, KC_##C12, KC_##C13, \ KC_##C1, KC_##C2, KC_##C3, KC_##C4, KC_##C5, KC_##C6, KC_##C7, KC_##C9, KC_##C10, KC_##C11, KC_##C12, KC_##C13, \
+201 -162
View File
@@ -1,168 +1,207 @@
#ifndef SEND_STRING_KEYCODES #ifndef SEND_STRING_KEYCODES
#define SEND_STRING_KEYCODES #define SEND_STRING_KEYCODES
#define X_NO 00 #define X_NO 00
#define X_ROLL_OVER 01 #define X_ROLL_OVER 01
#define X_POST_FAIL 02 #define X_POST_FAIL 02
#define X_UNDEFINED 03 #define X_UNDEFINED 03
#define X_A 04 #define X_A 04
#define X_B 05 #define X_B 05
#define X_C 06 #define X_C 06
#define X_D 07 #define X_D 07
#define X_E 08 #define X_E 08
#define X_F 09 #define X_F 09
#define X_G 0A #define X_G 0a
#define X_H 0B #define X_H 0b
#define X_I 0C #define X_I 0c
#define X_J 0D #define X_J 0d
#define X_K 0E #define X_K 0e
#define X_L 0F #define X_L 0f
#define X_M 10 #define X_M 10
#define X_N 11 #define X_N 11
#define X_O 12 #define X_O 12
#define X_P 13 #define X_P 13
#define X_Q 14 #define X_Q 14
#define X_R 15 #define X_R 15
#define X_S 16 #define X_S 16
#define X_T 17 #define X_T 17
#define X_U 18 #define X_U 18
#define X_V 19 #define X_V 19
#define X_W 1A #define X_W 1a
#define X_X 1B #define X_X 1b
#define X_Y 1C #define X_Y 1c
#define X_Z 1D #define X_Z 1d
#define X_1 1E #define X_1 1e
#define X_2 1F #define X_2 1f
#define X_3 20 #define X_3 20
#define X_4 21 #define X_4 21
#define X_5 22 #define X_5 22
#define X_6 23 #define X_6 23
#define X_7 24 #define X_7 24
#define X_8 25 #define X_8 25
#define X_9 26 #define X_9 26
#define X_0 27 #define X_0 27
#define X_ENTER 28 #define X_ENTER 28
#define X_ESCAPE 29 #define X_ESCAPE 29
#define X_BSPACE 2A #define X_BSPACE 2a
#define X_TAB 2B #define X_TAB 2b
#define X_SPACE 2C #define X_SPACE 2c
#define X_MINUS 2D #define X_MINUS 2d
#define X_EQUAL 2E #define X_EQUAL 2e
#define X_LBRACKET 2F #define X_LBRACKET 2f
#define X_RBRACKET 30 #define X_RBRACKET 30
#define X_BSLASH 31 #define X_BSLASH 31
#define X_NONUS_HASH 32 #define X_NONUS_HASH 32
#define X_SCOLON 33 #define X_SCOLON 33
#define X_QUOTE 34 #define X_QUOTE 34
#define X_GRAVE 35 #define X_GRAVE 35
#define X_COMMA 36 #define X_COMMA 36
#define X_DOT 37 #define X_DOT 37
#define X_SLASH 38 #define X_SLASH 38
#define X_CAPSLOCK 39 #define X_CAPSLOCK 39
#define X_F1 3A #define X_F1 3a
#define X_F2 3B #define X_F2 3b
#define X_F3 3C #define X_F3 3c
#define X_F4 3D #define X_F4 3d
#define X_F5 3E #define X_F5 3e
#define X_F6 3F #define X_F6 3f
#define X_F7 40 #define X_F7 40
#define X_F8 41 #define X_F8 41
#define X_F9 42 #define X_F9 42
#define X_F10 43 #define X_F10 43
#define X_F11 44 #define X_F11 44
#define X_F12 45 #define X_F12 45
#define X_PSCREEN 46 #define X_PSCREEN 46
#define X_SCROLLLOCK 47 #define X_SCROLLLOCK 47
#define X_PAUSE 48 #define X_PAUSE 48
#define X_INSERT 49 #define X_INSERT 49
#define X_HOME 4A #define X_HOME 4a
#define X_PGUP 4B #define X_PGUP 4b
#define X_DELETE 4C #define X_DELETE 4c
#define X_END 4D #define X_END 4d
#define X_PGDOWN 4E #define X_PGDOWN 4e
#define X_RIGHT 4F #define X_RIGHT 4f
#define X_LEFT 50 #define X_LEFT 50
#define X_DOWN 51 #define X_DOWN 51
#define X_UP 52 #define X_UP 52
#define X_NUMLOCK 53 #define X_NUMLOCK 53
#define X_KP_SLASH 54 #define X_KP_SLASH 54
#define X_KP_ASTERISK 55 #define X_KP_ASTERISK 55
#define X_KP_MINUS 56 #define X_KP_MINUS 56
#define X_KP_PLUS 57 #define X_KP_PLUS 57
#define X_KP_ENTER 58 #define X_KP_ENTER 58
#define X_KP_1 59 #define X_KP_1 59
#define X_KP_2 5A #define X_KP_2 5a
#define X_KP_3 5B #define X_KP_3 5b
#define X_KP_4 5C #define X_KP_4 5c
#define X_KP_5 5D #define X_KP_5 5d
#define X_KP_6 5E #define X_KP_6 5e
#define X_KP_7 5F #define X_KP_7 5f
#define X_KP_8 60 #define X_KP_8 60
#define X_KP_9 61 #define X_KP_9 61
#define X_KP_0 62 #define X_KP_0 62
#define X_KP_DOT 63 #define X_KP_DOT 63
#define X_NONUS_BSLASH 64 #define X_NONUS_BSLASH 64
#define X_APPLICATION 65 #define X_APPLICATION 65
#define X_POWER 66 #define X_POWER 66
#define X_KP_EQUAL 67 #define X_KP_EQUAL 67
#define X_F13 68 #define X_F13 68
#define X_F14 69 #define X_F14 69
#define X_F15 6A #define X_F15 6a
#define X_F16 6B #define X_F16 6b
#define X_F17 6C #define X_F17 6c
#define X_F18 6D #define X_F18 6d
#define X_F19 6E #define X_F19 6e
#define X_F20 6F #define X_F20 6f
#define X_F21 70 #define X_F21 70
#define X_F22 71 #define X_F22 71
#define X_F23 72 #define X_F23 72
#define X_F24 73 #define X_F24 73
#define X_EXECUTE 74 #define X_EXECUTE 74
#define X_HELP 75 #define X_HELP 75
#define X_MENU 76 #define X_MENU 76
#define X_SELECT 77 #define X_SELECT 77
#define X_STOP 78 #define X_STOP 78
#define X_AGAIN 79 #define X_AGAIN 79
#define X_UNDO 7A #define X_UNDO 7a
#define X_CUT 7B #define X_CUT 7b
#define X_COPY 7C #define X_COPY 7c
#define X_PASTE 7D #define X_PASTE 7d
#define X_FIND 7E #define X_FIND 7e
#define X__MUTE 7F #define X__MUTE 7f
#define X__VOLUP 80 #define X__VOLUP 80
#define X__VOLDOWN 81 #define X__VOLDOWN 81
#define X_LOCKING_CAPS 82 #define X_LOCKING_CAPS 82
#define X_LOCKING_NUM 83 #define X_LOCKING_NUM 83
#define X_LOCKING_SCROLL 84 #define X_LOCKING_SCROLL 84
#define X_KP_COMMA 85 #define X_KP_COMMA 85
#define X_KP_EQUAL_AS400 86 #define X_KP_EQUAL_AS400 86
#define X_INT1 87 #define X_INT1 87
#define X_INT2 88 #define X_INT2 88
#define X_INT3 89 #define X_INT3 89
#define X_INT4 8A #define X_INT4 8a
#define X_INT5 8B #define X_INT5 8b
#define X_INT6 8C #define X_INT6 8c
#define X_INT7 8D #define X_INT7 8d
#define X_INT8 8E #define X_INT8 8e
#define X_INT9 8F #define X_INT9 8f
#define X_LANG1 90 #define X_LANG1 90
#define X_LANG2 91 #define X_LANG2 91
#define X_LANG3 92 #define X_LANG3 92
#define X_LANG4 93 #define X_LANG4 93
#define X_LANG5 94 #define X_LANG5 94
#define X_LANG6 95 #define X_LANG6 95
#define X_LANG7 96 #define X_LANG7 96
#define X_LANG8 97 #define X_LANG8 97
#define X_LANG9 98 #define X_LANG9 98
#define X_ALT_ERASE 99
#define X_SYSREQ 9a
#define X_CANCEL 9b
#define X_CLEAR 9c
#define X_PRIOR 9d
#define X_RETURN 9e
#define X_SEPARATOR 9f
#define X_OUT a0
#define X_OPER a1
#define X_CLEAR_AGAIN a2
#define X_CRSEL a3
#define X_EXSEL a4
/* Modifiers */ /* Modifiers */
#define X_LCTRL e0 #define X_LCTRL e0
#define X_LSHIFT e1 #define X_LSHIFT e1
#define X_LALT e2 #define X_LALT e2
#define X_LGUI e3 #define X_LGUI e3
#define X_RCTRL e4 #define X_RCTRL e4
#define X_RSHIFT e5 #define X_RSHIFT e5
#define X_RALT e6 #define X_RALT e6
#define X_RGUI e7 #define X_RGUI e7
#endif /* System Control */
#define X_SYSTEM_POWER a5
#define X_SYSTEM_SLEEP a6
#define X_SYSTEM_WAKE a7
/* Media Control */
#define X_AUDIO_MUTE a8
#define X_AUDIO_VOL_UP a9
#define X_AUDIO_VOL_DOWN aa
#define X_MEDIA_NEXT_TRACK ab
#define X_MEDIA_PREV_TRACK ac
#define X_MEDIA_STOP ad
#define X_MEDIA_PLAY_PAUSE ae
#define X_MEDIA_SELECT af
#define X_MEDIA_EJECT b0
#define X_MAIL b1
#define X_CALCULATOR b2
#define X_MY_COMPUTER b3
#define X_WWW_SEARCH b4
#define X_WWW_HOME b5
#define X_WWW_BACK b6
#define X_WWW_FORWARD b7
#define X_WWW_STOP b8
#define X_WWW_REFRESH b9
#define X_WWW_FAVORITES ba
#define X_MEDIA_FAST_FORWARD bb
#define X_MEDIA_REWIND bc
#endif
+3 -3
View File
@@ -19,7 +19,7 @@
#include "audio.h" #include "audio.h"
#endif /* AUDIO_ENABLE */ #endif /* AUDIO_ENABLE */
#ifdef RGBLIGHT_SLEEP #if defined(RGBLIGHT_SLEEP) && defined(RGBLIGHT_ENABLE)
#include "rgblight.h" #include "rgblight.h"
#endif #endif
@@ -112,7 +112,7 @@ static void power_down(uint8_t wdto)
// This sometimes disables the start-up noise, so it's been disabled // This sometimes disables the start-up noise, so it's been disabled
// stop_all_notes(); // stop_all_notes();
#endif /* AUDIO_ENABLE */ #endif /* AUDIO_ENABLE */
#ifdef RGBLIGHT_SLEEP #if defined(RGBLIGHT_SLEEP) && defined(RGBLIGHT_ENABLE)
#ifdef RGBLIGHT_ANIMATIONS #ifdef RGBLIGHT_ANIMATIONS
rgblight_timer_disable(); rgblight_timer_disable();
#endif #endif
@@ -188,7 +188,7 @@ void suspend_wakeup_init(void)
backlight_init(); backlight_init();
#endif #endif
led_set(host_keyboard_leds()); led_set(host_keyboard_leds());
#ifdef RGBLIGHT_SLEEP #if defined(RGBLIGHT_SLEEP) && defined(RGBLIGHT_ENABLE)
rgblight_enable_noeeprom(); rgblight_enable_noeeprom();
#ifdef RGBLIGHT_ANIMATIONS #ifdef RGBLIGHT_ANIMATIONS
rgblight_timer_enable(); rgblight_timer_enable();