@ -0,0 +1 @@ | |||
docs.qmk.fm |
@ -0,0 +1,10 @@ | |||
.sidebar-toggle { | |||
position: absolute; | |||
top: 0; | |||
bottom: auto; | |||
left: 0; | |||
} | |||
.search { | |||
margin-top: 40px; | |||
} |
@ -1,232 +0,0 @@ | |||
/* | |||
* TWIlib.c | |||
* | |||
* Created: 6/01/2014 10:41:33 PM | |||
* Author: Chris Herring | |||
* http://www.chrisherring.net/all/tutorial-interrupt-driven-twi-interface-for-avr-part1/ | |||
*/ | |||
#include <avr/io.h> | |||
#include <avr/interrupt.h> | |||
#include "TWIlib.h" | |||
#include "util/delay.h" | |||
void TWIInit() | |||
{ | |||
TWIInfo.mode = Ready; | |||
TWIInfo.errorCode = 0xFF; | |||
TWIInfo.repStart = 0; | |||
// Set pre-scalers (no pre-scaling) | |||
TWSR = 0; | |||
// Set bit rate | |||
TWBR = ((F_CPU / TWI_FREQ) - 16) / 2; | |||
// Enable TWI and interrupt | |||
TWCR = (1 << TWIE) | (1 << TWEN); | |||
} | |||
uint8_t isTWIReady() | |||
{ | |||
if ( (TWIInfo.mode == Ready) | (TWIInfo.mode == RepeatedStartSent) ) | |||
{ | |||
return 1; | |||
} | |||
else | |||
{ | |||
return 0; | |||
} | |||
} | |||
uint8_t TWITransmitData(void *const TXdata, uint8_t dataLen, uint8_t repStart) | |||
{ | |||
if (dataLen <= TXMAXBUFLEN) | |||
{ | |||
// Wait until ready | |||
while (!isTWIReady()) {_delay_us(1);} | |||
// Set repeated start mode | |||
TWIInfo.repStart = repStart; | |||
// Copy data into the transmit buffer | |||
uint8_t *data = (uint8_t *)TXdata; | |||
for (int i = 0; i < dataLen; i++) | |||
{ | |||
TWITransmitBuffer[i] = data[i]; | |||
} | |||
// Copy transmit info to global variables | |||
TXBuffLen = dataLen; | |||
TXBuffIndex = 0; | |||
// If a repeated start has been sent, then devices are already listening for an address | |||
// and another start does not need to be sent. | |||
if (TWIInfo.mode == RepeatedStartSent) | |||
{ | |||
TWIInfo.mode = Initializing; | |||
TWDR = TWITransmitBuffer[TXBuffIndex++]; // Load data to transmit buffer | |||
TWISendTransmit(); // Send the data | |||
} | |||
else // Otherwise, just send the normal start signal to begin transmission. | |||
{ | |||
TWIInfo.mode = Initializing; | |||
TWISendStart(); | |||
} | |||
} | |||
else | |||
{ | |||
return 1; // return an error if data length is longer than buffer | |||
} | |||
return 0; | |||
} | |||
uint8_t TWIReadData(uint8_t TWIaddr, uint8_t bytesToRead, uint8_t repStart) | |||
{ | |||
// Check if number of bytes to read can fit in the RXbuffer | |||
if (bytesToRead < RXMAXBUFLEN) | |||
{ | |||
// Reset buffer index and set RXBuffLen to the number of bytes to read | |||
RXBuffIndex = 0; | |||
RXBuffLen = bytesToRead; | |||
// Create the one value array for the address to be transmitted | |||
uint8_t TXdata[1]; | |||
// Shift the address and AND a 1 into the read write bit (set to write mode) | |||
TXdata[0] = (TWIaddr << 1) | 0x01; | |||
// Use the TWITransmitData function to initialize the transfer and address the slave | |||
TWITransmitData(TXdata, 1, repStart); | |||
} | |||
else | |||
{ | |||
return 0; | |||
} | |||
return 1; | |||
} | |||
ISR (TWI_vect) | |||
{ | |||
switch (TWI_STATUS) | |||
{ | |||
// ----\/ ---- MASTER TRANSMITTER OR WRITING ADDRESS ----\/ ---- // | |||
case TWI_MT_SLAW_ACK: // SLA+W transmitted and ACK received | |||
// Set mode to Master Transmitter | |||
TWIInfo.mode = MasterTransmitter; | |||
case TWI_START_SENT: // Start condition has been transmitted | |||
case TWI_MT_DATA_ACK: // Data byte has been transmitted, ACK received | |||
if (TXBuffIndex < TXBuffLen) // If there is more data to send | |||
{ | |||
TWDR = TWITransmitBuffer[TXBuffIndex++]; // Load data to transmit buffer | |||
TWIInfo.errorCode = TWI_NO_RELEVANT_INFO; | |||
TWISendTransmit(); // Send the data | |||
} | |||
// This transmission is complete however do not release bus yet | |||
else if (TWIInfo.repStart) | |||
{ | |||
TWIInfo.errorCode = 0xFF; | |||
TWISendStart(); | |||
} | |||
// All transmissions are complete, exit | |||
else | |||
{ | |||
TWIInfo.mode = Ready; | |||
TWIInfo.errorCode = 0xFF; | |||
TWISendStop(); | |||
} | |||
break; | |||
// ----\/ ---- MASTER RECEIVER ----\/ ---- // | |||
case TWI_MR_SLAR_ACK: // SLA+R has been transmitted, ACK has been received | |||
// Switch to Master Receiver mode | |||
TWIInfo.mode = MasterReceiver; | |||
// If there is more than one byte to be read, receive data byte and return an ACK | |||
if (RXBuffIndex < RXBuffLen-1) | |||
{ | |||
TWIInfo.errorCode = TWI_NO_RELEVANT_INFO; | |||
TWISendACK(); | |||
} | |||
// Otherwise when a data byte (the only data byte) is received, return NACK | |||
else | |||
{ | |||
TWIInfo.errorCode = TWI_NO_RELEVANT_INFO; | |||
TWISendNACK(); | |||
} | |||
break; | |||
case TWI_MR_DATA_ACK: // Data has been received, ACK has been transmitted. | |||
/// -- HANDLE DATA BYTE --- /// | |||
TWIReceiveBuffer[RXBuffIndex++] = TWDR; | |||
// If there is more than one byte to be read, receive data byte and return an ACK | |||
if (RXBuffIndex < RXBuffLen-1) | |||
{ | |||
TWIInfo.errorCode = TWI_NO_RELEVANT_INFO; | |||
TWISendACK(); | |||
} | |||
// Otherwise when a data byte (the only data byte) is received, return NACK | |||
else | |||
{ | |||
TWIInfo.errorCode = TWI_NO_RELEVANT_INFO; | |||
TWISendNACK(); | |||
} | |||
break; | |||
case TWI_MR_DATA_NACK: // Data byte has been received, NACK has been transmitted. End of transmission. | |||
/// -- HANDLE DATA BYTE --- /// | |||
TWIReceiveBuffer[RXBuffIndex++] = TWDR; | |||
// This transmission is complete however do not release bus yet | |||
if (TWIInfo.repStart) | |||
{ | |||
TWIInfo.errorCode = 0xFF; | |||
TWISendStart(); | |||
} | |||
// All transmissions are complete, exit | |||
else | |||
{ | |||
TWIInfo.mode = Ready; | |||
TWIInfo.errorCode = 0xFF; | |||
TWISendStop(); | |||
} | |||
break; | |||
// ----\/ ---- MT and MR common ----\/ ---- // | |||
case TWI_MR_SLAR_NACK: // SLA+R transmitted, NACK received | |||
case TWI_MT_SLAW_NACK: // SLA+W transmitted, NACK received | |||
case TWI_MT_DATA_NACK: // Data byte has been transmitted, NACK received | |||
case TWI_LOST_ARBIT: // Arbitration has been lost | |||
// Return error and send stop and set mode to ready | |||
if (TWIInfo.repStart) | |||
{ | |||
TWIInfo.errorCode = TWI_STATUS; | |||
TWISendStart(); | |||
} | |||
// All transmissions are complete, exit | |||
else | |||
{ | |||
TWIInfo.mode = Ready; | |||
TWIInfo.errorCode = TWI_STATUS; | |||
TWISendStop(); | |||
} | |||
break; | |||
case TWI_REP_START_SENT: // Repeated start has been transmitted | |||
// Set the mode but DO NOT clear TWINT as the next data is not yet ready | |||
TWIInfo.mode = RepeatedStartSent; | |||
break; | |||
// ----\/ ---- SLAVE RECEIVER ----\/ ---- // | |||
// TODO IMPLEMENT SLAVE RECEIVER FUNCTIONALITY | |||
// ----\/ ---- SLAVE TRANSMITTER ----\/ ---- // | |||
// TODO IMPLEMENT SLAVE TRANSMITTER FUNCTIONALITY | |||
// ----\/ ---- MISCELLANEOUS STATES ----\/ ---- // | |||
case TWI_NO_RELEVANT_INFO: // It is not really possible to get into this ISR on this condition | |||
// Rather, it is there to be manually set between operations | |||
break; | |||
case TWI_ILLEGAL_START_STOP: // Illegal START/STOP, abort and return error | |||
TWIInfo.errorCode = TWI_ILLEGAL_START_STOP; | |||
TWIInfo.mode = Ready; | |||
TWISendStop(); | |||
break; | |||
} | |||
} |
@ -1,82 +0,0 @@ | |||
/* | |||
* TWIlib.h | |||
* | |||
* Created: 6/01/2014 10:38:42 PM | |||
* Author: Chris Herring | |||
* http://www.chrisherring.net/all/tutorial-interrupt-driven-twi-interface-for-avr-part1/ | |||
*/ | |||
#ifndef TWILIB_H_ | |||
#define TWILIB_H_ | |||
// TWI bit rate (was 100000) | |||
#define TWI_FREQ 400000 | |||
// Get TWI status | |||
#define TWI_STATUS (TWSR & 0xF8) | |||
// Transmit buffer length | |||
#define TXMAXBUFLEN 20 | |||
// Receive buffer length | |||
#define RXMAXBUFLEN 20 | |||
// Global transmit buffer | |||
uint8_t TWITransmitBuffer[TXMAXBUFLEN]; | |||
// Global receive buffer | |||
volatile uint8_t TWIReceiveBuffer[RXMAXBUFLEN]; | |||
// Buffer indexes | |||
volatile int TXBuffIndex; // Index of the transmit buffer. Is volatile, can change at any time. | |||
int RXBuffIndex; // Current index in the receive buffer | |||
// Buffer lengths | |||
int TXBuffLen; // The total length of the transmit buffer | |||
int RXBuffLen; // The total number of bytes to read (should be less than RXMAXBUFFLEN) | |||
typedef enum { | |||
Ready, | |||
Initializing, | |||
RepeatedStartSent, | |||
MasterTransmitter, | |||
MasterReceiver, | |||
SlaceTransmitter, | |||
SlaveReciever | |||
} TWIMode; | |||
typedef struct TWIInfoStruct{ | |||
TWIMode mode; | |||
uint8_t errorCode; | |||
uint8_t repStart; | |||
}TWIInfoStruct; | |||
TWIInfoStruct TWIInfo; | |||
// TWI Status Codes | |||
#define TWI_START_SENT 0x08 // Start sent | |||
#define TWI_REP_START_SENT 0x10 // Repeated Start sent | |||
// Master Transmitter Mode | |||
#define TWI_MT_SLAW_ACK 0x18 // SLA+W sent and ACK received | |||
#define TWI_MT_SLAW_NACK 0x20 // SLA+W sent and NACK received | |||
#define TWI_MT_DATA_ACK 0x28 // DATA sent and ACK received | |||
#define TWI_MT_DATA_NACK 0x30 // DATA sent and NACK received | |||
// Master Receiver Mode | |||
#define TWI_MR_SLAR_ACK 0x40 // SLA+R sent, ACK received | |||
#define TWI_MR_SLAR_NACK 0x48 // SLA+R sent, NACK received | |||
#define TWI_MR_DATA_ACK 0x50 // Data received, ACK returned | |||
#define TWI_MR_DATA_NACK 0x58 // Data received, NACK returned | |||
// Miscellaneous States | |||
#define TWI_LOST_ARBIT 0x38 // Arbitration has been lost | |||
#define TWI_NO_RELEVANT_INFO 0xF8 // No relevant information available | |||
#define TWI_ILLEGAL_START_STOP 0x00 // Illegal START or STOP condition has been detected | |||
#define TWI_SUCCESS 0xFF // Successful transfer, this state is impossible from TWSR as bit2 is 0 and read only | |||
#define TWISendStart() (TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN)|(1<<TWIE)) // Send the START signal, enable interrupts and TWI, clear TWINT flag to resume transfer. | |||
#define TWISendStop() (TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN)|(1<<TWIE)) // Send the STOP signal, enable interrupts and TWI, clear TWINT flag. | |||
#define TWISendTransmit() (TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWIE)) // Used to resume a transfer, clear TWINT and ensure that TWI and interrupts are enabled. | |||
#define TWISendACK() (TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWIE)|(1<<TWEA)) // FOR MR mode. Resume a transfer, ensure that TWI and interrupts are enabled and respond with an ACK if the device is addressed as a slave or after it receives a byte. | |||
#define TWISendNACK() (TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWIE)) // FOR MR mode. Resume a transfer, ensure that TWI and interrupts are enabled but DO NOT respond with an ACK if the device is addressed as a slave or after it receives a byte. | |||
// Function declarations | |||
uint8_t TWITransmitData(void *const TXdata, uint8_t dataLen, uint8_t repStart); | |||
void TWIInit(void); | |||
uint8_t TWIReadData(uint8_t TWIaddr, uint8_t bytesToRead, uint8_t repStart); | |||
uint8_t isTWIReady(void); | |||
#endif // TWICOMMS_H_ |
@ -0,0 +1,149 @@ | |||
/* Library made by: g4lvanix | |||
* Github repository: https://github.com/g4lvanix/I2C-master-lib | |||
*/ | |||
#include <avr/io.h> | |||
#include <util/twi.h> | |||
#include "i2c_master.h" | |||
#define F_SCL 400000UL // SCL frequency | |||
#define Prescaler 1 | |||
#define TWBR_val ((((F_CPU / F_SCL) / Prescaler) - 16 ) / 2) | |||
void i2c_init(void) | |||
{ | |||
TWBR = (uint8_t)TWBR_val; | |||
} | |||
uint8_t i2c_start(uint8_t address) | |||
{ | |||
// reset TWI control register | |||
TWCR = 0; | |||
// transmit START condition | |||
TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); | |||
// wait for end of transmission | |||
while( !(TWCR & (1<<TWINT)) ); | |||
// check if the start condition was successfully transmitted | |||
if((TWSR & 0xF8) != TW_START){ return 1; } | |||
// load slave address into data register | |||
TWDR = address; | |||
// start transmission of address | |||
TWCR = (1<<TWINT) | (1<<TWEN); | |||
// wait for end of transmission | |||
while( !(TWCR & (1<<TWINT)) ); | |||
// check if the device has acknowledged the READ / WRITE mode | |||
uint8_t twst = TW_STATUS & 0xF8; | |||
if ( (twst != TW_MT_SLA_ACK) && (twst != TW_MR_SLA_ACK) ) return 1; | |||
return 0; | |||
} | |||
uint8_t i2c_write(uint8_t data) | |||
{ | |||
// load data into data register | |||
TWDR = data; | |||
// start transmission of data | |||
TWCR = (1<<TWINT) | (1<<TWEN); | |||
// wait for end of transmission | |||
while( !(TWCR & (1<<TWINT)) ); | |||
if( (TWSR & 0xF8) != TW_MT_DATA_ACK ){ return 1; } | |||
return 0; | |||
} | |||
uint8_t i2c_read_ack(void) | |||
{ | |||
// start TWI module and acknowledge data after reception | |||
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA); | |||
// wait for end of transmission | |||
while( !(TWCR & (1<<TWINT)) ); | |||
// return received data from TWDR | |||
return TWDR; | |||
} | |||
uint8_t i2c_read_nack(void) | |||
{ | |||
// start receiving without acknowledging reception | |||
TWCR = (1<<TWINT) | (1<<TWEN); | |||
// wait for end of transmission | |||
while( !(TWCR & (1<<TWINT)) ); | |||
// return received data from TWDR | |||
return TWDR; | |||
} | |||
uint8_t i2c_transmit(uint8_t address, uint8_t* data, uint16_t length) | |||
{ | |||
if (i2c_start(address | I2C_WRITE)) return 1; | |||
for (uint16_t i = 0; i < length; i++) | |||
{ | |||
if (i2c_write(data[i])) return 1; | |||
} | |||
i2c_stop(); | |||
return 0; | |||
} | |||
uint8_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length) | |||
{ | |||
if (i2c_start(address | I2C_READ)) return 1; | |||
for (uint16_t i = 0; i < (length-1); i++) | |||
{ | |||
data[i] = i2c_read_ack(); | |||
} | |||
data[(length-1)] = i2c_read_nack(); | |||
i2c_stop(); | |||
return 0; | |||
} | |||
uint8_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length) | |||
{ | |||
if (i2c_start(devaddr | 0x00)) return 1; | |||
i2c_write(regaddr); | |||
for (uint16_t i = 0; i < length; i++) | |||
{ | |||
if (i2c_write(data[i])) return 1; | |||
} | |||
i2c_stop(); | |||
return 0; | |||
} | |||
uint8_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length) | |||
{ | |||
if (i2c_start(devaddr)) return 1; | |||
i2c_write(regaddr); | |||
if (i2c_start(devaddr | 0x01)) return 1; | |||
for (uint16_t i = 0; i < (length-1); i++) | |||
{ | |||
data[i] = i2c_read_ack(); | |||
} | |||
data[(length-1)] = i2c_read_nack(); | |||
i2c_stop(); | |||
return 0; | |||
} | |||
void i2c_stop(void) | |||
{ | |||
// transmit STOP condition | |||
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO); | |||
} |
@ -0,0 +1,22 @@ | |||
/* Library made by: g4lvanix | |||
* Github repository: https://github.com/g4lvanix/I2C-master-lib | |||
*/ | |||
#ifndef I2C_MASTER_H | |||
#define I2C_MASTER_H | |||
#define I2C_READ 0x01 | |||
#define I2C_WRITE 0x00 | |||
void i2c_init(void); | |||
uint8_t i2c_start(uint8_t address); | |||
uint8_t i2c_write(uint8_t data); | |||
uint8_t i2c_read_ack(void); | |||
uint8_t i2c_read_nack(void); | |||
uint8_t i2c_transmit(uint8_t address, uint8_t* data, uint16_t length); | |||
uint8_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length); | |||
uint8_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length); | |||
uint8_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length); | |||
void i2c_stop(void); | |||
#endif // I2C_MASTER_H |
@ -1,28 +1,22 @@ | |||
#include "6ball.h" | |||
#include QMK_KEYBOARD_H | |||
#define _MAIN 0 | |||
#define _FN 1 | |||
#define KC_ KC_TRNS | |||
#define KC_CAPW LGUI(LSFT(KC_3)) // Capture whole screen | |||
#define KC_CPYW LGUI(LSFT(LCTL(KC_3))) // Copy whole screen | |||
#define KC_CAPP LGUI(LSFT(KC_4)) // Capture portion of screen | |||
#define KC_CPYP LGUI(LSFT(LCTL(KC_4))) // Copy portion of screen | |||
#define KC_X0 LT(_FN, KC_ESC) | |||
#define KC_RTOG RGB_TOG | |||
#define KC_RMOD RGB_MOD | |||
#define KC_RHUI RGB_HUI | |||
#define KC_RHUD RGB_HUD | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[_MAIN] = KC_KEYMAP( | |||
F , X0 ,LCTL, | |||
R , D , M | |||
[_MAIN] = LAYOUT( | |||
KC_F, KC_X0, KC_LCTL, | |||
KC_R, KC_D, KC_M | |||
), | |||
[_FN] = KC_KEYMAP( | |||
F , ,RHUI, | |||
RTOG,RMOD,RHUD | |||
[_FN] = LAYOUT( | |||
KC_F, KC_TRNS, RGB_HUI, | |||
RGB_TOG, RGB_MOD, RGB_HUD | |||
) | |||
}; |
@ -0,0 +1,12 @@ | |||
{ | |||
"keyboard_name": "9key", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"width": 3, | |||
"height": 3, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}] | |||
} | |||
} | |||
} |
@ -0,0 +1,33 @@ | |||
{ | |||
"keyboard_name": "ACR60", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"width": 15, | |||
"height": 5, | |||
"layouts": { | |||
"LAYOUT": { | |||
"key_count": 67, | |||
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":1.25}, {"label":"K301", "x":1.25, "y":3}, {"label":"K302", "x":2.25, "y":3}, {"label":"K303", "x":3.25, "y":3}, {"label":"K304", "x":4.25, "y":3}, {"label":"K305", "x":5.25, "y":3}, {"label":"K306", "x":6.25, "y":3}, {"label":"K307", "x":7.25, "y":3}, {"label":"K308", "x":8.25, "y":3}, {"label":"K309", "x":9.25, "y":3}, {"label":"K310", "x":10.25, "y":3}, {"label":"K311", "x":11.25, "y":3}, {"label":"K313", "x":12.25, "y":3, "w":1.75}, {"label":"K314", "x":14, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4, "w":1.25}, {"label":"K404", "x":3.75, "y":4, "w":2.25}, {"label":"K406", "x":6, "y":4, "w":1.25}, {"label":"K408", "x":7.25, "y":4, "w":2.75}, {"label":"K410", "x":10, "y":4}, {"label":"K411", "x":11, "y":4}, {"label":"K412", "x":12, "y":4}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}] | |||
}, | |||
"LAYOUT_hhkb": { | |||
"key_count": 61, | |||
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":1.25}, {"label":"K301", "x":1.25, "y":3}, {"label":"K302", "x":2.25, "y":3}, {"label":"K303", "x":3.25, "y":3}, {"label":"K304", "x":4.25, "y":3}, {"label":"K305", "x":5.25, "y":3}, {"label":"K306", "x":6.25, "y":3}, {"label":"K307", "x":7.25, "y":3}, {"label":"K308", "x":8.25, "y":3}, {"label":"K309", "x":9.25, "y":3}, {"label":"K310", "x":10.25, "y":3}, {"label":"K311", "x":11.25, "y":3}, {"label":"K313", "x":12.25, "y":3, "w":1.75}, {"label":"K314", "x":14, "y":3}, {"label":"K401", "x":1.5, "y":4}, {"label":"K403", "x":2.5, "y":4, "w":1.5}, {"label":"K406", "x":4, "y":4, "w":7}, {"label":"K411", "x":11, "y":4, "w":1.5}, {"label":"K413", "x":12.5, "y":4}] | |||
}, | |||
"LAYOUT_true_hhkb": { | |||
"key_count": 61, | |||
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":1.25}, {"label":"K301", "x":1.25, "y":3}, {"label":"K302", "x":2.25, "y":3}, {"label":"K303", "x":3.25, "y":3}, {"label":"K304", "x":4.25, "y":3}, {"label":"K305", "x":5.25, "y":3}, {"label":"K306", "x":6.25, "y":3}, {"label":"K307", "x":7.25, "y":3}, {"label":"K308", "x":8.25, "y":3}, {"label":"K309", "x":9.25, "y":3}, {"label":"K310", "x":10.25, "y":3}, {"label":"K311", "x":11.25, "y":3}, {"label":"K313", "x":12.25, "y":3, "w":1.75}, {"label":"K314", "x":14, "y":3}, {"label":"K401", "x":1.5, "y":4}, {"label":"K403", "x":2.5, "y":4, "w":1.5}, {"label":"K406", "x":4, "y":4, "w":6}, {"label":"K410", "x":10, "y":4, "w":1.5}, {"label":"K411", "x":11.5, "y":4}] | |||
}, | |||
"LAYOUT_2_shifts": { | |||
"key_count": 68, | |||
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3}, {"label":"K301", "x":1, "y":3}, {"label":"K302", "x":2, "y":3}, {"label":"K303", "x":3, "y":3}, {"label":"K304", "x":4, "y":3}, {"label":"K305", "x":5, "y":3}, {"label":"K306", "x":6, "y":3}, {"label":"K307", "x":7, "y":3}, {"label":"K308", "x":8, "y":3}, {"label":"K309", "x":9, "y":3}, {"label":"K310", "x":10, "y":3}, {"label":"K311", "x":11, "y":3}, {"label":"K312", "x":12, "y":3}, {"label":"K313", "x":13, "y":3}, {"label":"K314", "x":14, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4, "w":1.25}, {"label":"K404", "x":3.75, "y":4, "w":2.25}, {"label":"K406", "x":6, "y":4, "w":1.25}, {"label":"K408", "x":7.25, "y":4, "w":2.75}, {"label":"K410", "x":10, "y":4}, {"label":"K411", "x":11, "y":4}, {"label":"K412", "x":12, "y":4}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}] | |||
}, | |||
"LAYOUT_directional": { | |||
"key_count": 67, | |||
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":1.25}, {"label":"K301", "x":1.25, "y":3}, {"label":"K302", "x":2.25, "y":3}, {"label":"K303", "x":3.25, "y":3}, {"label":"K304", "x":4.25, "y":3}, {"label":"K305", "x":5.25, "y":3}, {"label":"K306", "x":6.25, "y":3}, {"label":"K307", "x":7.25, "y":3}, {"label":"K308", "x":8.25, "y":3}, {"label":"K309", "x":9.25, "y":3}, {"label":"K310", "x":10.25, "y":3}, {"label":"K312", "x":11.25, "y":3, "w":1.75}, {"label":"K313", "x":13, "y":3}, {"label":"K314", "x":14, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4, "w":1.25}, {"label":"K404", "x":3.75, "y":4, "w":2.25}, {"label":"K406", "x":6, "y":4, "w":1.25}, {"label":"K408", "x":7.25, "y":4, "w":2.75}, {"label":"K410", "x":10, "y":4}, {"label":"K411", "x":11, "y":4}, {"label":"K412", "x":12, "y":4}, {"label":"K413", "x":13, "y":4}, {"label":"K414", "x":14, "y":4}] | |||
}, | |||
"LAYOUT_mitchsplit": { | |||
"key_count": 64, | |||
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K014", "x":13, "y":0, "w":2}, {"label":"K100", "x":0, "y":1, "w":1.5}, {"label":"K102", "x":1.5, "y":1}, {"label":"K103", "x":2.5, "y":1}, {"label":"K104", "x":3.5, "y":1}, {"label":"K105", "x":4.5, "y":1}, {"label":"K106", "x":5.5, "y":1}, {"label":"K107", "x":6.5, "y":1}, {"label":"K108", "x":7.5, "y":1}, {"label":"K109", "x":8.5, "y":1}, {"label":"K110", "x":9.5, "y":1}, {"label":"K111", "x":10.5, "y":1}, {"label":"K112", "x":11.5, "y":1}, {"label":"K113", "x":12.5, "y":1}, {"label":"K114", "x":13.5, "y":1, "w":1.5}, {"label":"K200", "x":0, "y":2, "w":1.75}, {"label":"K202", "x":1.75, "y":2}, {"label":"K203", "x":2.75, "y":2}, {"label":"K204", "x":3.75, "y":2}, {"label":"K205", "x":4.75, "y":2}, {"label":"K206", "x":5.75, "y":2}, {"label":"K207", "x":6.75, "y":2}, {"label":"K208", "x":7.75, "y":2}, {"label":"K209", "x":8.75, "y":2}, {"label":"K210", "x":9.75, "y":2}, {"label":"K211", "x":10.75, "y":2}, {"label":"K212", "x":11.75, "y":2}, {"label":"K213", "x":12.75, "y":2, "w":2.25}, {"label":"K300", "x":0, "y":3, "w":2.25}, {"label":"K302", "x":2.25, "y":3}, {"label":"K303", "x":3.25, "y":3}, {"label":"K304", "x":4.25, "y":3}, {"label":"K305", "x":5.25, "y":3}, {"label":"K306", "x":6.25, "y":3}, {"label":"K307", "x":7.25, "y":3}, {"label":"K308", "x":8.25, "y":3}, {"label":"K309", "x":9.25, "y":3}, {"label":"K310", "x":10.25, "y":3}, {"label":"K311", "x":11.25, "y":3}, {"label":"K313", "x":12.25, "y":3, "w":1.75}, {"label":"K314", "x":14, "y":3}, {"label":"K400", "x":0, "y":4, "w":1.25}, {"label":"K401", "x":1.25, "y":4, "w":1.25}, {"label":"K403", "x":2.5, "y":4, "w":1.25}, {"label":"K404", "x":3.75, "y":4, "w":2.75}, {"label":"K406", "x":6.5, "y":4, "w":1.25}, {"label":"K408", "x":7.75, "y":4, "w":2.25}, {"label":"K410", "x":10, "y":4, "w":1.25}, {"label":"K411", "x":11.25, "y":4, "w":1.25}, {"label":"K413", "x":12.5, "y":4, "w":1.25}, {"label":"K414", "x":13.75, "y":4, "w":1.25}] | |||
} | |||
} | |||
} |
@ -1,12 +1,13 @@ | |||
#include "alps64.h" | |||
#include QMK_KEYBOARD_H | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
/* 0: qwerty */ | |||
LAYOUT_kc( \ | |||
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, NUHS, BSPC, \ | |||
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \ | |||
CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT,ENT, \ | |||
LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH,RSFT,ESC, \ | |||
LCTL,LGUI,LALT, SPC, APP, RALT,RGUI,RCTL), | |||
/* 0: qwerty */ | |||
LAYOUT_all( \ | |||
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_NUHS, 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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_ESC, \ | |||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL | |||
), | |||
}; | |||
const uint16_t PROGMEM fn_actions[] = {}; |
@ -0,0 +1,12 @@ | |||
{ | |||
"keyboard_name": "ALU84", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"width": 16, | |||
"height": 6, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2, "y":0}, {"label":"K003", "x":3, "y":0}, {"label":"K004", "x":4, "y":0}, {"label":"K005", "x":5, "y":0}, {"label":"K006", "x":6, "y":0}, {"label":"K007", "x":7, "y":0}, {"label":"K008", "x":8, "y":0}, {"label":"K009", "x":9, "y":0}, {"label":"K010", "x":10, "y":0}, {"label":"K011", "x":11, "y":0}, {"label":"K012", "x":12, "y":0}, {"label":"K013", "x":13, "y":0}, {"label":"K014", "x":14, "y":0}, {"label":"K015", "x":15, "y":0}, {"label":"K100", "x":0, "y":1}, {"label":"K101", "x":1, "y":1}, {"label":"K102", "x":2, "y":1}, {"label":"K103", "x":3, "y":1}, {"label":"K104", "x":4, "y":1}, {"label":"K105", "x":5, "y":1}, {"label":"K106", "x":6, "y":1}, {"label":"K107", "x":7, "y":1}, {"label":"K108", "x":8, "y":1}, {"label":"K109", "x":9, "y":1}, {"label":"K110", "x":10, "y":1}, {"label":"K111", "x":11, "y":1}, {"label":"K112", "x":12, "y":1}, {"label":"K114", "x":13, "y":1, "w":2}, {"label":"K115", "x":15, "y":1}, {"label":"K200", "x":0, "y":2, "w":1.5}, {"label":"K202", "x":1.5, "y":2}, {"label":"K203", "x":2.5, "y":2}, {"label":"K204", "x":3.5, "y":2}, {"label":"K205", "x":4.5, "y":2}, {"label":"K206", "x":5.5, "y":2}, {"label":"K207", "x":6.5, "y":2}, {"label":"K208", "x":7.5, "y":2}, {"label":"K209", "x":8.5, "y":2}, {"label":"K210", "x":9.5, "y":2}, {"label":"K211", "x":10.5, "y":2}, {"label":"K212", "x":11.5, "y":2}, {"label":"K213", "x":12.5, "y":2}, {"label":"K214", "x":13.5, "y":2, "w":1.5}, {"label":"K215", "x":15, "y":2}, {"label":"K300", "x":0, "y":3, "w":1.75}, {"label":"K302", "x":1.75, "y":3}, {"label":"K303", "x":2.75, "y":3}, {"label":"K304", "x":3.75, "y":3}, {"label":"K305", "x":4.75, "y":3}, {"label":"K306", "x":5.75, "y":3}, {"label":"K307", "x":6.75, "y":3}, {"label":"K308", "x":7.75, "y":3}, {"label":"K309", "x":8.75, "y":3}, {"label":"K310", "x":9.75, "y":3}, {"label":"K311", "x":10.75, "y":3}, {"label":"K312", "x":11.75, "y":3}, {"label":"K313", "x":12.75, "y":3, "w":2.25}, {"label":"K315", "x":15, "y":3}, {"label":"K400", "x":0, "y":4, "w":2.25}, {"label":"K402", "x":2.25, "y":4}, {"label":"K403", "x":3.25, "y":4}, {"label":"K404", "x":4.25, "y":4}, {"label":"K405", "x":5.25, "y":4}, {"label":"K406", "x":6.25, "y":4}, {"label":"K407", "x":7.25, "y":4}, {"label":"K408", "x":8.25, "y":4}, {"label":"K409", "x":9.25, "y":4}, {"label":"K410", "x":10.25, "y":4}, {"label":"K411", "x":11.25, "y":4}, {"label":"K413", "x":12.25, "y":4, "w":1.75}, {"label":"K414", "x":14, "y":4}, {"label":"K415", "x":15, "y":4}, {"label":"K500", "x":0, "y":5, "w":1.25}, {"label":"K501", "x":1.25, "y":5, "w":1.25}, {"label":"K503", "x":2.5, "y":5, "w":1.25}, {"label":"K506", "x":3.75, "y":5, "w":6.25}, {"label":"K510", "x":10, "y":5}, {"label":"K511", "x":11, "y":5}, {"label":"K512", "x":12, "y":5}, {"label":"K513", "x":13, "y":5}, {"label":"K514", "x":14, "y":5}, {"label":"K515", "x":15, "y":5}] | |||
} | |||
} | |||
} |
@ -0,0 +1,27 @@ | |||
{ | |||
"keyboard_name": "AMJ60", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"width": 15, | |||
"height": 5, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0}, {"label":"k49", "x":14, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3c", "x":12.25, "y":3, "w":1.75}, {"label":"k3d", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] | |||
}, | |||
"LAYOUT_60_ansi": { | |||
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0, "w":2}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2d", "x":12.75, "y":2, "w":2.25}, {"label":"k30", "x":0, "y":3, "w":2.25}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":2.75}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] | |||
}, | |||
"LAYOUT_hhkb": { | |||
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0}, {"label":"k49", "x":14, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2d", "x":12.75, "y":2, "w":2.25}, {"label":"k30", "x":0, "y":3, "w":2.25}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] | |||
}, | |||
"LAYOUT_iso": { | |||
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0, "w":2}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":2.75}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] | |||
}, | |||
"LAYOUT_iso_splitrshift": { | |||
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0, "w":2}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2c", "x":12.75, "y":2}, {"label":"k2d", "x":13.75, "y":2, "w":1.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] | |||
}, | |||
"LAYOUT_max": { | |||
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4, "y":0}, {"label":"k05", "x":5, "y":0}, {"label":"k06", "x":6, "y":0}, {"label":"k07", "x":7, "y":0}, {"label":"k08", "x":8, "y":0}, {"label":"k09", "x":9, "y":0}, {"label":"k0a", "x":10, "y":0}, {"label":"k0b", "x":11, "y":0}, {"label":"k0c", "x":12, "y":0}, {"label":"k0d", "x":13, "y":0}, {"label":"k49", "x":14, "y":0}, {"label":"k10", "x":0, "y":1, "w":1.5}, {"label":"k11", "x":1.5, "y":1}, {"label":"k12", "x":2.5, "y":1}, {"label":"k13", "x":3.5, "y":1}, {"label":"k14", "x":4.5, "y":1}, {"label":"k15", "x":5.5, "y":1}, {"label":"k16", "x":6.5, "y":1}, {"label":"k17", "x":7.5, "y":1}, {"label":"k18", "x":8.5, "y":1}, {"label":"k19", "x":9.5, "y":1}, {"label":"k1a", "x":10.5, "y":1}, {"label":"k1b", "x":11.5, "y":1}, {"label":"k1c", "x":12.5, "y":1}, {"label":"k1d", "x":13.5, "y":1, "w":1.5}, {"label":"k20", "x":0, "y":2, "w":1.75}, {"label":"k21", "x":1.75, "y":2}, {"label":"k22", "x":2.75, "y":2}, {"label":"k23", "x":3.75, "y":2}, {"label":"k24", "x":4.75, "y":2}, {"label":"k25", "x":5.75, "y":2}, {"label":"k26", "x":6.75, "y":2}, {"label":"k27", "x":7.75, "y":2}, {"label":"k28", "x":8.75, "y":2}, {"label":"k29", "x":9.75, "y":2}, {"label":"k2a", "x":10.75, "y":2}, {"label":"k2b", "x":11.75, "y":2}, {"label":"k2d", "x":12.75, "y":2, "w":2.25}, {"label":"k30", "x":0, "y":3, "w":1.25}, {"label":"k31", "x":1.25, "y":3}, {"label":"k32", "x":2.25, "y":3}, {"label":"k33", "x":3.25, "y":3}, {"label":"k34", "x":4.25, "y":3}, {"label":"k35", "x":5.25, "y":3}, {"label":"k36", "x":6.25, "y":3}, {"label":"k37", "x":7.25, "y":3}, {"label":"k38", "x":8.25, "y":3}, {"label":"k39", "x":9.25, "y":3}, {"label":"k3a", "x":10.25, "y":3}, {"label":"k3b", "x":11.25, "y":3}, {"label":"k3d", "x":12.25, "y":3, "w":1.75}, {"label":"k3c", "x":14, "y":3}, {"label":"k40", "x":0, "y":4, "w":1.25}, {"label":"k41", "x":1.25, "y":4, "w":1.25}, {"label":"k42", "x":2.5, "y":4, "w":1.25}, {"label":"k45", "x":3.75, "y":4, "w":6.25}, {"label":"k4a", "x":10, "y":4, "w":1.25}, {"label":"k4b", "x":11.25, "y":4, "w":1.25}, {"label":"k4c", "x":12.5, "y":4, "w":1.25}, {"label":"k4d", "x":13.75, "y":4, "w":1.25}] | |||
} | |||
} | |||
} |
@ -1,13 +1,17 @@ | |||
{ | |||
"keyboard_name": "AMJ Pad", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"bootloader": "", | |||
"width": 4, | |||
"height": 6, | |||
"keyboard_name": "AMJ Pad", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"width": 4, | |||
"height": 6, | |||
"layouts": { | |||
"LAYOUT": { | |||
"key_count": 21, | |||
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2, "h":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":0, "y":4}, {"x":1, "y":4}, {"x":2, "y":4}, {"x":3, "y":4, "h":2}, {"x":0, "y":5, "w":2}, {"x":2, "y":5}] | |||
}, | |||
"LAYOUT_all": { | |||
"key_count": 24, | |||
"layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k13", "x":3, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}, {"label":"k23", "x":3, "y":2}, {"label":"k30", "x":0, "y":3}, {"label":"k31", "x":1, "y":3}, {"label":"k32", "x":2, "y":3}, {"label":"k33", "x":3, "y":3}, {"label":"k40", "x":0, "y":4}, {"label":"k41", "x":1, "y":4}, {"label":"k42", "x":2, "y":4}, {"label":"k43", "x":3, "y":4}, {"label":"k50", "x":0, "y":5}, {"label":"k51", "x":1, "y":5}, {"label":"k52", "x":2, "y":5}, {"label":"k53", "x":3, "y":5}] | |||
} | |||
} | |||
} |
@ -1,12 +1,11 @@ | |||
{ | |||
"keyboard_name": "Atom47", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"bootloader": "", | |||
"url": "https://atomkb.eu/atom47", | |||
"maintainer": "Maarten Dekkers", | |||
"width": 13, | |||
"height": 4, | |||
"layouts": { | |||
"LAYOUT_ansi": { | |||
"LAYOUT": { | |||
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}] | |||
} | |||
} | |||
@ -1,12 +1,11 @@ | |||
{ | |||
"keyboard_name": "Atom47", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"bootloader": "", | |||
"url": "https://atomkb.eu/atom47", | |||
"maintainer": "Maarten Dekkers", | |||
"width": 13, | |||
"height": 4, | |||
"layouts": { | |||
"LAYOUT_ansi": { | |||
"LAYOUT": { | |||
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":0, "y":1, "w":1.25}, {"x":1.25, "y":1}, {"x":2.25, "y":1}, {"x":3.25, "y":1}, {"x":4.25, "y":1}, {"x":5.25, "y":1}, {"x":6.25, "y":1}, {"x":7.25, "y":1}, {"x":8.25, "y":1}, {"x":9.25, "y":1}, {"x":10.25, "y":1}, {"x":11.25, "y":1, "w":1.75}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2, "w":1.25}, {"x":12, "y":2}, {"x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3, "w":1.75}, {"x":6, "y":3, "w":2.75}, {"x":8.75, "y":3}, {"x":9.75, "y":3}, {"x":10.75, "y":3}, {"x":11.75, "y":3, "w":1.25}] | |||
} | |||
} |
@ -1,4 +1,4 @@ | |||
#include "rev1.h" | |||
#include "rev3.h" | |||
#include "led.h" | |||
void matrix_init_kb(void) { |
@ -1,12 +1,12 @@ | |||
#ifndef ATOM47_REV1_H | |||
#define ATOM47_REV1_H | |||
#ifndef ATOM47_REV3_H | |||
#define ATOM47_REV3_H | |||
#include "quantum.h" | |||
// readability | |||
#define XXX KC_NO | |||
#define LAYOUT_ansi( \ | |||
#define LAYOUT( \ | |||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, \ | |||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1c, \ | |||
k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, \ |
@ -1,13 +1,12 @@ | |||
{ | |||
"keyboard_name": "Atreus", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"bootloader": "", | |||
"width": 12.5, | |||
"height": 4.6, | |||
"keyboard_name": "Atreus", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"width": 13, | |||
"height": 4.7, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":7.5, "y":2}, {"x":8.5, "y":2}, {"x":9.5, "y":2}, {"x":10.5, "y":2}, {"x":11.5, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}, {"x":4, "y":3}, {"x":5, "y":3, "h":1.5}, {"x":6.5, "y":3, "h":1.5}, {"x":7.5, "y":3}, {"x":8.5, "y":3}, {"x":9.5, "y":3}, {"x":10.5, "y":3}, {"x":11.5, "y":3}] | |||
"layout": [{"x":0, "y":0.6}, {"x":1, "y":0.35}, {"x":2, "y":0}, {"x":3, "y":0.35}, {"x":4, "y":0.7}, {"x":8, "y":0.7}, {"x":9, "y":0.35}, {"x":10, "y":0}, {"x":11, "y":0.35}, {"x":12, "y":0.6}, {"x":0, "y":1.6}, {"x":1, "y":1.35}, {"x":2, "y":1}, {"x":3, "y":1.35}, {"x":4, "y":1.7}, {"x":8, "y":1.7}, {"x":9, "y":1.35}, {"x":10, "y":1}, {"x":11, "y":1.35}, {"x":12, "y":1.6}, {"x":0, "y":2.6}, {"x":1, "y":2.35}, {"x":2, "y":2}, {"x":3, "y":2.35}, {"x":4, "y":2.7}, {"x":8, "y":2.7}, {"x":9, "y":2.35}, {"x":10, "y":2}, {"x":11, "y":2.35}, {"x":12, "y":2.6}, {"x":0, "y":3.6}, {"x":1, "y":3.35}, {"x":2, "y":3}, {"x":3, "y":3.35}, {"x":4, "y":3.7}, {"x":5, "y":2.95, "h":1.5}, {"x":7, "y":2.95, "h":1.5}, {"x":8, "y":3.7}, {"x":9, "y":3.35}, {"x":10, "y":3}, {"x":11, "y":3.35}, {"x":12, "y":3.6}] | |||
} | |||
} | |||
} | |||
} |
@ -0,0 +1,131 @@ | |||
# Xyverz's Atreus62 Keymap | |||
## About this keymap: | |||
This is the Atreus62 keyboard layout by Xyverz aka u/Zrevyx on r/mk. I've blatantly stolen what works for me from the Planck and Preonic layouts and modified this file to fit me. Initial credet goes to u/profet23 for the doing all the work and adding this keyboard to QMK in the first place. | |||
I've got Dvorak, Qwerty, and Colemak layouts at this time, with the possibility of adding more in the future. | |||
The bottom row is fairly Kinesis-ish since the Contour and Advantage keyboards have been my daily drivers for the last 17 years. I hope You can get some enjoyment out of this layout should you chose it! | |||
### CHANGELOG: | |||
#### 0.1 | |||
* Initial commit. Based off of Profet's default keymap. | |||
#### 0.2 | |||
* Converted to a more Planck/Preonic keymap style file with persistent layers enabled. Renamed layers to reflect OLKB maps. | |||
* Added a TODO list. | |||
#### 0.3 | |||
* Moved location of media & volume keys. Added Print Screen, Scroll Lock and Pause keys. | |||
* Added a WOW gaming layer that changes the location of Ctrl & Alt to the thumb keys. Right thumb is Ctrl when held, Enter when tapped. | |||
* Added readme. | |||
#### 0.4 | |||
* Moved location of Escape key to Caps Lock position. Moved Caps Lock to same position on Raise/Lower Layers. | |||
* Put Tilde/Grave in the upper-left corner | |||
* Added code to turn off the red LEDs on the Pro Micro after flashing. They were annoying me. | |||
### TODO: | |||
* Make the layout more efficient, even if it means changing the RAISE | |||
and LOWER functionality. | |||
* Add legends in comments for each layer. Maybe. | |||
* Enjoy this revision; figure out new things later. | |||
### Layer 0: Dvorak layer | |||
,-----------------------------------------. ,-----------------------------------------. | |||
| Grv | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | \ | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| Tab | ' | , | . | P | Y | | F | G | C | R | L | / | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| Esc | A | O | E | U | I | | D | H | T | N | S | - | | |||
|------+------+------+------+------+------|------.,------|------+------+------+------+------+------| | |||
| Shft | ; | Q | J | K | X | Gui ||Enter | B | M | W | V | Z | Shft | | |||
|------+------+------+------+------+------| || |------+------+------+------+------+------| | |||
| Ctrl | Alt | Left | Rght | LOWER| BkSp |------'`------| Spc | RAISE| Up | Down | Gui | Ctrl | | |||
`-----------------------------------------' `-----------------------------------------' | |||
### Layer 1: QWERTY layer | |||
,-----------------------------------------. ,-----------------------------------------. | |||
| Grv | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| Tab | Q | W | E | R | T | | Y | U | I | O | P | Del | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| Esc | A | S | D | F | G | | D | H | T | N | S | ' | | |||
|------+------+------+------+------+------|------.,------|------+------+------+------+------+------| | |||
| Shft | Z | X | C | V | B | Gui ||Enter | N | M | , | . | / | Shft | | |||
|------+------+------+------+------+------| || |------+------+------+------+------+------| | |||
| Ctrl | Alt | Left | Rght | LOWER| BkSp |------'`------| Spc | RAISE| Up | Down | Gui | Ctrl | | |||
`-----------------------------------------' `-----------------------------------------' | |||
### Keymap 2: Colemak layer | |||
,-----------------------------------------. ,-----------------------------------------. | |||
| Grv | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | - | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| Tab | Q | W | F | P | G | | J | U | U | Y | ; | Del | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| Esc | A | R | S | T | D | | H | N | E | I | O | ' | | |||
|------+------+------+------+------+------|------.,------|------+------+------+------+------+------| | |||
| Shft | Z | X | C | V | B | Gui ||Enter | K | M | , | . | / | Shft | | |||
|------+------+------+------+------+------| || |------+------+------+------+------+------| | |||
| Ctrl | Alt | Left | Rght | LOWER| BkSp |------'`------| Spc | RAISE| Up | Down | Gui | Ctrl | | |||
`-----------------------------------------' `-----------------------------------------' | |||
### Keymap 3: WoW gaming layer | |||
,-----------------------------------------. ,-----------------------------------------. | |||
| Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | \ | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| Tab | ' | , | . | P | Y | | F | G | C | R | L | / | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| Caps | A | O | E | U | I | | D | H | T | N | S | - | | |||
|------+------+------+------+------+------|------.,------|------+------+------+------+------+------| | |||
| Shft | ; | Q | J | K | X | Alt ||Ctrl/ | B | M | W | V | Z | Shft | | |||
|------+------+------+------+------+------| ||Enter |------+------+------+------+------+------| | |||
| Ctrl | Alt | Left | Rght | LOWER| BkSp |------'`------| Spc | RAISE| Up | Down | Gui | Ctrl | | |||
`-----------------------------------------' `-----------------------------------------' | |||
### Keymap 4: LOWER layer | |||
,-----------------------------------------. ,-----------------------------------------. | |||
| F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| ~ | ` | | | | | | | | | | | | | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| Caps | | Mute | Vol- | Vol+ | | | | | + | { | } | | | |||
|------+------+------+------+------+------|------.,------|------+------+------+------+------+------| | |||
| | | Prev | Play | Next | | || | | | PScr | ScLk | Pause| | | |||
|------+------+------+------+------+------| || |------+------+------+------+------+------| | |||
| | | Home | End | | Del |------'`------| Ins | | PgUp | PgDn | | | | |||
`-----------------------------------------' `-----------------------------------------' | |||
### Keymap 5: RAISE layer | |||
,-----------------------------------------. ,-----------------------------------------. | |||
| F11 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F12 | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| ~ | ` | | | | | | | | | | | \ | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| Caps | | Mute | Vol- | Vol+ | | | | | = | [ | ] | | | |||
|------+------+------+------+------+------|------.,------|------+------+------+------+------+------| | |||
| | | Prev | Play | Next | | || | | | PScr | ScLk | Pause| | | |||
|------+------+------+------+------+------| || |------+------+------+------+------+------| | |||
| | | Home | End | | Del |------'`------| Ins | | PgUp | PgDn | | | | |||
`-----------------------------------------' `-----------------------------------------' | |||
### Keymap 6: ADJUST layer | |||
,-----------------------------------------. ,-----------------------------------------. | |||
| | | | | | | | | | | | | | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| |RESET | | | | | | | | | | | | | |||
|------+------+------+------+------+------| |------+------+------+------+------+------| | |||
| | | | | | | | |Qwerty|Colemk|Dvorak| | WoW | | |||
|------+------+------+------+------+------|------.,------|------+------+------+------+------+------| | |||
| | | | | | | || | | | | | | | | |||
|------+------+------+------+------+------| || |------+------+------+------+------+------| | |||
| | | | | | |------'`------| | | | | | | | |||
`-----------------------------------------' `-----------------------------------------' |
@ -0,0 +1,23 @@ | |||
#ifndef CONFIG_USER_H | |||
#define CONFIG_USER_H | |||
#include QMK_KEYBOARD_CONFIG_H | |||
#define PREVENT_STUCK_MODIFIERS | |||
#define SPACE_COUNT 3 | |||
#define TEMPLATE( \ | |||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \ | |||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ | |||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \ | |||
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ | |||
K40, K41, K42, K44, K45, K46, K48, K49, K4B, K4C \ | |||
) { \ | |||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ | |||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ | |||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ | |||
{ K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ | |||
{ K40, K41, K42, KC_NO, K44, K45, K46, KC_NO, K48, K49, KC_NO, K4B, K4C, KC_NO }\ | |||
} | |||
#endif |
@ -0,0 +1 @@ | |||
// This space intentionally left blank |
@ -0,0 +1,13 @@ | |||
{ | |||
"keyboard_name": "Bantam-44", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"width": 12, | |||
"height": 4, | |||
"layouts": { | |||
"LAYOUT": { | |||
"key_count": 44, | |||
"layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":3, "y":0}, {"label":"K04", "x":4, "y":0}, {"label":"K05", "x":5, "y":0}, {"label":"K06", "x":6, "y":0}, {"label":"K07", "x":7, "y":0}, {"label":"K08", "x":8, "y":0}, {"label":"K09", "x":9, "y":0}, {"label":"K0A", "x":10, "y":0}, {"label":"K0B", "x":11, "y":0}, {"label":"K10", "x":0, "y":1, "w":1.5}, {"label":"K11", "x":1.5, "y":1}, {"label":"K12", "x":2.5, "y":1}, {"label":"K13", "x":3.5, "y":1}, {"label":"K14", "x":4.5, "y":1}, {"label":"K15", "x":5.5, "y":1}, {"label":"K16", "x":6.5, "y":1}, {"label":"K17", "x":7.5, "y":1}, {"label":"K18", "x":8.5, "y":1}, {"label":"K19", "x":9.5, "y":1}, {"label":"K1A", "x":10.5, "y":1, "w":1.5}, {"label":"K20", "x":0, "y":2}, {"label":"K21", "x":1, "y":2}, {"label":"K22", "x":2, "y":2}, {"label":"K23", "x":3, "y":2}, {"label":"K24", "x":4, "y":2}, {"label":"K25", "x":5, "y":2}, {"label":"K26", "x":6, "y":2}, {"label":"K27", "x":7, "y":2}, {"label":"K28", "x":8, "y":2}, {"label":"K29", "x":9, "y":2}, {"label":"K2A", "x":10, "y":2}, {"label":"K2B", "x":11, "y":2}, {"label":"K30", "x":0, "y":3, "w":1.25}, {"label":"K31", "x":1.25, "y":3, "w":1.25}, {"label":"K32", "x":2.5, "y":3, "w":1.25}, {"label":"K33", "x":3.75, "y":3, "w":1.25}, {"label":"K34", "x":5, "y":3, "w":2.75}, {"label":"K35", "x":7.75, "y":3, "w":1.25}, {"label":"K36", "x":9, "y":3}, {"label":"K37", "x":10, "y":3}, {"label":"K38", "x":11, "y":3}] | |||
} | |||
} | |||
} |
@ -1,30 +1,33 @@ | |||
#include "bantam44.h" | |||
#include QMK_KEYBOARD_H | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
[0] = { /* Base */ | |||
{KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC }, | |||
{KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_NO, KC_ENT }, | |||
{KC_CAPS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT }, | |||
{KC_LCTL, KC_LGUI, KC_LALT, KC_NO, MO(1), KC_NO, KC_SPC, KC_NO, MO(2), KC_SCLN, KC_QUOT, KC_SLSH } | |||
}, | |||
[1] = { /* LOWER */ | |||
{KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELT }, | |||
{KC_TAB, KC_MPRV, KC_MPLY, KC_MNXT, KC_GRV, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, KC_ENT }, | |||
{KC_CAPS, KC_LSFT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NO, KC_HOME, KC_PGUP, KC_RSFT }, | |||
{KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_TRNS, KC_NO, KC_SPC, KC_NO, KC_TRNS, KC_END, KC_PGDN, KC_EXLM } | |||
}, | |||
[2] = { /* RAISE */ | |||
{KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DELT }, | |||
{KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, KC_TILD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_NO, KC_ENT }, | |||
{KC_CAPS, KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_UP, KC_RSFT }, | |||
{KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_TRNS, KC_NO, KC_SPC, KC_NO, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT } | |||
} | |||
/* Base */ | |||
[0] = LAYOUT( \ | |||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \ | |||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, \ | |||
KC_CAPS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, \ | |||
KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, MO(2), KC_SCLN, KC_QUOT, KC_SLSH \ | |||
), | |||
/* LOWER */ | |||
[1] = LAYOUT( \ | |||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DELT, \ | |||
KC_TAB, KC_MPRV, KC_MPLY, KC_MNXT, KC_GRV, KC_BSLS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_ENT, \ | |||
KC_CAPS, KC_LSFT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NO, KC_HOME, KC_PGUP, KC_RSFT, \ | |||
KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_SPC, KC_TRNS, KC_END, KC_PGDN, KC_EXLM \ | |||
), | |||
/* RAISE */ | |||
[2] = LAYOUT( \ | |||
KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DELT, \ | |||
KC_TAB, KC_MUTE, KC_VOLD, KC_VOLU, KC_TILD, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_ENT, \ | |||
KC_CAPS, KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO, KC_UP, KC_RSFT, \ | |||
KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_SPC, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT \ | |||
) | |||
}; | |||
const uint16_t PROGMEM fn_actions[] = { | |||
}; | |||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) // MACRODOWN only works in this function | |||
{ | |||
return MACRO_NONE; | |||
}; | |||
}; |
@ -0,0 +1,12 @@ | |||
{ | |||
"keyboard_name": "Big Series 1-Key", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"width": 4, | |||
"height": 4, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [{"x":0, "y":0, "w":4, "h":4}] | |||
} | |||
} | |||
} |
@ -0,0 +1,18 @@ | |||
# DudeOfAwesome's Big Series 1-key layout | |||
## Features | |||
### Tap dancing taps: | |||
1. Media Play / Pause | |||
1. Media Next | |||
1. RGB Mode Next | |||
1. RGB Mode Previous | |||
## Building and flashing | |||
1. Put your board in DFU mode with the button on the bottom | |||
1. Flash: | |||
```bash | |||
$ make bigseries:dudeofawesome:dfu | |||
``` | |||
@ -0,0 +1,23 @@ | |||
/* | |||
Copyright 2018 Cole Markham | |||
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_USER_H | |||
#define CONFIG_USER_H | |||
#define TAPPING_TERM 1000 | |||
#endif |
@ -0,0 +1,50 @@ | |||
/* | |||
Copyright 2018 Cole Markham | |||
This program is free software: you can redistribute it and/or modify | |||
it under the terms of the GNU General Public License as published by | |||
the Free Software Foundation, either version 2 of the License, or | |||
(at your option) any later version. | |||
This program is distributed in the hope that it will be useful, | |||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
GNU General Public License for more details. | |||
You should have received a copy of the GNU General Public License | |||
along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
*/ | |||
#include QMK_KEYBOARD_H | |||
enum TAP_DANCE { | |||
TD_PLAY = 0, | |||
}; | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
LAYOUT(TD(TD_PLAY)), | |||
}; | |||
void tap_dance (qk_tap_dance_state_t *state, void *user_data) { | |||
switch (state->count) { | |||
case 0 ... 1: | |||
register_code(KC_MEDIA_PLAY_PAUSE); | |||
unregister_code(KC_MEDIA_PLAY_PAUSE); | |||
break; | |||
case 2: | |||
register_code(KC_MEDIA_NEXT_TRACK); | |||
unregister_code(KC_MEDIA_NEXT_TRACK); | |||
break; | |||
case 3: | |||
rgblight_step(); | |||
break; | |||
case 4: default: | |||
rgblight_step_reverse(); | |||
break; | |||
} | |||
} | |||
//Tap Dance Definitions | |||
qk_tap_dance_action_t tap_dance_actions[] = { | |||
[TD_PLAY] = ACTION_TAP_DANCE_FN(tap_dance), | |||
}; |
@ -0,0 +1 @@ | |||
TAP_DANCE_ENABLE = yes |
@ -0,0 +1,10 @@ | |||
Big Switch PCB by flehrad | |||
========================= | |||
Designed by Don of the Board Podcast and sold as a kit by [keeb.io](https://keeb.io/collections/frontpage/products/big-switch-pcb?variant=7507922845726) | |||
### Technical Specifications | |||
* Uses a atmega32u4 pro micro or pin compatible MCU | |||
* Pins B5 and B6 connect to the pins on the Big Switch | |||
* Optionally you may add a RGB strip to pin D3 for data and take power from VCC and GND |
@ -0,0 +1,33 @@ | |||
/* | |||
Copyright 2018 QMK Contributors | |||
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 "bigswitch.h" | |||
volatile uint8_t runonce = true; | |||
static uint16_t my_timer; | |||
void matrix_init_user(void) { | |||
my_timer = timer_read(); | |||
} | |||
void matrix_scan_user(void) { | |||
if (runonce && timer_elapsed(my_timer) > 1000) { | |||
runonce = false; | |||
rgblight_sethsv_noeeprom(0x0, 0xff, 0x80); | |||
rgblight_mode_noeeprom(9); | |||
rgblight_enable_noeeprom(); | |||
} | |||
} |
@ -0,0 +1,28 @@ | |||
/* | |||
Copyright 2018 QMK Contributors | |||
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 BIGSWITCH_H | |||
#define BIGSWITCH_H | |||
#include "quantum.h" | |||
#define LAYOUT( \ | |||
K00 \ | |||
) { \ | |||
{ K00 } \ | |||
} | |||
#endif |
@ -0,0 +1,59 @@ | |||
/* | |||
Copyright 2018 QMK Contributors | |||
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 0x1209 | |||
#define PRODUCT_ID 0xB195 | |||
#define DEVICE_VER 0x0001 | |||
#define MANUFACTURER flehrad | |||
#define PRODUCT BigSwitch PCB | |||
#define DESCRIPTION A single key board for Novelkeys Big Switch | |||
/* key matrix size */ | |||
#define MATRIX_ROWS 1 | |||
#define MATRIX_COLS 1 | |||
/* key matrix pins */ | |||
#define MATRIX_ROW_PINS { B5 } | |||
#define MATRIX_COL_PINS { B6 } | |||
#define UNUSED_PINS { } | |||
/* COL2ROW or ROW2COL */ | |||
#define DIODE_DIRECTION ROW2COL | |||
/* Set 0 if debouncing isn't needed */ | |||
#define DEBOUNCING_DELAY 50 | |||
/* key combination for command */ | |||
#define IS_COMMAND() ( \ | |||
false \ | |||
) | |||
/* prevent stuck modifiers */ | |||
#define PREVENT_STUCK_MODIFIERS | |||
#ifdef RGBLIGHT_ENABLE | |||
#define RGB_DI_PIN D3 | |||
#define RGBLIGHT_ANIMATIONS | |||
#define RGBLED_NUM 8 | |||
#endif | |||
#endif |
@ -0,0 +1,13 @@ | |||
{ | |||
"keyboard_name": "Bigswitch PCB", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"bootloader": "", | |||
"width": 4, | |||
"height": 4, | |||
"layouts": { | |||
"LAYOUT": { | |||
"layout": [{"x":0, "y":0, "w":4, "h":4}] | |||
} | |||
} | |||
} |
@ -0,0 +1,27 @@ | |||
/* | |||
Copyright 2018 QMK Contributors | |||
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 | |||
#define KC_OSX_EJECT 0x66 | |||
#define LOCK_OSX LSFT(LCTL(KC_OSX_EJECT)) | |||
#define SLEEP_OSX LALT(LGUI(KC_OSX_EJECT)) | |||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
LAYOUT(SLEEP_OSX), | |||
}; |
@ -0,0 +1,60 @@ | |||
# 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) | |||
# Bootloader | |||
BOOTLOADER = caterina | |||
# Interrupt driven control endpoint task(+60) | |||
OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT | |||
# Boot Section Size in *bytes* | |||
OPT_DEFS += -DBOOTLOADER_SIZE=4096 | |||
# Build Options | |||
# comment out to disable the options. | |||
# | |||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) | |||
MOUSEKEY_ENABLE = no # Mouse keys(+4700) | |||
EXTRAKEY_ENABLE = no # Audio control and System control(+450) | |||
CONSOLE_ENABLE = yes # Console for debug(+400) | |||
COMMAND_ENABLE = yes # Commands for debug and configuration | |||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||
NKRO_ENABLE = no # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||
BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not be enabled | |||
AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below | |||
RGBLIGHT_ENABLE = yes # This can be enabled if a ws2812 strip is connected to the expansion port. | |||
@ -0,0 +1,13 @@ | |||
{ | |||
"keyboard_name": "B.mini", | |||
"url": "", | |||
"maintainer": "qmk", | |||
"width": 16, | |||
"height": 6, | |||
"layouts": { | |||
"LAYOUT": { | |||
"key_count": 84, | |||
"layout": [{"label":"K05", "x":0, "y":0}, {"label":"K25", "x":1, "y":0}, {"label":"K35", "x":2, "y":0}, {"label":"K45", "x":3, "y":0}, {"label":"K55", "x":4, "y":0}, {"label":"K06", "x":5, "y":0}, {"label":"KA6", "x":6, "y":0}, {"label":"KA7", "x":7, "y":0}, {"label":"K07", "x":8, "y":0}, {"label":"KB5", "x":9, "y":0}, {"label":"KC5", "x":10, "y":0}, {"label":"KD5", "x":11, "y":0}, {"label":"KE5", "x":12, "y":0}, {"label":"KD1", "x":13, "y":0}, {"label":"KE1", "x":14, "y":0}, {"label":"KE2", "x":15, "y":0}, {"label":"K04", "x":0, "y":1}, {"label":"K14", "x":1, "y":1}, {"label":"K24", "x":2, "y":1}, {"label":"K34", "x":3, "y":1}, {"label":"K44", "x":4, "y":1}, {"label":"K54", "x":5, "y":1}, {"label":"K16", "x":6, "y":1}, {"label":"KB6", "x":7, "y":1}, {"label":"KB7", "x":8, "y":1}, {"label":"K17", "x":9, "y":1}, {"label":"KA4", "x":10, "y":1}, {"label":"KB4", "x":11, "y":1}, {"label":"KC4", "x":12, "y":1}, {"label":"KE4", "x":13, "y":1, "w":2}, {"label":"KD0", "x":15, "y":1}, {"label":"K03", "x":0, "y":2, "w":1.5}, {"label":"K13", "x":1.5, "y":2}, {"label":"K23", "x":2.5, "y":2}, {"label":"K33", "x":3.5, "y":2}, {"label":"K43", "x":4.5, "y":2}, {"label":"K53", "x":5.5, "y":2}, {"label":"K26", "x":6.5, "y":2}, {"label":"KC6", "x":7.5, "y":2}, {"label":"KC7", "x":8.5, "y":2}, {"label":"K27", "x":9.5, "y":2}, {"label":"KA3", "x":10.5, "y":2}, {"label":"KB3", "x":11.5, "y":2}, {"label":"KC3", "x":12.5, "y":2}, {"label":"KD3", "x":13.5, "y":2, "w":1.5}, {"label":"K67", "x":15, "y":2}, {"label":"K02", "x":0, "y":3, "w":1.75}, {"label":"K12", "x":1.75, "y":3}, {"label":"K22", "x":2.75, "y":3}, {"label":"K32", "x":3.75, "y":3}, {"label":"K42", "x":4.75, "y":3}, {"label":"K52", "x":5.75, "y":3}, {"label":"K36", "x":6.75, "y":3}, {"label":"KD6", "x":7.75, "y":3}, {"label":"KD7", "x":8.75, "y":3}, {"label":"K37", "x":9.75, "y":3}, {"label":"KA2", "x":10.75, "y":3}, {"label":"KB2", "x":11.75, "y":3}, {"label":"KD2", "x":12.75, "y":3, "w":2.25}, {"label":"KE0", "x":15, "y":3}, {"label":"K01", "x":0, "y":4, "w":2.25}, {"label":"K11", "x":2.25, "y":4}, {"label":"K21", "x":3.25, "y":4}, {"label":"K31", "x":4.25, "y":4}, {"label":"K41", "x":5.25, "y":4}, {"label":"K51", "x":6.25, "y":4}, {"label":"K46", "x":7.25, "y":4}, {"label":"KE6", "x":8.25, "y":4}, {"label":"KE7", "x":9.25, "y":4}, {"label":"K47", "x":10.25, "y":4}, {"label":"KA1", "x":11.25, "y":4}, {"label":"KB1", "x":12.25, "y":4, "w":1.75}, {"label":"K86", "x":14, "y":4}, {"label":"K77", "x":15, "y":4}, {"label":"K00", "x":0, "y":5, "w":1.25}, {"label":"K10", "x":1.25, "y":5, "w":1.25}, {"label":"K20", "x":2.5, "y":5, "w":1.25}, {"label":"K56", "x":3.75, "y":5, "w":6.25}, {"label":"K57", "x":10, "y":5}, {"label":"KB0", "x":11, "y":5}, {"label":"KC0", "x":12, "y":5}, {"label":"K66", "x":13, "y":5}, {"label":"K76", "x":14, "y":5}, {"label":"K96", "x":15, "y":5}] | |||
} | |||
} | |||
} |