forked from mirror/qmk_firmware
Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
25e93b4b67 | ||
|
|
2f26e14dc6 | ||
|
|
bad589ec59 | ||
|
|
eead2c6087 | ||
|
|
04293bcd5b | ||
|
|
e7cc5a35c2 | ||
|
|
9808bfaf26 | ||
|
|
2ab307a940 | ||
|
|
4086729f5e | ||
|
|
4701001524 | ||
|
|
6e618baa57 | ||
|
|
825ef0bd96 | ||
|
|
58600d3f65 | ||
|
|
f145696dad | ||
|
|
7fe01239dd | ||
|
|
32910738fd | ||
|
|
4889625015 | ||
|
|
744940bbd9 | ||
|
|
0bec817479 | ||
|
|
80fd81ad6b | ||
|
|
d16d866597 | ||
|
|
0032cb026b | ||
|
|
854a94f383 | ||
|
|
4a6cfb06c5 | ||
|
|
a9a2817f3a | ||
|
|
4286b81af0 | ||
|
|
fa740c1286 |
122
docs/ja/ref_functions.md
Normal file
122
docs/ja/ref_functions.md
Normal file
@@ -0,0 +1,122 @@
|
||||
# キーボードをより良くするための便利なコア関数のリスト
|
||||
|
||||
<!---
|
||||
original document: 0.9.47:docs/ref_functions.md
|
||||
git diff 0.9.47 HEAD -- docs/ref_functions.md | cat
|
||||
-->
|
||||
|
||||
QMK には、信じられないほど便利な、またはあなたが望んでいた機能を少し追加する、隠された関数がたくさんあります。特定の機能に固有の関数はそれぞれの機能のページにあるため、ここには含まれていません。
|
||||
|
||||
## (OLKB) トライレイヤー :id=olkb-tri-layers
|
||||
|
||||
目的に応じて、実際に使うことができる別個の関数があります。
|
||||
|
||||
### `update_tri_layer(x, y, z)`
|
||||
|
||||
最初は `update_tri_layer(x, y, z)` 関数です。この関数はレイヤー `x` と `y` の両方がオンになっているかどうかを調べます。両方ともオンの場合は、レイヤー `z` がオンになります。それ以外の場合、`x` と `y` の両方がオンではない(一方のみがオン、またはどちらもオンでない)場合は、レイヤー `z` をオフにします。
|
||||
|
||||
この関数は、この機能を持つ特定のキーを作成したいが、他のレイヤーのキーコードではそうしたくない場合に便利です。
|
||||
|
||||
#### 例
|
||||
|
||||
```c
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
```
|
||||
|
||||
### `update_tri_layer_state(state, x, y, z)`
|
||||
もう1つの関数は `update_tri_layer_state(state, x, y, z)` です。この関数は [`layer_state_set_*` 関数](ja/custom_quantum_functions.md#layer-change-code)から呼び出されることを意図しています。これは、キーコードを使ってレイヤーを変更するたびに、これがチェックされることを意味します。したがって、`LT(layer, kc)` を使ってレイヤーを変更すると、同じレイヤーチェックが引き起こされます。
|
||||
|
||||
このメソッドの注意点は、`x` および `y` レイヤーをオンにしないと、`z` レイヤーにアクセスできないことです。レイヤー `z` のみをアクティブにしようとすると、このコードが実行され、使用前にレイヤー `z` がオフになるからです。
|
||||
|
||||
#### 例
|
||||
|
||||
```c
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
```
|
||||
|
||||
あるいは、すぐに値を「返す」必要はありません。複数のトライレイヤーを追加、あるいは追加の効果を追加する場合に便利です。
|
||||
|
||||
```c
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
state = update_tri_layer_state(state, _RAISE, _SYMB, _SPECIAL);
|
||||
return state;
|
||||
}
|
||||
```
|
||||
|
||||
## 永続的なデフォルトレイヤーの設定
|
||||
|
||||
デフォルトレイヤーを設定して、キーボードを取り外しても保持されるようにしたいですか?そうであれば、これがそのための関数です。
|
||||
|
||||
これを使うには、`set_single_persistent_default_layer(layer)` を使います。レイヤーに名前が定義されている場合は、代わりにそれを使うことができます (_QWERTY、_DVORAK、_COLEMAK など)。
|
||||
|
||||
これは、デフォルトレイヤーを設定し、永続設定が更新され、もし [オーディオ](ja/feature_audio.md) がキーボードで有効でデフォルトレイヤーの音が設定されている場合は、曲を再生します。
|
||||
|
||||
デフォルトレイヤーの音を設定するには、以下のように `config.h` ファイルに定義する必要があります。
|
||||
|
||||
```c
|
||||
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
|
||||
SONG(COLEMAK_SOUND), \
|
||||
SONG(DVORAK_SOUND) \
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
?> [quantum/audio/song_list.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/audio/song_list.h) に使用できる多くの定義済みの曲があります。
|
||||
|
||||
## キーボードのリセット
|
||||
|
||||
使用できる `RESET` quantum キーコードがあります。ただし、キーを個別に押すのではなくマクロの一部としてリセットしたい場合は、そうすることができます。
|
||||
|
||||
そのためには、`reset_keyboard()` を関数またはマクロに追加すると、ブートローダがリセットされます。
|
||||
|
||||
## EEPROM (永続ストレージ)の消去
|
||||
|
||||
オーディオ、RGB アンダーグロー、バックライト、キーの動作に問題がある場合は、EEPROM (永続的な設定のストレージ)をリセットすることができます。ブートマジックはこれを行う方法の1つですが、有効になっていない場合はカスタムマクロを使って行うことができます。
|
||||
|
||||
EEPROM を消去するには、関数またはマクロから `eeconfig_init()` を実行し、ほとんどの設定をデフォルトにリセットします。
|
||||
|
||||
## タップランダムキー
|
||||
|
||||
ランダムな文字をホストコンピュータに送信する場合は、`tap_random_base64()` 関数を使うことができます。これは[疑似乱数的に](https://en.wikipedia.org/wiki/Pseudorandom_number_generator)0から63の数字を選択し、その選択に基づいてキー押下を送信します。(0–25 は `A`–`Z`、26–51 は `a`–`z`、52–61 は `0`–`9`、62 は `+`、63 は `/`)。
|
||||
|
||||
?> 言うまでもないですが、これはランダムに Base64 キーあるいはパスワードを生成する暗号的に安全な方法では _ありません_。
|
||||
|
||||
## ソフトウェアタイマー
|
||||
|
||||
タイマーを開始し、時間固有のイベントの値を読み取ることができます。以下は例です:
|
||||
|
||||
```c
|
||||
static uint16_t key_timer;
|
||||
key_timer = timer_read();
|
||||
|
||||
if (timer_elapsed(key_timer) < 100) {
|
||||
// 経過時間が 100ms 未満の場合に何かを行う
|
||||
} else {
|
||||
// 経過時間が 100ms 以上の場合に何かを行う
|
||||
}
|
||||
```
|
||||
@@ -78,23 +78,6 @@ bool g_scaling_registers_update_required[DRIVER_COUNT] = {false};
|
||||
|
||||
uint8_t g_scaling_registers[DRIVER_COUNT][ISSI_MAX_LEDS];
|
||||
|
||||
uint32_t IS31FL3741_get_cw_sw_position(uint8_t cs, uint8_t sw) {
|
||||
uint32_t pos = 0;
|
||||
|
||||
if (cs < 31) {
|
||||
if (sw < 7) {
|
||||
pos = (sw - 1) * 30 + (cs - 1);
|
||||
|
||||
} else {
|
||||
pos = 0xB4 + (sw - 7) * 30 + (cs - 1);
|
||||
}
|
||||
} else {
|
||||
pos = 0xB4 + 0x5A + (sw - 1) * 9 + (cs - 31);
|
||||
}
|
||||
|
||||
return pos;
|
||||
}
|
||||
|
||||
void IS31FL3741_write_register(uint8_t addr, uint8_t reg, uint8_t data) {
|
||||
g_twi_transfer_buffer[0] = reg;
|
||||
g_twi_transfer_buffer[1] = data;
|
||||
@@ -186,16 +169,11 @@ void IS31FL3741_init(uint8_t addr) {
|
||||
void IS31FL3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue) {
|
||||
if (index >= 0 && index < DRIVER_LED_TOTAL) {
|
||||
is31_led led = g_is31_leds[index];
|
||||
uint32_t rp = 0, gp = 0, bp = 0;
|
||||
|
||||
rp = IS31FL3741_get_cw_sw_position(led.rcs, led.rsw);
|
||||
gp = IS31FL3741_get_cw_sw_position(led.gcs, led.gsw);
|
||||
bp = IS31FL3741_get_cw_sw_position(led.bcs, led.bsw);
|
||||
|
||||
g_pwm_buffer[led.driver][rp] = red;
|
||||
g_pwm_buffer[led.driver][gp] = green;
|
||||
g_pwm_buffer[led.driver][bp] = blue;
|
||||
g_pwm_buffer_update_required = true;
|
||||
g_pwm_buffer[led.driver][led.r] = red;
|
||||
g_pwm_buffer[led.driver][led.g] = green;
|
||||
g_pwm_buffer[led.driver][led.b] = blue;
|
||||
g_pwm_buffer_update_required = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,26 +186,22 @@ void IS31FL3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
|
||||
void IS31FL3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue) {
|
||||
is31_led led = g_is31_leds[index];
|
||||
|
||||
uint32_t scaling_register_r = IS31FL3741_get_cw_sw_position(led.rcs, led.rsw);
|
||||
uint32_t scaling_register_g = IS31FL3741_get_cw_sw_position(led.gcs, led.gsw);
|
||||
uint32_t scaling_register_b = IS31FL3741_get_cw_sw_position(led.bcs, led.bsw);
|
||||
|
||||
if (red) {
|
||||
g_scaling_registers[led.driver][scaling_register_r] = 0xFF;
|
||||
g_scaling_registers[led.driver][led.r] = 0xFF;
|
||||
} else {
|
||||
g_scaling_registers[led.driver][scaling_register_r] = 0x00;
|
||||
g_scaling_registers[led.driver][led.r] = 0x00;
|
||||
}
|
||||
|
||||
if (green) {
|
||||
g_scaling_registers[led.driver][scaling_register_g] = 0xFF;
|
||||
g_scaling_registers[led.driver][led.g] = 0xFF;
|
||||
} else {
|
||||
g_scaling_registers[led.driver][scaling_register_g] = 0x00;
|
||||
g_scaling_registers[led.driver][led.g] = 0x00;
|
||||
}
|
||||
|
||||
if (blue) {
|
||||
g_scaling_registers[led.driver][scaling_register_b] = 0xFF;
|
||||
g_scaling_registers[led.driver][led.b] = 0xFF;
|
||||
} else {
|
||||
g_scaling_registers[led.driver][scaling_register_b] = 0x00;
|
||||
g_scaling_registers[led.driver][led.b] = 0x00;
|
||||
}
|
||||
|
||||
g_scaling_registers_update_required[led.driver] = true;
|
||||
@@ -242,15 +216,9 @@ void IS31FL3741_update_pwm_buffers(uint8_t addr1, uint8_t addr2) {
|
||||
}
|
||||
|
||||
void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) {
|
||||
uint32_t rp = 0, gp = 0, bp = 0;
|
||||
|
||||
rp = IS31FL3741_get_cw_sw_position(pled->rcs, pled->rsw);
|
||||
gp = IS31FL3741_get_cw_sw_position(pled->gcs, pled->gsw);
|
||||
bp = IS31FL3741_get_cw_sw_position(pled->bcs, pled->bsw);
|
||||
|
||||
g_pwm_buffer[pled->driver][rp] = red;
|
||||
g_pwm_buffer[pled->driver][gp] = green;
|
||||
g_pwm_buffer[pled->driver][bp] = blue;
|
||||
g_pwm_buffer[pled->driver][pled->r] = red;
|
||||
g_pwm_buffer[pled->driver][pled->g] = green;
|
||||
g_pwm_buffer[pled->driver][pled->b] = blue;
|
||||
|
||||
g_pwm_buffer_update_required = true;
|
||||
}
|
||||
@@ -261,7 +229,8 @@ void IS31FL3741_update_led_control_registers(uint8_t addr, uint8_t index) {
|
||||
IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
|
||||
IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_0);
|
||||
|
||||
for (int i = 0; i < 180; ++i) {
|
||||
// CS1_SW1 to CS30_SW6 are on PG2
|
||||
for (int i = CS1_SW1; i <= CS30_SW6; ++i) {
|
||||
IS31FL3741_write_register(addr, i, g_scaling_registers[0][i]);
|
||||
}
|
||||
|
||||
@@ -269,8 +238,9 @@ void IS31FL3741_update_led_control_registers(uint8_t addr, uint8_t index) {
|
||||
IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER_WRITELOCK, 0xC5);
|
||||
IS31FL3741_write_register(addr, ISSI_COMMANDREGISTER, ISSI_PAGE_SCALING_1);
|
||||
|
||||
for (int i = 0; i < 171; ++i) {
|
||||
IS31FL3741_write_register(addr, i, g_scaling_registers[0][180 + i]);
|
||||
// CS1_SW7 to CS39_SW9 are on PG3
|
||||
for (int i = CS1_SW7; i <= CS39_SW9; ++i) {
|
||||
IS31FL3741_write_register(addr, i - CS1_SW7, g_scaling_registers[0][i]);
|
||||
}
|
||||
|
||||
g_scaling_registers_update_required[index] = false;
|
||||
@@ -278,13 +248,7 @@ void IS31FL3741_update_led_control_registers(uint8_t addr, uint8_t index) {
|
||||
}
|
||||
|
||||
void IS31FL3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue) {
|
||||
uint32_t rp = 0, gp = 0, bp = 0;
|
||||
|
||||
rp = IS31FL3741_get_cw_sw_position(pled->rcs, pled->rsw);
|
||||
gp = IS31FL3741_get_cw_sw_position(pled->gcs, pled->gsw);
|
||||
bp = IS31FL3741_get_cw_sw_position(pled->bcs, pled->bsw);
|
||||
|
||||
g_scaling_registers[pled->driver][rp] = red;
|
||||
g_scaling_registers[pled->driver][gp] = green;
|
||||
g_scaling_registers[pled->driver][bp] = blue;
|
||||
g_scaling_registers[pled->driver][pled->r] = red;
|
||||
g_scaling_registers[pled->driver][pled->g] = green;
|
||||
g_scaling_registers[pled->driver][pled->b] = blue;
|
||||
}
|
||||
|
||||
@@ -23,13 +23,10 @@
|
||||
#include <stdbool.h>
|
||||
|
||||
typedef struct is31_led {
|
||||
uint8_t driver : 2;
|
||||
uint8_t rcs;
|
||||
uint8_t rsw;
|
||||
uint8_t gcs;
|
||||
uint8_t gsw;
|
||||
uint8_t bcs;
|
||||
uint8_t bsw;
|
||||
uint8_t driver : 2;
|
||||
uint16_t r;
|
||||
uint16_t g;
|
||||
uint16_t b;
|
||||
} __attribute__((packed)) is31_led;
|
||||
|
||||
extern const is31_led g_is31_leds[DRIVER_LED_TOTAL];
|
||||
@@ -53,3 +50,372 @@ void IS31FL3741_update_led_control_registers(uint8_t addr1, uint8_t addr2);
|
||||
void IS31FL3741_set_scaling_registers(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue);
|
||||
|
||||
void IS31FL3741_set_pwm_buffer(const is31_led *pled, uint8_t red, uint8_t green, uint8_t blue);
|
||||
|
||||
#define CS1_SW1 0x00
|
||||
#define CS2_SW1 0x01
|
||||
#define CS3_SW1 0x02
|
||||
#define CS4_SW1 0x03
|
||||
#define CS5_SW1 0x04
|
||||
#define CS6_SW1 0x05
|
||||
#define CS7_SW1 0x06
|
||||
#define CS8_SW1 0x07
|
||||
#define CS9_SW1 0x08
|
||||
#define CS10_SW1 0x09
|
||||
#define CS11_SW1 0x0A
|
||||
#define CS12_SW1 0x0B
|
||||
#define CS13_SW1 0x0C
|
||||
#define CS14_SW1 0x0D
|
||||
#define CS15_SW1 0x0E
|
||||
#define CS16_SW1 0x0F
|
||||
#define CS17_SW1 0x10
|
||||
#define CS18_SW1 0x11
|
||||
#define CS19_SW1 0x12
|
||||
#define CS20_SW1 0x13
|
||||
#define CS21_SW1 0x14
|
||||
#define CS22_SW1 0x15
|
||||
#define CS23_SW1 0x16
|
||||
#define CS24_SW1 0x17
|
||||
#define CS25_SW1 0x18
|
||||
#define CS26_SW1 0x19
|
||||
#define CS27_SW1 0x1A
|
||||
#define CS28_SW1 0x1B
|
||||
#define CS29_SW1 0x1C
|
||||
#define CS30_SW1 0x1D
|
||||
|
||||
#define CS1_SW2 0x1E
|
||||
#define CS2_SW2 0x1F
|
||||
#define CS3_SW2 0x20
|
||||
#define CS4_SW2 0x21
|
||||
#define CS5_SW2 0x22
|
||||
#define CS6_SW2 0x23
|
||||
#define CS7_SW2 0x24
|
||||
#define CS8_SW2 0x25
|
||||
#define CS9_SW2 0x26
|
||||
#define CS10_SW2 0x27
|
||||
#define CS11_SW2 0x28
|
||||
#define CS12_SW2 0x29
|
||||
#define CS13_SW2 0x2A
|
||||
#define CS14_SW2 0x2B
|
||||
#define CS15_SW2 0x2C
|
||||
#define CS16_SW2 0x2D
|
||||
#define CS17_SW2 0x2E
|
||||
#define CS18_SW2 0x2F
|
||||
#define CS19_SW2 0x30
|
||||
#define CS20_SW2 0x31
|
||||
#define CS21_SW2 0x32
|
||||
#define CS22_SW2 0x33
|
||||
#define CS23_SW2 0x34
|
||||
#define CS24_SW2 0x35
|
||||
#define CS25_SW2 0x36
|
||||
#define CS26_SW2 0x37
|
||||
#define CS27_SW2 0x38
|
||||
#define CS28_SW2 0x39
|
||||
#define CS29_SW2 0x3A
|
||||
#define CS30_SW2 0x3B
|
||||
|
||||
#define CS1_SW3 0x3C
|
||||
#define CS2_SW3 0x3D
|
||||
#define CS3_SW3 0x3E
|
||||
#define CS4_SW3 0x3F
|
||||
#define CS5_SW3 0x40
|
||||
#define CS6_SW3 0x41
|
||||
#define CS7_SW3 0x42
|
||||
#define CS8_SW3 0x43
|
||||
#define CS9_SW3 0x44
|
||||
#define CS10_SW3 0x45
|
||||
#define CS11_SW3 0x46
|
||||
#define CS12_SW3 0x47
|
||||
#define CS13_SW3 0x48
|
||||
#define CS14_SW3 0x49
|
||||
#define CS15_SW3 0x4A
|
||||
#define CS16_SW3 0x4B
|
||||
#define CS17_SW3 0x4C
|
||||
#define CS18_SW3 0x4D
|
||||
#define CS19_SW3 0x4E
|
||||
#define CS20_SW3 0x4F
|
||||
#define CS21_SW3 0x50
|
||||
#define CS22_SW3 0x51
|
||||
#define CS23_SW3 0x52
|
||||
#define CS24_SW3 0x53
|
||||
#define CS25_SW3 0x54
|
||||
#define CS26_SW3 0x55
|
||||
#define CS27_SW3 0x56
|
||||
#define CS28_SW3 0x57
|
||||
#define CS29_SW3 0x58
|
||||
#define CS30_SW3 0x59
|
||||
|
||||
#define CS1_SW4 0x5A
|
||||
#define CS2_SW4 0x5B
|
||||
#define CS3_SW4 0x5C
|
||||
#define CS4_SW4 0x5D
|
||||
#define CS5_SW4 0x5E
|
||||
#define CS6_SW4 0x5F
|
||||
#define CS7_SW4 0x60
|
||||
#define CS8_SW4 0x61
|
||||
#define CS9_SW4 0x62
|
||||
#define CS10_SW4 0x63
|
||||
#define CS11_SW4 0x64
|
||||
#define CS12_SW4 0x65
|
||||
#define CS13_SW4 0x66
|
||||
#define CS14_SW4 0x67
|
||||
#define CS15_SW4 0x68
|
||||
#define CS16_SW4 0x69
|
||||
#define CS17_SW4 0x6A
|
||||
#define CS18_SW4 0x6B
|
||||
#define CS19_SW4 0x6C
|
||||
#define CS20_SW4 0x6D
|
||||
#define CS21_SW4 0x6E
|
||||
#define CS22_SW4 0x6F
|
||||
#define CS23_SW4 0x70
|
||||
#define CS24_SW4 0x71
|
||||
#define CS25_SW4 0x72
|
||||
#define CS26_SW4 0x73
|
||||
#define CS27_SW4 0x74
|
||||
#define CS28_SW4 0x75
|
||||
#define CS29_SW4 0x76
|
||||
#define CS30_SW4 0x77
|
||||
|
||||
#define CS1_SW5 0x78
|
||||
#define CS2_SW5 0x79
|
||||
#define CS3_SW5 0x7A
|
||||
#define CS4_SW5 0x7B
|
||||
#define CS5_SW5 0x7C
|
||||
#define CS6_SW5 0x7D
|
||||
#define CS7_SW5 0x7E
|
||||
#define CS8_SW5 0x7F
|
||||
#define CS9_SW5 0x80
|
||||
#define CS10_SW5 0x81
|
||||
#define CS11_SW5 0x82
|
||||
#define CS12_SW5 0x83
|
||||
#define CS13_SW5 0x84
|
||||
#define CS14_SW5 0x85
|
||||
#define CS15_SW5 0x86
|
||||
#define CS16_SW5 0x87
|
||||
#define CS17_SW5 0x88
|
||||
#define CS18_SW5 0x89
|
||||
#define CS19_SW5 0x8A
|
||||
#define CS20_SW5 0x8B
|
||||
#define CS21_SW5 0x8C
|
||||
#define CS22_SW5 0x8D
|
||||
#define CS23_SW5 0x8E
|
||||
#define CS24_SW5 0x8F
|
||||
#define CS25_SW5 0x90
|
||||
#define CS26_SW5 0x91
|
||||
#define CS27_SW5 0x92
|
||||
#define CS28_SW5 0x93
|
||||
#define CS29_SW5 0x94
|
||||
#define CS30_SW5 0x95
|
||||
|
||||
#define CS1_SW6 0x96
|
||||
#define CS2_SW6 0x97
|
||||
#define CS3_SW6 0x98
|
||||
#define CS4_SW6 0x99
|
||||
#define CS5_SW6 0x9A
|
||||
#define CS6_SW6 0x9B
|
||||
#define CS7_SW6 0x9C
|
||||
#define CS8_SW6 0x9D
|
||||
#define CS9_SW6 0x9E
|
||||
#define CS10_SW6 0x9F
|
||||
#define CS11_SW6 0xA0
|
||||
#define CS12_SW6 0xA1
|
||||
#define CS13_SW6 0xA2
|
||||
#define CS14_SW6 0xA3
|
||||
#define CS15_SW6 0xA4
|
||||
#define CS16_SW6 0xA5
|
||||
#define CS17_SW6 0xA6
|
||||
#define CS18_SW6 0xA7
|
||||
#define CS19_SW6 0xA8
|
||||
#define CS20_SW6 0xA9
|
||||
#define CS21_SW6 0xAA
|
||||
#define CS22_SW6 0xAB
|
||||
#define CS23_SW6 0xAC
|
||||
#define CS24_SW6 0xAD
|
||||
#define CS25_SW6 0xAE
|
||||
#define CS26_SW6 0xAF
|
||||
#define CS27_SW6 0xB0
|
||||
#define CS28_SW6 0xB1
|
||||
#define CS29_SW6 0xB2
|
||||
#define CS30_SW6 0xB3
|
||||
|
||||
#define CS1_SW7 0xB4
|
||||
#define CS2_SW7 0xB5
|
||||
#define CS3_SW7 0xB6
|
||||
#define CS4_SW7 0xB7
|
||||
#define CS5_SW7 0xB8
|
||||
#define CS6_SW7 0xB9
|
||||
#define CS7_SW7 0xBA
|
||||
#define CS8_SW7 0xBB
|
||||
#define CS9_SW7 0xBC
|
||||
#define CS10_SW7 0xBD
|
||||
#define CS11_SW7 0xBE
|
||||
#define CS12_SW7 0xBF
|
||||
#define CS13_SW7 0xC0
|
||||
#define CS14_SW7 0xC1
|
||||
#define CS15_SW7 0xC2
|
||||
#define CS16_SW7 0xC3
|
||||
#define CS17_SW7 0xC4
|
||||
#define CS18_SW7 0xC5
|
||||
#define CS19_SW7 0xC6
|
||||
#define CS20_SW7 0xC7
|
||||
#define CS21_SW7 0xC8
|
||||
#define CS22_SW7 0xC9
|
||||
#define CS23_SW7 0xCA
|
||||
#define CS24_SW7 0xCB
|
||||
#define CS25_SW7 0xCC
|
||||
#define CS26_SW7 0xCD
|
||||
#define CS27_SW7 0xCE
|
||||
#define CS28_SW7 0xCF
|
||||
#define CS29_SW7 0xD0
|
||||
#define CS30_SW7 0xD1
|
||||
|
||||
#define CS1_SW8 0xD2
|
||||
#define CS2_SW8 0xD3
|
||||
#define CS3_SW8 0xD4
|
||||
#define CS4_SW8 0xD5
|
||||
#define CS5_SW8 0xD6
|
||||
#define CS6_SW8 0xD7
|
||||
#define CS7_SW8 0xD8
|
||||
#define CS8_SW8 0xD9
|
||||
#define CS9_SW8 0xDA
|
||||
#define CS10_SW8 0xDB
|
||||
#define CS11_SW8 0xDC
|
||||
#define CS12_SW8 0xDD
|
||||
#define CS13_SW8 0xDE
|
||||
#define CS14_SW8 0xDF
|
||||
#define CS15_SW8 0xE0
|
||||
#define CS16_SW8 0xE1
|
||||
#define CS17_SW8 0xE2
|
||||
#define CS18_SW8 0xE3
|
||||
#define CS19_SW8 0xE4
|
||||
#define CS20_SW8 0xE5
|
||||
#define CS21_SW8 0xE6
|
||||
#define CS22_SW8 0xE7
|
||||
#define CS23_SW8 0xE8
|
||||
#define CS24_SW8 0xE9
|
||||
#define CS25_SW8 0xEA
|
||||
#define CS26_SW8 0xEB
|
||||
#define CS27_SW8 0xEC
|
||||
#define CS28_SW8 0xED
|
||||
#define CS29_SW8 0xEE
|
||||
#define CS30_SW8 0xEF
|
||||
|
||||
#define CS1_SW9 0xF0
|
||||
#define CS2_SW9 0xF1
|
||||
#define CS3_SW9 0xF2
|
||||
#define CS4_SW9 0xF3
|
||||
#define CS5_SW9 0xF4
|
||||
#define CS6_SW9 0xF5
|
||||
#define CS7_SW9 0xF6
|
||||
#define CS8_SW9 0xF7
|
||||
#define CS9_SW9 0xF8
|
||||
#define CS10_SW9 0xF9
|
||||
#define CS11_SW9 0xFA
|
||||
#define CS12_SW9 0xFB
|
||||
#define CS13_SW9 0xFC
|
||||
#define CS14_SW9 0xFD
|
||||
#define CS15_SW9 0xFE
|
||||
#define CS16_SW9 0xFF
|
||||
#define CS17_SW9 0x100
|
||||
#define CS18_SW9 0x101
|
||||
#define CS19_SW9 0x102
|
||||
#define CS20_SW9 0x103
|
||||
#define CS21_SW9 0x104
|
||||
#define CS22_SW9 0x105
|
||||
#define CS23_SW9 0x106
|
||||
#define CS24_SW9 0x107
|
||||
#define CS25_SW9 0x108
|
||||
#define CS26_SW9 0x109
|
||||
#define CS27_SW9 0x10A
|
||||
#define CS28_SW9 0x10B
|
||||
#define CS29_SW9 0x10C
|
||||
#define CS30_SW9 0x10D
|
||||
|
||||
#define CS31_SW1 0x10E
|
||||
#define CS32_SW1 0x10F
|
||||
#define CS33_SW1 0x110
|
||||
#define CS34_SW1 0x111
|
||||
#define CS35_SW1 0x112
|
||||
#define CS36_SW1 0x113
|
||||
#define CS37_SW1 0x114
|
||||
#define CS38_SW1 0x115
|
||||
#define CS39_SW1 0x116
|
||||
|
||||
#define CS31_SW2 0x117
|
||||
#define CS32_SW2 0x118
|
||||
#define CS33_SW2 0x119
|
||||
#define CS34_SW2 0x11A
|
||||
#define CS35_SW2 0x11B
|
||||
#define CS36_SW2 0x11C
|
||||
#define CS37_SW2 0x11D
|
||||
#define CS38_SW2 0x11E
|
||||
#define CS39_SW2 0x11F
|
||||
|
||||
#define CS31_SW3 0x120
|
||||
#define CS32_SW3 0x121
|
||||
#define CS33_SW3 0x122
|
||||
#define CS34_SW3 0x123
|
||||
#define CS35_SW3 0x124
|
||||
#define CS36_SW3 0x125
|
||||
#define CS37_SW3 0x126
|
||||
#define CS38_SW3 0x127
|
||||
#define CS39_SW3 0x128
|
||||
|
||||
#define CS31_SW4 0x129
|
||||
#define CS32_SW4 0x12A
|
||||
#define CS33_SW4 0x12B
|
||||
#define CS34_SW4 0x12C
|
||||
#define CS35_SW4 0x12D
|
||||
#define CS36_SW4 0x12E
|
||||
#define CS37_SW4 0x12F
|
||||
#define CS38_SW4 0x130
|
||||
#define CS39_SW4 0x131
|
||||
|
||||
#define CS31_SW5 0x132
|
||||
#define CS32_SW5 0x133
|
||||
#define CS33_SW5 0x134
|
||||
#define CS34_SW5 0x135
|
||||
#define CS35_SW5 0x136
|
||||
#define CS36_SW5 0x137
|
||||
#define CS37_SW5 0x138
|
||||
#define CS38_SW5 0x139
|
||||
#define CS39_SW5 0x13A
|
||||
|
||||
#define CS31_SW6 0x13B
|
||||
#define CS32_SW6 0x13C
|
||||
#define CS33_SW6 0x13D
|
||||
#define CS34_SW6 0x13E
|
||||
#define CS35_SW6 0x13F
|
||||
#define CS36_SW6 0x140
|
||||
#define CS37_SW6 0x141
|
||||
#define CS38_SW6 0x142
|
||||
#define CS39_SW6 0x143
|
||||
|
||||
#define CS31_SW7 0x144
|
||||
#define CS32_SW7 0x145
|
||||
#define CS33_SW7 0x146
|
||||
#define CS34_SW7 0x147
|
||||
#define CS35_SW7 0x148
|
||||
#define CS36_SW7 0x149
|
||||
#define CS37_SW7 0x14A
|
||||
#define CS38_SW7 0x14B
|
||||
#define CS39_SW7 0x14C
|
||||
|
||||
#define CS31_SW8 0x14D
|
||||
#define CS32_SW8 0x14E
|
||||
#define CS33_SW8 0x14F
|
||||
#define CS34_SW8 0x150
|
||||
#define CS35_SW8 0x151
|
||||
#define CS36_SW8 0x152
|
||||
#define CS37_SW8 0x153
|
||||
#define CS38_SW8 0x154
|
||||
#define CS39_SW8 0x155
|
||||
|
||||
#define CS31_SW9 0x156
|
||||
#define CS32_SW9 0x157
|
||||
#define CS33_SW9 0x158
|
||||
#define CS34_SW9 0x159
|
||||
#define CS35_SW9 0x15A
|
||||
#define CS36_SW9 0x15B
|
||||
#define CS37_SW9 0x15C
|
||||
#define CS38_SW9 0x15D
|
||||
#define CS39_SW9 0x15E
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX }, \
|
||||
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
|
||||
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E }, \
|
||||
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, XXX }, \
|
||||
{ k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX }, \
|
||||
{ k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
|
||||
}
|
||||
@@ -42,8 +42,8 @@
|
||||
k40, k41, k43, k46, k4A, k4B, k4D, k4E \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX }, \
|
||||
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX }, \
|
||||
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E }, \
|
||||
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k2D }, \
|
||||
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, XXX }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX }, \
|
||||
{ k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
|
||||
}
|
||||
@@ -58,7 +58,7 @@
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
|
||||
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
|
||||
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E }, \
|
||||
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, XXX }, \
|
||||
{ k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
|
||||
{ k40, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, k4A, k4B, XXX, k4D, k4E } \
|
||||
}
|
||||
@@ -73,7 +73,7 @@
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E }, \
|
||||
{ k10, XXX, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E }, \
|
||||
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E }, \
|
||||
{ k20, XXX, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, XXX }, \
|
||||
{ k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E }, \
|
||||
{ XXX, k41, XXX, k43, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, XXX, k4D, XXX } \
|
||||
}
|
||||
|
||||
144
keyboards/40percentclub/mf68/keymaps/andyjack/keymap.c
Normal file
144
keyboards/40percentclub/mf68/keymaps/andyjack/keymap.c
Normal file
@@ -0,0 +1,144 @@
|
||||
/*
|
||||
Copyright 2020 Andy Jack
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_L1,
|
||||
_L2
|
||||
};
|
||||
|
||||
#define CTL_ESC LCTL_T(KC_ESC)
|
||||
|
||||
/* these key combos are mapped to shell commands in my .keylaunchrc */
|
||||
#define MUT_IN LALT(KC_F10)
|
||||
#define MUT_OUT LALT(KC_F11)
|
||||
#define MUT_MIC LALT(KC_F12)
|
||||
#define SCN_LCK LCTL(KC_SLCK)
|
||||
|
||||
extern keymap_config_t keymap_config;
|
||||
|
||||
enum custom_keycodes {
|
||||
AJ_FN = SAFE_RANGE,
|
||||
AJ_RCTL,
|
||||
AJ_MSWP,
|
||||
AJ_MLCK,
|
||||
};
|
||||
|
||||
// clang-format off
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT_68_ansi(
|
||||
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_PGUP,
|
||||
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_PGDN,
|
||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, AJ_FN, AJ_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[_L1] = LAYOUT_68_ansi(
|
||||
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_BSPC, KC_VOLU, KC_HOME,
|
||||
_______, _______, KC_HOME, KC_UP, KC_END, _______, _______, MUT_IN , MUT_OUT, MUT_MIC, _______, _______, BL_STEP, _______, KC_VOLD, KC_END,
|
||||
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, SCN_LCK, _______, _______, _______,
|
||||
_______, _______, _______, _______, KC_BTN3, _______, _______, KC_MUTE, _______, _______, _______, _______, KC_MUTE,
|
||||
_______, AJ_MLCK, AJ_MSWP, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
|
||||
),
|
||||
[_L2] = LAYOUT_68_ansi(
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_VOLU, KC_HOME,
|
||||
_______, _______, _______, KC_UP, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, KC_VOLD, KC_END,
|
||||
_______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_4, KC_5, KC_6, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, _______, _______, KC_MUTE,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
|
||||
)
|
||||
};
|
||||
// clang-format on
|
||||
|
||||
static bool aj_fn_down = false;
|
||||
static bool aj_rctl_down = false;
|
||||
static uint8_t keycode_for_aj_rctl;
|
||||
|
||||
/* My version of:
|
||||
https://www.reddit.com/r/olkb/comments/8eticz/how_to_activate_a_layer_with_a_combination/dxygw0f/
|
||||
* AJ_FN by itself turns on layer 1
|
||||
* AJ_RCTL by itself acts as a control key
|
||||
* pressing FN and RCTL together, in any order, turns on layer 2
|
||||
*/
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case AJ_FN:
|
||||
if (record->event.pressed) {
|
||||
if (aj_rctl_down) {
|
||||
layer_on(_L2);
|
||||
} else {
|
||||
layer_on(_L1);
|
||||
}
|
||||
aj_fn_down = true;
|
||||
} else {
|
||||
layer_off(_L1);
|
||||
layer_off(_L2);
|
||||
aj_fn_down = false;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case AJ_RCTL:
|
||||
if (record->event.pressed) {
|
||||
if (aj_fn_down) {
|
||||
layer_on(_L2);
|
||||
} else {
|
||||
register_code(keycode_for_aj_rctl);
|
||||
}
|
||||
aj_rctl_down = true;
|
||||
} else {
|
||||
layer_off(_L2);
|
||||
unregister_code(keycode_for_aj_rctl);
|
||||
aj_rctl_down = false;
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case AJ_MSWP:
|
||||
case AJ_MLCK:
|
||||
if (record->event.pressed) {
|
||||
if (!eeconfig_is_enabled()) {
|
||||
eeconfig_init();
|
||||
}
|
||||
keymap_config.raw = eeconfig_read_keymap();
|
||||
switch (keycode) {
|
||||
case AJ_MSWP:
|
||||
keymap_config.swap_lalt_lgui = !keymap_config.swap_lalt_lgui;
|
||||
keymap_config.swap_ralt_rgui = keymap_config.swap_lalt_lgui;
|
||||
keycode_for_aj_rctl = keymap_config.swap_lalt_lgui ? KC_RALT : KC_RCTL;
|
||||
break;
|
||||
case AJ_MLCK:
|
||||
keymap_config.no_gui = !keymap_config.no_gui;
|
||||
break;
|
||||
}
|
||||
eeconfig_update_keymap(keymap_config.raw);
|
||||
clear_keyboard(); // clear to prevent stuck keys
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void keyboard_post_init_user(void) {
|
||||
if (!eeconfig_is_enabled()) {
|
||||
eeconfig_init();
|
||||
}
|
||||
keymap_config.raw = eeconfig_read_keymap();
|
||||
keycode_for_aj_rctl = keymap_config.swap_lalt_lgui ? KC_RALT : KC_RCTL;
|
||||
eeconfig_update_keymap(keymap_config.raw);
|
||||
clear_keyboard(); // clear to prevent stuck keys
|
||||
}
|
||||
22
keyboards/40percentclub/mf68/keymaps/andyjack/readme.md
Normal file
22
keyboards/40percentclub/mf68/keymaps/andyjack/readme.md
Normal file
@@ -0,0 +1,22 @@
|
||||
## Customizations from the `default` keymap
|
||||
|
||||
* caps lock is left ctrl / press & release for escape
|
||||
* keyboard LED brightness control - Fn + ] (same as default)
|
||||
* bootmagic:
|
||||
* ability to swap keys - for moving between mac and win/linux
|
||||
* for win/linux - keys are as labeled in layer 0; AJ_RCTL is right ctl
|
||||
* for mac:
|
||||
* LALT and LGUI swapped
|
||||
* RALT key sends RGUI code
|
||||
* AJ_RCTL key sends RALT code
|
||||
* layer 2 access via Fn + AJ_RCTL pressed in any order
|
||||
* regardless of swapped state
|
||||
* ability to disable left gui
|
||||
* Fn + v sends a middle mouse click - nice for pasting the mouse selection in
|
||||
linux - I always mess up and scroll while clicking
|
||||
* note: the mouse cursor has to be placed at the insert point
|
||||
* mapping some Fn + key combinations to program launch shortcuts
|
||||
|
||||
<!--
|
||||
vim:tw=78
|
||||
-->
|
||||
2
keyboards/40percentclub/mf68/keymaps/andyjack/rules.mk
Normal file
2
keyboards/40percentclub/mf68/keymaps/andyjack/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
MOUSEKEY_ENABLE = yes
|
||||
BOOTMAGIC_ENABLE = full
|
||||
@@ -5,7 +5,7 @@ A 60% PCB for MX switches, one hot swap and one solder-pcb version with decent l
|
||||
More info: https://geekhack.org/index.php?topic=103531.0
|
||||
|
||||
* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
|
||||
* Hardware Supported: waffling60 Rev A
|
||||
* Hardware Supported: [waffling60](https://github.com/4pplet/waffling60)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 0
|
||||
#define DEBOUNCE 5
|
||||
|
||||
#define QMK_ESC_OUTPUT D3 // usually COL
|
||||
#define QMK_ESC_INPUT D4 // usually ROW
|
||||
|
||||
@@ -1,24 +1,9 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*[0]
|
||||
*┌───┬───┬───┬───┐
|
||||
*│N L│/ │* │- │
|
||||
*├───┼───┼───┼───┤
|
||||
*│7 │8 │9 │ │
|
||||
*├───┼───┼───┤+ │
|
||||
*│4 │5 │6 │ │
|
||||
*├───┼───┼───┼───┤
|
||||
*│1 │2 │3 │ │
|
||||
*├───┴───┼───┤Ent│
|
||||
*│0 │. │ │
|
||||
*└───────┴───┴───┘
|
||||
*/
|
||||
|
||||
[0] = LAYOUT_numpad_5x4(KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT)
|
||||
[0] = LAYOUT_numpad_5x4(KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9,
|
||||
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_P1, KC_P2, KC_P3,
|
||||
KC_P0, KC_PDOT, KC_PENT)
|
||||
};
|
||||
|
||||
@@ -1,25 +1,11 @@
|
||||
# [Sendy YK](https://mr.sendyyk.com)'s Keymap
|
||||
# [Sendy YK's Keymap](https://github.com/mrsendyyk/my_qmk/tree/master/ai03_soyuz_numpad)
|
||||
|
||||
`LAYOUT_numpad_5x4`
|
||||
|
||||
### [0]
|
||||
|
||||
```
|
||||
┌───┬───┬───┬───┐
|
||||
│N L│/ │* │- │
|
||||
├───┼───┼───┼───┤
|
||||
│7 │8 │9 │ │
|
||||
├───┼───┼───┤+ │
|
||||
│4 │5 │6 │ │
|
||||
├───┼───┼───┼───┤
|
||||
│1 │2 │3 │ │
|
||||
├───┴───┼───┤Ent│
|
||||
│0 │. │ │
|
||||
└───────┴───┴───┘
|
||||
```
|
||||
![Default Layer [0]](https://raw.githubusercontent.com/mrsendyyk/my_qmk/master/ai03_soyuz_numpad/assets/ai03_soyuz_mrsendyyk.png)
|
||||
|
||||
## Build The Firmware
|
||||
|
||||
You will need to build the firmware. To do so go to your terminal window and run the compile command:
|
||||
|
||||
qmk compile -kb ai03/soyuz -km mrsendyyk
|
||||
|
||||
See [The Complete Newbs Guide To QMK](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
@@ -43,31 +43,35 @@ void led_set_kb(uint8_t usb_led) {
|
||||
}
|
||||
|
||||
led_config_t g_led_config = { {
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 },
|
||||
{ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 },
|
||||
{ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42 },
|
||||
{ NO_LED, 43, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56 },
|
||||
{ 57, 58, 59, NO_LED, NO_LED, NO_LED, NO_LED, 60, NO_LED, NO_LED, 61, 62, 63, 64}
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 },
|
||||
{ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 },
|
||||
{ 28, NO_LED, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 },
|
||||
{ NO_LED, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53 },
|
||||
{ 54, 55, 56, NO_LED, NO_LED, NO_LED, 57, NO_LED, NO_LED, 58, 59, 60, 61, 62 }
|
||||
}, {
|
||||
// Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace
|
||||
{ 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 202, 0 },
|
||||
// Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], ,
|
||||
{ 7, 16 }, { 22, 16 }, { 37, 16 }, { 52, 16 }, { 67, 16 }, { 82, 16 }, { 97, 16 }, { 112, 16 }, { 127, 16 }, { 142, 16 }, { 157, 16 }, { 172, 16 }, { 187, 16 }, { 206, 16 },
|
||||
{ 7, 16 }, { 22, 16 }, { 37, 16 }, { 52, 16 }, { 67, 16 }, { 82, 16 }, { 97, 16 }, { 112, 16 }, { 127, 16 }, { 142, 16 }, { 157, 16 }, { 172, 16 }, { 187, 16 }, { 206, 16 },
|
||||
// Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter
|
||||
{ 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 },
|
||||
{ 11, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 198, 32 },
|
||||
// LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up,
|
||||
{ 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, { 210, 48 },
|
||||
{ 18, 48 }, { 30, 48 }, { 45, 48 }, { 60, 48 }, { 75, 48 }, { 90, 48 }, { 105, 48 }, { 120, 48 }, { 135, 48 }, { 150, 48 }, { 165, 48 }, { 191, 48 }, { 210, 48 },
|
||||
// Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right
|
||||
{ 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 }
|
||||
{ 3, 64 }, { 22, 64 }, { 33, 64 }, { 101, 64 }, { 135, 64 }, { 153, 64 }, { 195, 64 }, { 210, 64 }, { 225, 64 },
|
||||
// UNDERGLOW
|
||||
{ 216, 32 }, { 180, 32 }, { 144, 32 }, { 108, 32 }, { 72, 32 }, { 36, 32 }
|
||||
}, {
|
||||
// Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
// Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], ,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
// Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], ,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
// Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
// LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||
// LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up,
|
||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
|
||||
// Ctrl, GUI, Alt, Space, RAlt, FN, Left, Down, Right
|
||||
1, 1, 1, 4, 1, 1, 1, 1, 1
|
||||
1, 1, 1, 4, 1, 1, 1, 1, 1,
|
||||
// UNDERGLOW
|
||||
2, 2, 2, 2, 2, 2
|
||||
} };
|
||||
|
||||
41
keyboards/bm60rgb/keymaps/jbradforddillon/keymap.c
Normal file
41
keyboards/bm60rgb/keymaps/jbradforddillon/keymap.c
Normal file
@@ -0,0 +1,41 @@
|
||||
/* Copyright 2020 jbradforddillon
|
||||
*
|
||||
* 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
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_GRV, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(1,KC_DEL),
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(2), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[2] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_MUTE,
|
||||
_______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
|
||||
)
|
||||
|
||||
};
|
||||
5
keyboards/bm60rgb/keymaps/jbradforddillon/readme.md
Normal file
5
keyboards/bm60rgb/keymaps/jbradforddillon/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
I set this up the same way I set up my dz60 boards.
|
||||
- Apple layout,
|
||||
- Capslock replaced with grave/tilde,
|
||||
- RShift doubles as forward slash, and
|
||||
- Delete doubles as a layer shift.
|
||||
55
keyboards/centromere/keymaps/mattly/keymap.c
Normal file
55
keyboards/centromere/keymaps/mattly/keymap.c
Normal file
@@ -0,0 +1,55 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "mattly.h"
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// I apparently soldered in my switches on the wrong sides of the boards, so this is mirrored
|
||||
|
||||
[_BASE_MAC] = LAYOUT_split_3x6_3(
|
||||
KC_SCLN, KC_P, O_CTL, I_ALT, U_GUI, KC_Y, KC_T, R_GUI, E_ALT, W_CTL, KC_Q, KC_BSPC,
|
||||
KC_QUOT, MINSCTL, L_ALT, K_GUI, J_SFT, KC_H, KC_G, F_SFT, D_GUI, S_ALT, A_CTL, KC_CAPS,
|
||||
KC_ENT, KC_SLSH, KC_DOT, KC_COMM, KC_M, KC_N, KC_B, KC_V, KC_C, KC_X, KC_Z, NAVLOCK,
|
||||
DEL_WRP, BSP_SYM, SPC_SFT, SPC_SFT, TAB_NUM, ESC_HYP
|
||||
),
|
||||
|
||||
[_OVER_WIN] = LAYOUT_split_3x6_3(
|
||||
_______, _______, O_GUI, _______, U_CTL, _______, _______, R_CTL, _______, W_GUI, _______, _______,
|
||||
_______, MINSGUI, _______, K_CTL, _______, _______, _______, _______, D_CTL, _______, A_GUI, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
[_SYMBOL] = LAYOUT_split_3x6_3(
|
||||
_______, XXXXXXX, KC_ASTR, KC_PLUS, KC_RABK, KC_LABK, KC_RBRC, KC_LBRC, KC_TILD, KC_GRV, KC_AMPR, _______,
|
||||
_______, KC_UNDS, KC_AT, KC_EXLM, KC_COLN, KC_SCLN, KC_RPRN, KC_LPRN, KC_EQL, KC_PERC, KC_DLR, _______,
|
||||
_______, KC_QUES, KC_BSLS, KC_PIPE, KC_DQUO, KC_QUOT, KC_RCBR, KC_LCBR, KC_HASH, KC_CIRC, KC_HASH, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_NAVNUM] = LAYOUT_split_3x6_3(
|
||||
KC_PLUS, KC_DOT, KC_P9, KC_P8, KC_P7, KC_DLR, KC_PGUP, M_FWORD, KC_UP, M_BWORD, M_NAVFW, M_NXWIN,
|
||||
KC_MINS, KC_EQL, KC_P6, KC_P5, KC_P4, KC_PERC, KC_PGDN, KC_RGHT, KC_DOWN, KC_LEFT, M_NAVBK, M_PVWIN,
|
||||
KC_ASTR, KC_COMM, KC_P3, KC_P2, KC_P1, KC_P0, M_NXTAB, KC_END, XXXXXXX, KC_HOME, M_PVTAB, _______,
|
||||
KC_P0, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_NAVNUM_WIN] = LAYOUT_split_3x6_3(
|
||||
_______, _______, _______, _______, _______, _______, _______, W_FWORD, _______, W_BWORD, W_NAVFW, W_NXWIN,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, W_NAVBK, W_PVWIN,
|
||||
_______, _______, _______, _______, _______, _______, W_NXTAB, _______, _______, _______, W_PVTAB, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_FUNCT] = LAYOUT_split_3x6_3(
|
||||
KC_F15, KC_F12, KC_F9, KC_F8, KC_F7, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET,
|
||||
KC_F14, KC_F11, KC_F6, KC_F5, KC_F4, KC_MUTE, XXXXXXX, TOG_WIN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
KC_F13, KC_F10, KC_F3, KC_F2, KC_F1, KC_VOLD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_FUNCT_WIN] = LAYOUT_split_3x6_3(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
1
keyboards/centromere/keymaps/mattly/rules.mk
Normal file
1
keyboards/centromere/keymaps/mattly/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
MOUSEKEY_ENABLE = no
|
||||
@@ -5,15 +5,17 @@
|
||||
Chavdai40 is very simple decoratable 40% keyboard
|
||||
|
||||
* Keyboard Maintainer: [t-miyajima](https://github.com/dvorak55)
|
||||
* Hardware Supported: Chavdai40 PCB rev1
|
||||
* Hardware Availability: not yet available.
|
||||
* Hardware Supported: Chavdai40 PCB rev1,rev2
|
||||
* Hardware Availability: [yushakobo](https://yushakobo.jp/shop/consign_chavdai40/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make chavdai40:default
|
||||
make chavdai40/rev1:default
|
||||
make chavdai40/rev2:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make chavdai40:default:flash
|
||||
make chavdai40/rev1:default:flash
|
||||
make chavdai40/rev2:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
@@ -13,4 +13,4 @@
|
||||
* 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 "chavdai40.h"
|
||||
#include "rev1.h"
|
||||
@@ -17,10 +17,10 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define XXX KC_NO
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define XXX KC_NO
|
||||
|
||||
// This a shortcut to help you visually see your layout.
|
||||
|
||||
#define LAYOUT_44key( \
|
||||
74
keyboards/chavdai40/rev2/config.h
Normal file
74
keyboards/chavdai40/rev2/config.h
Normal file
@@ -0,0 +1,74 @@
|
||||
/* Copyright 2020 t-miyajima
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x16D0
|
||||
#define PRODUCT_ID 0x0F95
|
||||
#define DEVICE_VER 0x0002
|
||||
#define MANUFACTURER t-miyajima
|
||||
#define PRODUCT Chavdai40 rev2
|
||||
|
||||
/* usb power settings */
|
||||
#define USB_MAX_POWER_CONSUMPTION 100
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
#define MATRIX_COLS 13
|
||||
|
||||
|
||||
#define MATRIX_ROW_PINS { A0, A15, B5, B6 }
|
||||
#define MATRIX_COL_PINS { B7, B4, B3, A8, B1, B0, A7, A6, A5, A4, A3, A2, A1 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||
*/
|
||||
// #define GRAVE_ESC_CTRL_OVERRIDE
|
||||
|
||||
/*
|
||||
* Force NKRO
|
||||
*
|
||||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||
* makefile for this to work.)
|
||||
*
|
||||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||
* until the next keyboard reset.
|
||||
*
|
||||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||
* fully operational during normal computer usage.
|
||||
*
|
||||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||
* power-up.
|
||||
*
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
16
keyboards/chavdai40/rev2/rev2.c
Normal file
16
keyboards/chavdai40/rev2/rev2.c
Normal file
@@ -0,0 +1,16 @@
|
||||
/* Copyright 2020 t-miyajima
|
||||
*
|
||||
* 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 "rev2.h"
|
||||
49
keyboards/chavdai40/rev2/rev2.h
Normal file
49
keyboards/chavdai40/rev2/rev2.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/* Copyright 2020 t-miyajima
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define XXX KC_NO
|
||||
|
||||
// This a shortcut to help you visually see your layout.
|
||||
|
||||
#define LAYOUT_44key( \
|
||||
k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, \
|
||||
k14 , k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25 , \
|
||||
k26 , k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, \
|
||||
k38, k39, k40, k41, k42, k43, k44 \
|
||||
) { \
|
||||
{ k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13 }, \
|
||||
{ k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, XXX }, \
|
||||
{ k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, XXX }, \
|
||||
{ k38, k39, XXX, k40, XXX, k41, XXX, XXX, k42, k43, k44, XXX, XXX } \
|
||||
}
|
||||
|
||||
#define LAYOUT_42key( \
|
||||
k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, \
|
||||
k14 , k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25 , \
|
||||
k26 , k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, \
|
||||
k38, k39, k41, k43, k44 \
|
||||
) { \
|
||||
{ k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13 }, \
|
||||
{ k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, XXX }, \
|
||||
{ k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, XXX }, \
|
||||
{ k38, k39, XXX, XXX, XXX, k41, XXX, XXX, XXX, k43, k44, XXX, XXX } \
|
||||
}
|
||||
|
||||
18
keyboards/chavdai40/rev2/rules.mk
Normal file
18
keyboards/chavdai40/rev2/rules.mk
Normal file
@@ -0,0 +1,18 @@
|
||||
# MCU name
|
||||
MCU = STM32F042
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
25
keyboards/dmqdesign/spin/keymaps/gorbachev/config.h
Normal file
25
keyboards/dmqdesign/spin/keymaps/gorbachev/config.h
Normal file
@@ -0,0 +1,25 @@
|
||||
/* Copyright 2019-2020 DMQ Design
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
|
||||
// Use one or the other, determines the orientation of
|
||||
// the OLED display
|
||||
// #define RIGHT_HAND
|
||||
#define LEFT_HAND
|
||||
247
keyboards/dmqdesign/spin/keymaps/gorbachev/keymap.c
Normal file
247
keyboards/dmqdesign/spin/keymaps/gorbachev/keymap.c
Normal file
@@ -0,0 +1,247 @@
|
||||
/* Copyright 2019-2020 DMQ Design
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers {
|
||||
_NUMPAD,
|
||||
_RGB,
|
||||
_MACRO
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
HELLO_WORLD = SAFE_RANGE,
|
||||
};
|
||||
|
||||
//The below layers are intentionally empty in order to give a good starting point for how to configure multiple layers.
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_NUMPAD] = LAYOUT(/* Base */
|
||||
KC_7, KC_8, KC_9, TO(_NUMPAD),
|
||||
KC_4, KC_5, KC_6, TO(_RGB),
|
||||
KC_1, KC_2, KC_3, TO(_MACRO),
|
||||
KC_0, KC_DOT, KC_ENTER
|
||||
),
|
||||
|
||||
[_RGB] = LAYOUT(/* Base */
|
||||
RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,
|
||||
RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS,
|
||||
KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||
RGB_RMOD, RGB_TOG, RGB_MOD
|
||||
),
|
||||
|
||||
[_MACRO] = LAYOUT(/* Base */
|
||||
HELLO_WORLD, KC_NO, KC_NO, KC_TRNS,
|
||||
KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||
KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||
KC_NO, KC_NO, KC_NO
|
||||
)
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case HELLO_WORLD:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("Hello, world!");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) { /* First encoder */
|
||||
switch (get_highest_layer(layer_state)) { //break each encoder update into a switch statement for the current layer
|
||||
case _NUMPAD:
|
||||
if (clockwise) {
|
||||
tap_code(KC_DOWN);
|
||||
} else {
|
||||
tap_code(KC_UP);
|
||||
}
|
||||
break;
|
||||
case _RGB:
|
||||
if (clockwise) {
|
||||
rgblight_increase_hue();
|
||||
} else {
|
||||
rgblight_decrease_hue();
|
||||
}
|
||||
break;
|
||||
case _MACRO:
|
||||
if (clockwise) {
|
||||
break;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (index == 1) { /* Second encoder */
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _NUMPAD:
|
||||
if (clockwise) {
|
||||
tap_code(KC_PGDN);
|
||||
} else {
|
||||
tap_code(KC_PGUP);
|
||||
}
|
||||
break;
|
||||
case _RGB:
|
||||
if (clockwise) {
|
||||
rgblight_increase_sat();
|
||||
} else {
|
||||
rgblight_decrease_sat();
|
||||
}
|
||||
break;
|
||||
case _MACRO:
|
||||
if (clockwise) {
|
||||
break;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (index == 2) { /* Third encoder */
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _NUMPAD:
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
break;
|
||||
case _RGB:
|
||||
if (clockwise) {
|
||||
rgblight_increase_val();
|
||||
} else {
|
||||
rgblight_decrease_val();
|
||||
}
|
||||
break;
|
||||
case _MACRO:
|
||||
if (clockwise) {
|
||||
break;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) { //This will run every time the layer is updated
|
||||
switch (get_highest_layer(state)) {
|
||||
case _NUMPAD:
|
||||
setrgb(RGB_WHITE, &led[0]); //Set the top LED to white for the bottom layer
|
||||
setrgb(0, 0, 0, &led[1]);
|
||||
setrgb(0, 0, 0, &led[2]);
|
||||
break;
|
||||
case _RGB:
|
||||
setrgb(0, 0, 0, &led[0]); //Set the middle LED to white for the middle layer
|
||||
setrgb(RGB_WHITE, &led[1]);
|
||||
setrgb(0, 0, 0, &led[2]);
|
||||
break;
|
||||
case _MACRO:
|
||||
setrgb(0, 0, 0, &led[0]);
|
||||
setrgb(0, 0, 0, &led[1]);
|
||||
setrgb(RGB_WHITE, &led[2]); //Set the bottom LED to white for the top layer
|
||||
break;
|
||||
}
|
||||
rgblight_set();
|
||||
return state;
|
||||
}
|
||||
|
||||
#ifdef OLED_DRIVER_ENABLE
|
||||
|
||||
static const char *ANIMATION_NAMES[] = {
|
||||
"unknown",
|
||||
"static",
|
||||
"breathing I",
|
||||
"breathing II",
|
||||
"breathing III",
|
||||
"breathing IV",
|
||||
"rainbow mood I",
|
||||
"rainbow mood II",
|
||||
"rainbow mood III",
|
||||
"rainbow swirl I",
|
||||
"rainbow swirl II",
|
||||
"rainbow swirl III",
|
||||
"rainbow swirl IV",
|
||||
"rainbow swirl V",
|
||||
"rainbow swirl VI",
|
||||
"snake I",
|
||||
"snake II",
|
||||
"snake III",
|
||||
"snake IV",
|
||||
"snake V",
|
||||
"snake VI",
|
||||
"knight I",
|
||||
"knight II",
|
||||
"knight III",
|
||||
"christmas",
|
||||
"static gradient I",
|
||||
"static gradient II",
|
||||
"static gradient III",
|
||||
"static gradient IV",
|
||||
"static gradient V",
|
||||
"static gradient VI",
|
||||
"static gradient VII",
|
||||
"static gradient VIII",
|
||||
"static gradient IX",
|
||||
"static gradient X",
|
||||
"rgb test",
|
||||
"alternating",
|
||||
"twinkle I",
|
||||
"twinkle II",
|
||||
"twinkle III",
|
||||
"twinkle IV",
|
||||
"twinkle V",
|
||||
"twinkle VI"
|
||||
};
|
||||
|
||||
void rgblight_get_mode_name(uint8_t mode, size_t bufsize, char *buf) {
|
||||
snprintf(buf, bufsize, "%-25s", ANIMATION_NAMES[mode]);
|
||||
}
|
||||
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
#ifdef LEFT_HAND
|
||||
return OLED_ROTATION_180;
|
||||
#else
|
||||
return OLED_ROTATION_0;
|
||||
#endif
|
||||
}
|
||||
|
||||
void oled_task_user(void) {
|
||||
// Host Keyboard Layer Status
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
case _NUMPAD:
|
||||
oled_write_P(PSTR("Numpad\n"), false);
|
||||
break;
|
||||
case _RGB:
|
||||
oled_write_P(PSTR("RGB\n"), false);
|
||||
break;
|
||||
case _MACRO:
|
||||
oled_write_P(PSTR("Macro\n"), false);
|
||||
break;
|
||||
default:
|
||||
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||
oled_write_ln_P(PSTR("Undefined"), false);
|
||||
}
|
||||
|
||||
static char rgb_mode_name[30];
|
||||
rgblight_get_mode_name(rgblight_get_mode(), sizeof(rgb_mode_name), rgb_mode_name);
|
||||
|
||||
oled_write_P(PSTR("Mode: "), false);
|
||||
oled_write_ln(rgb_mode_name, false);
|
||||
}
|
||||
#endif
|
||||
7
keyboards/dmqdesign/spin/keymaps/gorbachev/readme.md
Normal file
7
keyboards/dmqdesign/spin/keymaps/gorbachev/readme.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Keymap for Spin
|
||||
|
||||
* Encoder button push changes layers
|
||||
* First layer is a number pad
|
||||
* Second layer is RGB control layer
|
||||
* Third layer is macro layer
|
||||
* OLED support
|
||||
3
keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk
Normal file
3
keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
OLED_DRIVER_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = no
|
||||
MIDI_ENABLE = no
|
||||
@@ -8,7 +8,6 @@
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER KBDFans
|
||||
#define PRODUCT DZ60
|
||||
#define DESCRIPTION DZ60 Keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
||||
@@ -1,63 +1,29 @@
|
||||
/*
|
||||
* Based on Sendy YK's 60% ANSI Arrow Layout and Keymap
|
||||
* https://github.com/qmk/qmk_firmware/blob/master/layouts/default/60_ansi_arrow/info.json
|
||||
* https://github.com/qmk/qmk_firmware/blob/master/layouts/community/60_ansi_arrow/mrsendyyk/keymap.c
|
||||
*
|
||||
* https://github.com/mrsendyyk
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/*
|
||||
* Default Layer [0]
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │Bspc │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │Caps L│A │S │D │F │G │H │J │K │L │; │' │Enter │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
||||
* │Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||
* │Ctl │OS │Alt │ Space │Alt│Ctl│← │↓ │→ │
|
||||
* └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||
*/
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Default Layer [0] */
|
||||
[0] = LAYOUT_60_ansi_arrow(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, LT(2, KC_RALT), LT(1, KC_RCTL), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
/*
|
||||
* Fn Layer [1]
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Delete │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │Bri+ │ │ │End│Rst│ │ │ │Ins│ │P S│ │ │Eject│
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │Bri- │ │S L│ │ │ │Hm │ │ │ │ │ │Mute │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
||||
* │Vol+ │ │ │Cal│ │ │N L│Ml │ │ │Pause │P U│ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||
* │Vol-│Rwd │F FD│ Play │Stp│ │Prv│P D│Nxt│
|
||||
* └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||
*/
|
||||
/* Fn Layer [1] */
|
||||
[1] = LAYOUT_60_ansi_arrow(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
KC_BRIU, KC_TRNS, KC_TRNS, KC_END, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_EJCT,
|
||||
KC_BRID, KC_TRNS, KC_SLCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE,
|
||||
KC_VOLU, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_TRNS, KC_NLCK, KC_MAIL, KC_TRNS, KC_TRNS, KC_PAUS, KC_PGUP, KC_TRNS,
|
||||
KC_VOLD, KC_MRWD, KC_MFFD, KC_MPLY, KC_MSTP, KC_TRNS, KC_MPRV, KC_PGDN, KC_MNXT
|
||||
),
|
||||
|
||||
/*
|
||||
* Fn Layer [2]
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
* │ │R T│R M│Hu+│Hu-│Sa+│Sa-│Br+│Br-│ │ │ │ │ │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
||||
* │ │ │ │ │BL-│B T│BL+│B C│ │ │ │ │ │
|
||||
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||
* │ │ │ │ │ │ │ │ │ │
|
||||
* └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||
*/
|
||||
/* Fn Layer [2] */
|
||||
[2] = LAYOUT_60_ansi_arrow(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
@@ -71,7 +37,7 @@ void keyboard_post_init_user(void) {
|
||||
rgblight_sethsv_noeeprom(0, 0, 0);
|
||||
}
|
||||
|
||||
/* RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer indicator */
|
||||
/* RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer Indicator */
|
||||
void update_led(void) {
|
||||
/* Num Lock Indicator */
|
||||
if (host_keyboard_led_state().num_lock) {
|
||||
@@ -79,7 +45,7 @@ void keyboard_post_init_user(void) {
|
||||
}
|
||||
/* Scroll Lock Indicator */
|
||||
if (host_keyboard_led_state().scroll_lock) {
|
||||
rgblight_setrgb(0, 100, 255);
|
||||
rgblight_setrgb(241, 190, 72);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,56 +1,85 @@
|
||||
# [Sendy YK](https://mr.sendyyk.com)'s Keymap
|
||||
`LAYOUT_60_ansi_arrow` with RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer indicator.
|
||||
# Sendy YK's 60% ANSI Arrow Layout and Keymap
|
||||
|
||||
This is Sendy YK's [60% ANSI Arrow Layout](https://github.com/qmk/qmk_firmware/blob/master/layouts/default/60_ansi_arrow/info.json) and [Keymap (with RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer Indicator)](https://github.com/qmk/qmk_firmware/blob/master/layouts/community/60_ansi_arrow/mrsendyyk/keymap.c).
|
||||
|
||||
## 60% ANSI Arrow Layout
|
||||
|
||||

|
||||
|
||||
## Keymap
|
||||
|
||||
### Default Layer [0]
|
||||
|
||||
```
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
│Esc│1 │2 │3 │4 │5 │6 │7 │8 │9 │0 │- │= │Bspc │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
│Tab │Q │W │E │R │T │Y │U │I │O │P │[ │] │\ │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
│Caps L│A │S │D │F │G │H │J │K │L │; │' │Enter │
|
||||
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
||||
│Shift │Z │X │C │V │B │N │M │, │. │Shift │↑ │/ │
|
||||
├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||
│Ctl │OS │Alt │ Space │Alt│Ctl│← │↓ │→ │
|
||||
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||
```
|
||||
![Default Layer [0]](https://raw.githubusercontent.com/mrsendyyk/my_qmk/master/kbdfans_tofu_60_keyboard/assets/dz60_mrsendyyk_0.png)
|
||||
|
||||
### Fn Layer [1]
|
||||
Press and hold *right* **Ctl** key.
|
||||
```
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
│` │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Delete │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
│Bri+ │ │ │End│Rst│ │ │ │Ins│ │P S│ │ │Eject│
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
│Bri- │ │S L│ │ │ │Hm │ │ │ │ │ │Mute │
|
||||
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
||||
│Vol+ │ │ │Cal│ │ │N L│Ml │ │ │Pause │P U│ │
|
||||
├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||
│Vol-│Rwd │F FD│ Play │Stp│ │Prv│P D│Nxt│
|
||||
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||
```
|
||||
|
||||
Press and hold *right* **Ctrl** key.
|
||||
|
||||
![Fn Layer [1]](https://raw.githubusercontent.com/mrsendyyk/my_qmk/master/kbdfans_tofu_60_keyboard/assets/dz60_mrsendyyk_1.png)
|
||||
|
||||
### Fn Layer [2]
|
||||
|
||||
Press and hold *right* **Alt** key.
|
||||
|
||||
![Fn Layer [2]](https://raw.githubusercontent.com/mrsendyyk/my_qmk/master/kbdfans_tofu_60_keyboard/assets/dz60_mrsendyyk_2.png)
|
||||
|
||||
### RGB Lighting/LED/Underglow as Caps Lock, Num Lock, Scroll Lock, and Layer Indicator
|
||||
|
||||
#### Caps Lock Indicator
|
||||
|
||||
```c
|
||||
/* Caps Lock Indicator */
|
||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
|
||||
writePinLow(B2);
|
||||
rgblight_setrgb(100, 255, 100);
|
||||
}
|
||||
```
|
||||
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
|
||||
│ │R T│R M│Hu+│Hu-│Sa+│Sa-│Br+│Br-│ │ │ │ │ │
|
||||
├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
|
||||
│ │ │ │ │ │ │ │ │ │ │ │ │ │
|
||||
├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤
|
||||
│ │ │ │ │BL-│B T│BL+│B C│ │ │ │ │ │
|
||||
├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬───┼───┼───┤
|
||||
│ │ │ │ │ │ │ │ │ │
|
||||
└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘
|
||||
|
||||
#### Num Lock Indicator
|
||||
|
||||
```c
|
||||
/* Num Lock Indicator */
|
||||
if (host_keyboard_led_state().num_lock) {
|
||||
rgblight_setrgb(225, 8, 0);
|
||||
}
|
||||
```
|
||||
|
||||
#### Scroll Lock Indicator
|
||||
```c
|
||||
/* Scroll Lock Indicator */
|
||||
if (host_keyboard_led_state().scroll_lock) {
|
||||
rgblight_setrgb(241, 190, 72);
|
||||
}
|
||||
```
|
||||
|
||||
#### Layer Indicator
|
||||
|
||||
```c
|
||||
/* Layer Indicator */
|
||||
else {
|
||||
switch (get_highest_layer(layer_state)) {
|
||||
/* Fn Layer [1] Indicator */
|
||||
case 1:
|
||||
rgblight_setrgb(255, 110, 0);
|
||||
break;
|
||||
/* Fn Layer [2] Indicator */
|
||||
case 2:
|
||||
rgblight_setrgb(255, 110, 0);
|
||||
break;
|
||||
/* Default Layer [0] Indicator */
|
||||
default:
|
||||
rgblight_setrgb(0, 0, 0);
|
||||
break;
|
||||
}
|
||||
update_led();
|
||||
}
|
||||
```
|
||||
|
||||
## Build The Firmware
|
||||
|
||||
You will need to build the firmware. To do so go to your terminal window and run the compile command:
|
||||
|
||||
qmk compile -kb dz60 -km mrsendyyk
|
||||
|
||||
See [The Complete Newbs Guide To QMK](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
# DZ60
|
||||
# DZ60 60% Mechanical Keyboard PCB
|
||||
|
||||

|
||||

|
||||
|
||||
A customizable 60% keyboard.
|
||||
## A Customizable 60% Mechanical Keyboard PCB
|
||||
|
||||

|
||||
|
||||
* Keyboard Maintainer: QMK Community
|
||||
* Hardware Supported: DZ60
|
||||
* Hardware Availability: [KBDfans](https://kbdfans.myshopify.com/collections/pcb/products/dz60-60-pcb?variant=40971616717)
|
||||
* Hardware Supported: DZ60 60% Mechanical Keyboard PCB
|
||||
* Hardware Availability: [KBDfans](https://kbdfans.com/collections/60/products/dz60-60-pcb)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
|
||||
@@ -21,11 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x4558 // EX
|
||||
#define PRODUCT_ID 0xE851 // E8.5 Version 1
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Exclusive
|
||||
#define PRODUCT E8.5 Hotswap PCB
|
||||
#define DESCRIPTION A custom TKL keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 11
|
||||
|
||||
18
keyboards/exclusive/e85/hotswap/config.h
Normal file
18
keyboards/exclusive/e85/hotswap/config.h
Normal file
@@ -0,0 +1,18 @@
|
||||
/* Copyright 2020 MechMerlin
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#define PRODUCT_ID 0xE851 // E8.5 Hotswap
|
||||
#define PRODUCT E8.5 Hotswap PCB
|
||||
@@ -14,4 +14,4 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "e85.h"
|
||||
#include "hotswap.h"
|
||||
63
keyboards/exclusive/e85/hotswap/hotswap.h
Normal file
63
keyboards/exclusive/e85/hotswap/hotswap.h
Normal file
@@ -0,0 +1,63 @@
|
||||
/* Copyright 2020 MechMerlin
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define ___ KC_NO
|
||||
|
||||
#define LAYOUT_ansi_standard( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K68, K67, K65, K64, K63, K66, K62, K61, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K73, K76, K72, K71, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K83, K86, K82, K81, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K93, \
|
||||
K40, K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4, K92, \
|
||||
K50, K51, K52, K56, K58, K57, K54, K53, KA6, KA2, KA1 \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08 }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18 }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38 }, \
|
||||
{ K40, KC_NO, K42, K43, K44, K45, K46, K47, K48 }, \
|
||||
{ K50, K51, K52, K53, K54, KC_NO, K56, K57, K58 }, \
|
||||
{ KC_NO, K61, K62, K63, K64, K65, K66, K67, K68 }, \
|
||||
{ K70, K71, K72, K73, KC_NO, K75, K76, K77, K78 }, \
|
||||
{ KC_NO, K81, K82, K83, K84, K85, K86, K87, K88 }, \
|
||||
{ KC_NO, KC_NO, K92, K93, KC_NO, K95, KC_NO, K97, K98 }, \
|
||||
{ KC_NO, KA1, KA2, KC_NO, KA4, KA5, KA6, KA7, KA8 }, \
|
||||
}
|
||||
|
||||
#define LAYOUT_ansi_tsangan( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K68, K67, K65, K64, K63, K66, K62, K61, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K73, K76, K72, K71, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K83, K86, K82, K81, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K93, \
|
||||
K40, K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4, K92, \
|
||||
K50, K51, K52, K56, K57, K54, K53, KA6, KA2, KA1 \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08 }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18 }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28 }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38 }, \
|
||||
{ K40, KC_NO, K42, K43, K44, K45, K46, K47, K48 }, \
|
||||
{ K50, K51, K52, K53, K54, KC_NO, K56, K57, KC_NO }, \
|
||||
{ KC_NO, K61, K62, K63, K64, K65, K66, K67, K68 }, \
|
||||
{ K70, K71, K72, K73, KC_NO, K75, K76, K77, K78 }, \
|
||||
{ KC_NO, K81, K82, K83, K84, K85, K86, K87, K88 }, \
|
||||
{ KC_NO, KC_NO, K92, K93, KC_NO, K95, KC_NO, K97, K98 }, \
|
||||
{ KC_NO, KA1, KA2, KC_NO, KA4, KA5, KA6, KA7, KA8 }, \
|
||||
}
|
||||
193
keyboards/exclusive/e85/hotswap/info.json
Normal file
193
keyboards/exclusive/e85/hotswap/info.json
Normal file
@@ -0,0 +1,193 @@
|
||||
{
|
||||
"keyboard_name": "Exclusive E8.5 TKL",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 18.25,
|
||||
"height": 6.5,
|
||||
"layouts": {
|
||||
"LAYOUT_ansi_standard": {
|
||||
"layout": [
|
||||
{"label":"K00 (E6,D0)", "x":0, "y":0},
|
||||
{"label":"K01 (E6,D1)", "x":1.25, "y":0},
|
||||
{"label":"K02 (E6,D2)", "x":2.25, "y":0},
|
||||
{"label":"K03 (E6,D3)", "x":3.25, "y":0},
|
||||
{"label":"K04 (E6,D5)", "x":4.25, "y":0},
|
||||
{"label":"K05 (E6,D4)", "x":5.5, "y":0},
|
||||
{"label":"K06 (E6,D6)", "x":6.5, "y":0},
|
||||
{"label":"K07 (E6,D7)", "x":7.5, "y":0},
|
||||
{"label":"K08 (E6,B4)", "x":8.5, "y":0},
|
||||
{"label":"K68 (F7,B4)", "x":9.75, "y":0},
|
||||
{"label":"K67 (F7,D7)", "x":10.75, "y":0},
|
||||
{"label":"K65 (F7,D4)", "x":11.75, "y":0},
|
||||
{"label":"K64 (F7,D5)", "x":12.75, "y":0},
|
||||
{"label":"K63 (F7,D3)", "x":14, "y":0},
|
||||
{"label":"K66 (F7,D6)", "x":15.25, "y":0},
|
||||
{"label":"K62 (F7,D2)", "x":16.25, "y":0},
|
||||
{"label":"K61 (F7,D1)", "x":17.25, "y":0},
|
||||
{"label":"K10 (B0,D0)", "x":0, "y":1.5},
|
||||
{"label":"K11 (B0,D1)", "x":1, "y":1.5},
|
||||
{"label":"K12 (B0,D2)", "x":2, "y":1.5},
|
||||
{"label":"K13 (B0,D3)", "x":3, "y":1.5},
|
||||
{"label":"K14 (B0,D5)", "x":4, "y":1.5},
|
||||
{"label":"K15 (B0,D4)", "x":5, "y":1.5},
|
||||
{"label":"K16 (B0,D6)", "x":6, "y":1.5},
|
||||
{"label":"K17 (B0,D7)", "x":7, "y":1.5},
|
||||
{"label":"K18 (B0,B4)", "x":8, "y":1.5},
|
||||
{"label":"K78 (F6,B4)", "x":9, "y":1.5},
|
||||
{"label":"K70 (F6,D0)", "x":10, "y":1.5},
|
||||
{"label":"K77 (F6,D7)", "x":11, "y":1.5},
|
||||
{"label":"K75 (F6,D4)", "x":12, "y":1.5},
|
||||
{"label":"K73 (F6,D3)", "x":13, "y":1.5, "w":2},
|
||||
{"label":"K76 (F6,D6)", "x":15.25, "y":1.5},
|
||||
{"label":"K72 (F6,D2)", "x":16.25, "y":1.5},
|
||||
{"label":"K71 (F6,D1)", "x":17.25, "y":1.5},
|
||||
{"label":"K20 (B1,D0)", "x":0, "y":2.5, "w":1.5},
|
||||
{"label":"K21 (B1,D1)", "x":1.5, "y":2.5},
|
||||
{"label":"K22 (B1,D2)", "x":2.5, "y":2.5},
|
||||
{"label":"K23 (B1,D3)", "x":3.5, "y":2.5},
|
||||
{"label":"K24 (B1,D5)", "x":4.5, "y":2.5},
|
||||
{"label":"K25 (B1,D4)", "x":5.5, "y":2.5},
|
||||
{"label":"K26 (B1,D6)", "x":6.5, "y":2.5},
|
||||
{"label":"K27 (B1,D7)", "x":7.5, "y":2.5},
|
||||
{"label":"K28 (B1,B4)", "x":8.5, "y":2.5},
|
||||
{"label":"K88 (F5,B4)", "x":9.5, "y":2.5},
|
||||
{"label":"K87 (F5,D7)", "x":10.5, "y":2.5},
|
||||
{"label":"K85 (F5,D4)", "x":11.5, "y":2.5},
|
||||
{"label":"K84 (F5,D5)", "x":12.5, "y":2.5},
|
||||
{"label":"K83 (F5,D3)", "x":13.5, "y":2.5, "w":1.5},
|
||||
{"label":"K86 (F5,D6)", "x":15.25, "y":2.5},
|
||||
{"label":"K82 (F5,D2)", "x":16.25, "y":2.5},
|
||||
{"label":"K81 (F5,D1)", "x":17.25, "y":2.5},
|
||||
{"label":"K30 (B2,D0)", "x":0, "y":3.5, "w":1.75},
|
||||
{"label":"K31 (B2,D1)", "x":1.75, "y":3.5},
|
||||
{"label":"K32 (B2,D2)", "x":2.75, "y":3.5},
|
||||
{"label":"K33 (B2,D3)", "x":3.75, "y":3.5},
|
||||
{"label":"K34 (B2,D5)", "x":4.75, "y":3.5},
|
||||
{"label":"K35 (B2,D4)", "x":5.75, "y":3.5},
|
||||
{"label":"K36 (B2,D6)", "x":6.75, "y":3.5},
|
||||
{"label":"K37 (B2,D7)", "x":7.75, "y":3.5},
|
||||
{"label":"K38 (B2,B4)", "x":8.75, "y":3.5},
|
||||
{"label":"K98 (F4,B4)", "x":9.75, "y":3.5},
|
||||
{"label":"K97 (F4,D7)", "x":10.75, "y":3.5},
|
||||
{"label":"K95 (F4,D4)", "x":11.75, "y":3.5},
|
||||
{"label":"K93 (F4,D3)", "x":12.75, "y":3.5, "w":2.25},
|
||||
{"label":"K40 (B3,D0)", "x":0, "y":4.5, "w":2.25},
|
||||
{"label":"K42 (B3,D2)", "x":2.25, "y":4.5},
|
||||
{"label":"K43 (B3,D3)", "x":3.25, "y":4.5},
|
||||
{"label":"K44 (B3,D5)", "x":4.25, "y":4.5},
|
||||
{"label":"K45 (B3,D4)", "x":5.25, "y":4.5},
|
||||
{"label":"K46 (B3,D6)", "x":6.25, "y":4.5},
|
||||
{"label":"K47 (B3,D7)", "x":7.25, "y":4.5},
|
||||
{"label":"K48 (B3,B4)", "x":8.25, "y":4.5},
|
||||
{"label":"KA8 (F1,B4)", "x":9.25, "y":4.5},
|
||||
{"label":"KA7 (F1,D7)", "x":10.25, "y":4.5},
|
||||
{"label":"KA5 (F1,D4)", "x":11.25, "y":4.5},
|
||||
{"label":"KA4 (F1,D5)", "x":12.25, "y":4.5, "w":2.75},
|
||||
{"label":"K92 (F4,D2)", "x":16.25, "y":4.5},
|
||||
{"label":"K50 (B7,D0)", "x":0, "y":5.5, "w":1.25},
|
||||
{"label":"K51 (B7,D1)", "x":1.25, "y":5.5, "w":1.25},
|
||||
{"label":"K52 (B7,D2)", "x":2.5, "y":5.5, "w":1.25},
|
||||
{"label":"K56 (B7,D6)", "x":3.75, "y":5.5, "w":6.25},
|
||||
{"label":"K58 (B7,B4)", "x":10, "y":5.5, "w":1.25},
|
||||
{"label":"K57 (B7,D7)", "x":11.25, "y":5.5, "w":1.25},
|
||||
{"label":"K54 (B7,D5)", "x":12.5, "y":5.5, "w":1.25},
|
||||
{"label":"K53 (B7,D3)", "x":13.75, "y":5.5, "w":1.25},
|
||||
{"label":"KA6 (F1,D6)", "x":15.25, "y":5.5},
|
||||
{"label":"KA2 (F1,D2)", "x":16.25, "y":5.5},
|
||||
{"label":"KA1 (F1,D1)", "x":17.25, "y":5.5}
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_ansi_tsangan": {
|
||||
"layout": [
|
||||
{"label":"K00 (E6,D0)", "x":0, "y":0},
|
||||
{"label":"K01 (E6,D1)", "x":1.25, "y":0},
|
||||
{"label":"K02 (E6,D2)", "x":2.25, "y":0},
|
||||
{"label":"K03 (E6,D3)", "x":3.25, "y":0},
|
||||
{"label":"K04 (E6,D5)", "x":4.25, "y":0},
|
||||
{"label":"K05 (E6,D4)", "x":5.5, "y":0},
|
||||
{"label":"K06 (E6,D6)", "x":6.5, "y":0},
|
||||
{"label":"K07 (E6,D7)", "x":7.5, "y":0},
|
||||
{"label":"K08 (E6,B4)", "x":8.5, "y":0},
|
||||
{"label":"K68 (F7,B4)", "x":9.75, "y":0},
|
||||
{"label":"K67 (F7,D7)", "x":10.75, "y":0},
|
||||
{"label":"K65 (F7,D4)", "x":11.75, "y":0},
|
||||
{"label":"K64 (F7,D5)", "x":12.75, "y":0},
|
||||
{"label":"K63 (F7,D3)", "x":14, "y":0},
|
||||
{"label":"K66 (F7,D6)", "x":15.25, "y":0},
|
||||
{"label":"K62 (F7,D2)", "x":16.25, "y":0},
|
||||
{"label":"K61 (F7,D1)", "x":17.25, "y":0},
|
||||
{"label":"K10 (B0,D0)", "x":0, "y":1.5},
|
||||
{"label":"K11 (B0,D1)", "x":1, "y":1.5},
|
||||
{"label":"K12 (B0,D2)", "x":2, "y":1.5},
|
||||
{"label":"K13 (B0,D3)", "x":3, "y":1.5},
|
||||
{"label":"K14 (B0,D5)", "x":4, "y":1.5},
|
||||
{"label":"K15 (B0,D4)", "x":5, "y":1.5},
|
||||
{"label":"K16 (B0,D6)", "x":6, "y":1.5},
|
||||
{"label":"K17 (B0,D7)", "x":7, "y":1.5},
|
||||
{"label":"K18 (B0,B4)", "x":8, "y":1.5},
|
||||
{"label":"K78 (F6,B4)", "x":9, "y":1.5},
|
||||
{"label":"K70 (F6,D0)", "x":10, "y":1.5},
|
||||
{"label":"K77 (F6,D7)", "x":11, "y":1.5},
|
||||
{"label":"K75 (F6,D4)", "x":12, "y":1.5},
|
||||
{"label":"K73 (F6,D3)", "x":13, "y":1.5, "w":2},
|
||||
{"label":"K76 (F6,D6)", "x":15.25, "y":1.5},
|
||||
{"label":"K72 (F6,D2)", "x":16.25, "y":1.5},
|
||||
{"label":"K71 (F6,D1)", "x":17.25, "y":1.5},
|
||||
{"label":"K20 (B1,D0)", "x":0, "y":2.5, "w":1.5},
|
||||
{"label":"K21 (B1,D1)", "x":1.5, "y":2.5},
|
||||
{"label":"K22 (B1,D2)", "x":2.5, "y":2.5},
|
||||
{"label":"K23 (B1,D3)", "x":3.5, "y":2.5},
|
||||
{"label":"K24 (B1,D5)", "x":4.5, "y":2.5},
|
||||
{"label":"K25 (B1,D4)", "x":5.5, "y":2.5},
|
||||
{"label":"K26 (B1,D6)", "x":6.5, "y":2.5},
|
||||
{"label":"K27 (B1,D7)", "x":7.5, "y":2.5},
|
||||
{"label":"K28 (B1,B4)", "x":8.5, "y":2.5},
|
||||
{"label":"K88 (F5,B4)", "x":9.5, "y":2.5},
|
||||
{"label":"K87 (F5,D7)", "x":10.5, "y":2.5},
|
||||
{"label":"K85 (F5,D4)", "x":11.5, "y":2.5},
|
||||
{"label":"K84 (F5,D5)", "x":12.5, "y":2.5},
|
||||
{"label":"K83 (F5,D3)", "x":13.5, "y":2.5, "w":1.5},
|
||||
{"label":"K86 (F5,D6)", "x":15.25, "y":2.5},
|
||||
{"label":"K82 (F5,D2)", "x":16.25, "y":2.5},
|
||||
{"label":"K81 (F5,D1)", "x":17.25, "y":2.5},
|
||||
{"label":"K30 (B2,D0)", "x":0, "y":3.5, "w":1.75},
|
||||
{"label":"K31 (B2,D1)", "x":1.75, "y":3.5},
|
||||
{"label":"K32 (B2,D2)", "x":2.75, "y":3.5},
|
||||
{"label":"K33 (B2,D3)", "x":3.75, "y":3.5},
|
||||
{"label":"K34 (B2,D5)", "x":4.75, "y":3.5},
|
||||
{"label":"K35 (B2,D4)", "x":5.75, "y":3.5},
|
||||
{"label":"K36 (B2,D6)", "x":6.75, "y":3.5},
|
||||
{"label":"K37 (B2,D7)", "x":7.75, "y":3.5},
|
||||
{"label":"K38 (B2,B4)", "x":8.75, "y":3.5},
|
||||
{"label":"K98 (F4,B4)", "x":9.75, "y":3.5},
|
||||
{"label":"K97 (F4,D7)", "x":10.75, "y":3.5},
|
||||
{"label":"K95 (F4,D4)", "x":11.75, "y":3.5},
|
||||
{"label":"K93 (F4,D3)", "x":12.75, "y":3.5, "w":2.25},
|
||||
{"label":"K40 (B3,D0)", "x":0, "y":4.5, "w":2.25},
|
||||
{"label":"K42 (B3,D2)", "x":2.25, "y":4.5},
|
||||
{"label":"K43 (B3,D3)", "x":3.25, "y":4.5},
|
||||
{"label":"K44 (B3,D5)", "x":4.25, "y":4.5},
|
||||
{"label":"K45 (B3,D4)", "x":5.25, "y":4.5},
|
||||
{"label":"K46 (B3,D6)", "x":6.25, "y":4.5},
|
||||
{"label":"K47 (B3,D7)", "x":7.25, "y":4.5},
|
||||
{"label":"K48 (B3,B4)", "x":8.25, "y":4.5},
|
||||
{"label":"KA8 (F1,B4)", "x":9.25, "y":4.5},
|
||||
{"label":"KA7 (F1,D7)", "x":10.25, "y":4.5},
|
||||
{"label":"KA5 (F1,D4)", "x":11.25, "y":4.5},
|
||||
{"label":"KA4 (F1,D5)", "x":12.25, "y":4.5, "w":2.75},
|
||||
{"label":"K92 (F4,D2)", "x":16.25, "y":4.5},
|
||||
{"label":"K50 (B7,D0)", "x":0, "y":5.5, "w":1.5},
|
||||
{"label":"K51 (B7,D1)", "x":1.5, "y":5.5},
|
||||
{"label":"K52 (B7,D2)", "x":2.5, "y":5.5, "w":1.5},
|
||||
{"label":"K56 (B7,D6)", "x":4, "y":5.5, "w":7},
|
||||
{"label":"K57 (B7,D7)", "x":11, "y":5.5, "w":1.5},
|
||||
{"label":"K54 (B7,D5)", "x":12.5, "y":5.5},
|
||||
{"label":"K53 (B7,D3)", "x":13.5, "y":5.5, "w":1.5},
|
||||
{"label":"KA6 (F1,D6)", "x":15.25, "y":5.5},
|
||||
{"label":"KA2 (F1,D2)", "x":16.25, "y":5.5},
|
||||
{"label":"KA1 (F1,D1)", "x":17.25, "y":5.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
17
keyboards/exclusive/e85/hotswap/keymaps/via/config.h
Normal file
17
keyboards/exclusive/e85/hotswap/keymaps/via/config.h
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2020 MechMerlin
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||
17
keyboards/exclusive/e85/hotswap/readme.md
Normal file
17
keyboards/exclusive/e85/hotswap/readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Exclusive E8.5 Hotswap
|
||||
|
||||
Hotswap PCB for Exclusive E8.5.
|
||||
|
||||
Switch Matrix is identical between the standard and tsangan variants. Please select the correct layout.
|
||||
|
||||
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
||||
* Hardware Supported: E8.5 Hotswap, atmega32u4
|
||||
* Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=103520)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make exclusive/e85/hotswap:default
|
||||
|
||||
**Reset Key**: The board can be reset by shorting the two holes underneath the PCB, or pressing the reset button on the reverse side.
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
0
keyboards/exclusive/e85/hotswap/rules.mk
Normal file
0
keyboards/exclusive/e85/hotswap/rules.mk
Normal file
@@ -1 +0,0 @@
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||
@@ -1,16 +1,15 @@
|
||||
# Exclusive E8.5 Hotswap
|
||||
|
||||
Custom hotswap PCB for Exclusive E8.5.
|
||||
Custom PCBs for Exclusive E8.5.
|
||||
|
||||
The switch matrix is identical between all three PCB variants of this board. Choose the correct LAYOUT that best matches the physical LAYOUT of your PCB.
|
||||
|
||||
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
|
||||
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin), [rebeccaby](https://github.com/rebeccaby)
|
||||
* Hardware Supported: E8.5 Hotswap/Soldered, atmega32u4
|
||||
* Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=103520)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make exclusive/e85:default
|
||||
make exclusive/e85/hotswap:default
|
||||
make exclusive/e85/soldered:default
|
||||
|
||||
**Reset Key**: The board can be reset by shorting the two holes underneath the PCB, or pressing the reset button on the reverse side.
|
||||
|
||||
|
||||
@@ -2,13 +2,6 @@
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
@@ -25,8 +18,8 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
MIDI_ENABLE = no # MIDI support
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||
LTO_ENABLE = yes
|
||||
|
||||
DEFAULT_FOLDER = exclusive/e85/hotswap
|
||||
|
||||
18
keyboards/exclusive/e85/soldered/config.h
Normal file
18
keyboards/exclusive/e85/soldered/config.h
Normal file
@@ -0,0 +1,18 @@
|
||||
/* Copyright 2020 MechMerlin
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#define PRODUCT_ID 0xE852 // E8.5 Soldered
|
||||
#define PRODUCT E8.5 Soldered PCB
|
||||
37
keyboards/exclusive/e85/soldered/keymaps/default/keymap.c
Normal file
37
keyboards/exclusive/e85/soldered/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,37 @@
|
||||
/* Copyright 2020 MechMerlin
|
||||
*
|
||||
* 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
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_ansi_tsangan(
|
||||
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, MO(1), 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_ansi_tsangan(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
37
keyboards/exclusive/e85/soldered/keymaps/standard/keymap.c
Normal file
37
keyboards/exclusive/e85/soldered/keymaps/standard/keymap.c
Normal file
@@ -0,0 +1,37 @@
|
||||
/* Copyright 2020 MechMerlin
|
||||
*
|
||||
* 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
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_ansi_standard(
|
||||
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, MO(1), 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_ansi_standard(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
17
keyboards/exclusive/e85/soldered/keymaps/via/config.h
Normal file
17
keyboards/exclusive/e85/soldered/keymaps/via/config.h
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2020 MechMerlin
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||
45
keyboards/exclusive/e85/soldered/keymaps/via/keymap.c
Normal file
45
keyboards/exclusive/e85/soldered/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,45 @@
|
||||
/* Copyright 2020 MechMerlin
|
||||
*
|
||||
* 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
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_ansi_tsangan(
|
||||
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, MO(1), 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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_ansi_tsangan(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[2] = LAYOUT_ansi_tsangan(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
3
keyboards/exclusive/e85/soldered/keymaps/via/rules.mk
Normal file
3
keyboards/exclusive/e85/soldered/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,3 @@
|
||||
VIA_ENABLE = yes
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
15
keyboards/exclusive/e85/soldered/readme.md
Normal file
15
keyboards/exclusive/e85/soldered/readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Exclusive E8.5 Soldered
|
||||
|
||||
Soldered PCB for Exclusive E8.5.
|
||||
|
||||
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin), [rebeccaby](https://github.com/rebeccaby)
|
||||
* Hardware Supported: E8.5 Soldered, atmega32u4
|
||||
* Hardware Availability: [Geekhack GB](https://geekhack.org/index.php?topic=103520)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make exclusive/e85/soldered:default
|
||||
|
||||
**Reset Key**: The board can be reset by shorting the two holes underneath the PCB, or pressing the reset button on the reverse side.
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
0
keyboards/exclusive/e85/soldered/rules.mk
Normal file
0
keyboards/exclusive/e85/soldered/rules.mk
Normal file
17
keyboards/exclusive/e85/soldered/soldered.c
Normal file
17
keyboards/exclusive/e85/soldered/soldered.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2020 MechMerlin
|
||||
*
|
||||
* 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 "soldered.h"
|
||||
@@ -20,7 +20,6 @@
|
||||
|
||||
#define ___ KC_NO
|
||||
|
||||
// This is the layout for the soldered PCB
|
||||
#define LAYOUT_all( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K68, K67, K65, K64, K63, K66, K62, K61, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K74, K73, K76, K72, K71, \
|
||||
@@ -42,12 +41,11 @@
|
||||
{ KC_NO, KA1, KA2, KA3, KA4, KA5, KA6, KA7, KA8 }, \
|
||||
}
|
||||
|
||||
// This is the layout for one hotswap PCB and can also be used on the soldered edition
|
||||
#define LAYOUT_ansi_standard( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K68, K67, K65, K64, K63, K66, K62, K61, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K73, K76, K72, K71, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K83, K86, K82, K81, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K93, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K94, K86, K82, K81, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K83, \
|
||||
K40, K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4, K92, \
|
||||
K50, K51, K52, K56, K58, K57, K54, K53, KA6, KA2, KA1 \
|
||||
) { \
|
||||
@@ -60,16 +58,15 @@
|
||||
{ KC_NO, K61, K62, K63, K64, K65, K66, K67, K68 }, \
|
||||
{ K70, K71, K72, K73, KC_NO, K75, K76, K77, K78 }, \
|
||||
{ KC_NO, K81, K82, K83, K84, K85, K86, K87, K88 }, \
|
||||
{ KC_NO, KC_NO, K92, K93, KC_NO, K95, KC_NO, K97, K98 }, \
|
||||
{ KC_NO, KC_NO, K92, KC_NO, K94, K95, KC_NO, K97, K98 }, \
|
||||
{ KC_NO, KA1, KA2, KC_NO, KA4, KA5, KA6, KA7, KA8 }, \
|
||||
}
|
||||
|
||||
// This is the layout for one hotswap PCB and can also be used on the soldered edition
|
||||
#define LAYOUT_ansi_tsangan( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K68, K67, K65, K64, K63, K66, K62, K61, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K78, K70, K77, K75, K73, K76, K72, K71, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K83, K86, K82, K81, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K93, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K88, K87, K85, K84, K94, K86, K82, K81, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K98, K97, K95, K83, \
|
||||
K40, K42, K43, K44, K45, K46, K47, K48, KA8, KA7, KA5, KA4, K92, \
|
||||
K50, K51, K52, K56, K57, K54, K53, KA6, KA2, KA1 \
|
||||
) { \
|
||||
@@ -82,6 +79,6 @@
|
||||
{ KC_NO, K61, K62, K63, K64, K65, K66, K67, K68 }, \
|
||||
{ K70, K71, K72, K73, KC_NO, K75, K76, K77, K78 }, \
|
||||
{ KC_NO, K81, K82, K83, K84, K85, K86, K87, K88 }, \
|
||||
{ KC_NO, KC_NO, K92, K93, KC_NO, K95, KC_NO, K97, K98 }, \
|
||||
{ KC_NO, KA1, KA2, KC_NO, KA4, KA5, KA6, KA7, KA8 }, \
|
||||
{ KC_NO, KC_NO, K92, KC_NO, K94, K95, KC_NO, K97, K98 }, \
|
||||
{ KC_NO, KA1, KA2, KC_NO, KA4, KA5, KA6, KA7, KA8 }, \
|
||||
}
|
||||
1
keyboards/getta25/keymaps/oled/rules.mk
Normal file
1
keyboards/getta25/keymaps/oled/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
OLED_DRIVER_ENABLE = yes
|
||||
@@ -26,7 +26,7 @@ AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
OLED_DRIVER_ENABLE = yes
|
||||
OLED_DRIVER_ENABLE = no
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
|
||||
@@ -18,7 +18,8 @@
|
||||
void matrix_init_kb(void) {
|
||||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
|
||||
setPinOutput(D5);
|
||||
setPinOutput(E6);
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
@@ -42,26 +43,19 @@ void led_set_kb(uint8_t usb_led) {
|
||||
led_set_user(usb_led);
|
||||
}
|
||||
|
||||
void led_init_ports(void) {
|
||||
setPinOutput(D5);
|
||||
setPinOutput(E6);
|
||||
bool led_update_kb(led_t led_state) {
|
||||
if(led_update_user(led_state)) {
|
||||
writePin(D5, !led_state.caps_lock);
|
||||
writePin(E6, !led_state.scroll_lock);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
|
||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
|
||||
setPinOutput(D5);
|
||||
writePinLow(D5);
|
||||
} else {
|
||||
setPinInput(D5);
|
||||
}
|
||||
|
||||
if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) {
|
||||
setPinOutput(E6);
|
||||
writePinLow(E6);
|
||||
} else {
|
||||
setPinInput(E6);
|
||||
}
|
||||
void eeconfig_init_kb(void) { // EEPROM is getting reset!
|
||||
rgblight_enable(); // Enable RGB by default
|
||||
rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness
|
||||
rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
|
||||
|
||||
eeconfig_update_kb(0);
|
||||
eeconfig_init_user();
|
||||
}
|
||||
|
||||
|
||||
20
keyboards/keebio/bdn9/keymaps/ghostseven/config.h
Normal file
20
keyboards/keebio/bdn9/keymaps/ghostseven/config.h
Normal file
@@ -0,0 +1,20 @@
|
||||
/* Copyright 2020 GhostSeven <work@ghost7.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_KEYPRESSES
|
||||
#endif
|
||||
70
keyboards/keebio/bdn9/keymaps/ghostseven/keymap.c
Normal file
70
keyboards/keebio/bdn9/keymaps/ghostseven/keymap.c
Normal file
@@ -0,0 +1,70 @@
|
||||
/* Copyright 2020 GhostSeven <work@ghost7.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum encoder_names {
|
||||
_LEFT,
|
||||
_RIGHT,
|
||||
_MIDDLE,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/*
|
||||
| Knob 1: Vol Dn/Up | | Knob 2: Page Dn/Up |
|
||||
| Press: Mute | Home | Press: Play/Pause |
|
||||
| Hold: Layer 2 | Up | Enter |
|
||||
| Left | Down | Right |
|
||||
*/
|
||||
[0] = LAYOUT(
|
||||
KC_MUTE, KC_HOME, KC_MPLY,
|
||||
MO(1) , KC_UP , KC_ENT,
|
||||
KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
/*
|
||||
| RESET | Shift+CMD+B (Build VS Code) | Media Stop |
|
||||
| Held: Layer 2 | Home | RGB Mode |
|
||||
| Media Previous | End | Media Next |
|
||||
*/
|
||||
[1] = LAYOUT(
|
||||
RESET , S(G(KC_B)), KC_STOP,
|
||||
_______, KC_HOME, RGB_MOD,
|
||||
KC_MPRV, KC_END , KC_MNXT
|
||||
),
|
||||
};
|
||||
|
||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == _LEFT) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLD);
|
||||
} else {
|
||||
tap_code(KC_VOLU);
|
||||
}
|
||||
}
|
||||
else if (index == _MIDDLE) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_UP);
|
||||
} else {
|
||||
tap_code(KC_DOWN);
|
||||
}
|
||||
}
|
||||
else if (index == _RIGHT) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_PGUP);
|
||||
} else {
|
||||
tap_code(KC_PGDN);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xCB10
|
||||
#define PRODUCT_ID 0x1157
|
||||
#define PRODUCT_ID 0x2157
|
||||
#define DEVICE_VER 0x0200
|
||||
#define MANUFACTURER Keebio
|
||||
#define PRODUCT The Viterbi Keyboard
|
||||
|
||||
44
keyboards/mechlovin/delphine/config.h
Normal file
44
keyboards/mechlovin/delphine/config.h
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
Copyright 2020 Team Mechlovin'
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x4D4C
|
||||
#define MANUFACTURER Mechlovin
|
||||
#define PRODUCT Mechlovin Delphine
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 4
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6, D3 }
|
||||
#define MATRIX_COL_PINS { F7, D7, D6, D2 }
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
35
keyboards/mechlovin/delphine/delphine.c
Normal file
35
keyboards/mechlovin/delphine/delphine.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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 "delphine.h"
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
matrix_init_user();
|
||||
led_init_ports();
|
||||
}
|
||||
|
||||
void led_init_ports(void) {
|
||||
setPinOutput(B5);
|
||||
writePinLow(B5);
|
||||
}
|
||||
|
||||
bool led_update_kb(led_t led_state) {
|
||||
if(led_update_user(led_state)) {
|
||||
writePin(B5, led_state.num_lock);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
35
keyboards/mechlovin/delphine/delphine.h
Normal file
35
keyboards/mechlovin/delphine/delphine.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_ortho_6x4( \
|
||||
K00, K01, K02, K03, \
|
||||
K10, K11, K12, K13, \
|
||||
K20, K21, K22, K23, \
|
||||
K30, K31, K32, K33, \
|
||||
K40, K41, K42, K43, \
|
||||
K50, K51, K52, K53 \
|
||||
) { \
|
||||
{ K00, K01, K02, K03 }, \
|
||||
{ K10, K11, K12, K13 }, \
|
||||
{ K20, K21, K22, K23 }, \
|
||||
{ K30, K31, K32, K33 }, \
|
||||
{ K40, K41, K42, K43 }, \
|
||||
{ K50, K51, K52, K53 }, \
|
||||
}
|
||||
38
keyboards/mechlovin/delphine/info.json
Normal file
38
keyboards/mechlovin/delphine/info.json
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"keyboard_name": "Delphine",
|
||||
"url": "",
|
||||
"maintainer": "Team Mechlovin'",
|
||||
"width": 4,
|
||||
"height": 6.25,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_6x4": {
|
||||
"layout": [
|
||||
{"label":"K00 (F0,F7)", "x":0, "y":0},
|
||||
{"label":"K01 (F0,D7)", "x":1, "y":0},
|
||||
{"label":"K02 (F0,D6)", "x":2, "y":0},
|
||||
{"label":"K03 (F0,D2)", "x":3, "y":0},
|
||||
{"label":"K10 (F1,F7)", "x":0, "y":1.25},
|
||||
{"label":"K11 (F1,D7)", "x":1, "y":1.25},
|
||||
{"label":"K12 (F1,D6)", "x":2, "y":1.25},
|
||||
{"label":"K13 (F1,D2)", "x":3, "y":1.25},
|
||||
{"label":"K20 (F4,F7)", "x":0, "y":2.25},
|
||||
{"label":"K21 (F4,D7)", "x":1, "y":2.25},
|
||||
{"label":"K22 (F4,D6)", "x":2, "y":2.25},
|
||||
{"label":"K23 (F4,D2)", "x":3, "y":2.25},
|
||||
{"label":"K30 (F5,F7)", "x":0, "y":3.25},
|
||||
{"label":"K31 (F5,D7)", "x":1, "y":3.25},
|
||||
{"label":"K32 (F5,D6)", "x":2, "y":3.25},
|
||||
{"label":"K33 (F5,D2)", "x":3, "y":3.25},
|
||||
{"label":"K40 (F6,F7)", "x":0, "y":4.25},
|
||||
{"label":"K41 (F6,D7)", "x":1, "y":4.25},
|
||||
{"label":"K42 (F6,D6)", "x":2, "y":4.25},
|
||||
{"label":"K43 (F6,D2)", "x":3, "y":4.25},
|
||||
{"label":"K50 (D3,F7)", "x":0, "y":5.25},
|
||||
{"label":"K51 (D3,D7)", "x":1, "y":5.25},
|
||||
{"label":"K52 (D3,D6)", "x":2, "y":5.25},
|
||||
{"label":"K53 (D3,D2)", "x":3, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
|
||||
}
|
||||
28
keyboards/mechlovin/delphine/keymaps/default/keymap.c
Normal file
28
keyboards/mechlovin/delphine/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,28 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_ortho_6x4(
|
||||
KC_ESC, BL_STEP, RGB_TOG, RGB_MOD,
|
||||
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_P4, KC_P5, KC_P6, KC_PEQL,
|
||||
KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_P0, KC_PDOT, KC_BSPC
|
||||
),
|
||||
|
||||
};
|
||||
1
keyboards/mechlovin/delphine/keymaps/default/readme.md
Normal file
1
keyboards/mechlovin/delphine/keymaps/default/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default keymap for delphine
|
||||
52
keyboards/mechlovin/delphine/keymaps/via/keymap.c
Normal file
52
keyboards/mechlovin/delphine/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,52 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_ortho_6x4(
|
||||
KC_ESC, BL_STEP, RGB_TOG, RGB_MOD,
|
||||
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
KC_P4, KC_P5, KC_P6, KC_PEQL,
|
||||
KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_P0, KC_P0, KC_PDOT, KC_BSPC
|
||||
),
|
||||
[1] = LAYOUT_ortho_6x4(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[2] = LAYOUT_ortho_6x4(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
[3] = LAYOUT_ortho_6x4(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
};
|
||||
1
keyboards/mechlovin/delphine/keymaps/via/readme.md
Normal file
1
keyboards/mechlovin/delphine/keymaps/via/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The via keymap for delphine
|
||||
1
keyboards/mechlovin/delphine/keymaps/via/rules.mk
Normal file
1
keyboards/mechlovin/delphine/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
34
keyboards/mechlovin/delphine/mono_led/config.h
Normal file
34
keyboards/mechlovin/delphine/mono_led/config.h
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define PRODUCT_ID 0xDEF1
|
||||
#define DEVICE_VER 0x0001
|
||||
|
||||
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
#define BACKLIGHT_PIN B6
|
||||
// #define BACKLIGHT_BREATHING
|
||||
#define BACKLIGHT_LEVELS 3
|
||||
#endif
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define RGB_DI_PIN E2
|
||||
#define RGBLED_NUM 13
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
// /*== or choose animations ==*/
|
||||
// #define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
// #define RGBLIGHT_EFFECT_SNAKE
|
||||
// #define RGBLIGHT_EFFECT_KNIGHT
|
||||
// #define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#endif
|
||||
2
keyboards/mechlovin/delphine/mono_led/rules.mk
Normal file
2
keyboards/mechlovin/delphine/mono_led/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
15
keyboards/mechlovin/delphine/readme.md
Normal file
15
keyboards/mechlovin/delphine/readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# delphine
|
||||
|
||||

|
||||
|
||||
A Number-Pad PCB, Mono backlight and RGB backlight version, Dolpad compatible.
|
||||
|
||||
* Keyboard Maintainer: [Mechlovin'](https://github.com/mechlovin)
|
||||
* Hardware Supported: Delphine PCB
|
||||
* Hardware Availability: [Team Mechlovin'](https://mechlove.com)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mechlovin/delphine:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
47
keyboards/mechlovin/delphine/rgb_led/config.h
Normal file
47
keyboards/mechlovin/delphine/rgb_led/config.h
Normal file
@@ -0,0 +1,47 @@
|
||||
#pragma once
|
||||
|
||||
#define PRODUCT_ID 0xDEF2
|
||||
#define DEVICE_VER 0x0001
|
||||
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define RGB_DI_PIN E2
|
||||
#define RGBLED_NUM 13
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
// /*== or choose animations ==*/
|
||||
// #define RGBLIGHT_EFFECT_BREATHING
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
// #define RGBLIGHT_EFFECT_SNAKE
|
||||
// #define RGBLIGHT_EFFECT_KNIGHT
|
||||
// #define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#endif
|
||||
|
||||
//rgb matrix setting// This is a 7-bit address, that gets left-shifted and bit 0
|
||||
// set to 0 for write, 1 for read (as per I2C protocol)
|
||||
// The address will vary depending on your wiring:
|
||||
// 0b1110100 AD <-> GND
|
||||
// 0b1110111 AD <-> VCC
|
||||
// 0b1110101 AD <-> SCL
|
||||
// 0b1110110 AD <-> SDA
|
||||
#define DRIVER_ADDR_1 0b1110110
|
||||
#define DRIVER_ADDR_2 0b1110100
|
||||
#define DRIVER_COUNT 1
|
||||
#define DRIVER_1_LED_TOTAL 25
|
||||
#define DRIVER_2_LED_TOTAL 0
|
||||
#define DRIVER_LED_TOTAL 25
|
||||
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
|
||||
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
|
||||
#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
|
||||
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
|
||||
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
|
||||
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
|
||||
160
keyboards/mechlovin/delphine/rgb_led/rgb_led.c
Normal file
160
keyboards/mechlovin/delphine/rgb_led/rgb_led.c
Normal file
@@ -0,0 +1,160 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* 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 "rgb_led.h"
|
||||
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
|
||||
// left CA
|
||||
{0, C5_2, C6_2, C7_2}, //D2-0
|
||||
{0, C1_1, C3_2, C4_2}, //D20-1
|
||||
{0, C5_1, C6_1, C7_1}, //D36-2
|
||||
{0, C2_1, C3_1, C4_1}, //D46-3
|
||||
{0, C5_4, C6_4, C7_4}, //D65-4
|
||||
{0, C1_3, C2_3, C3_3}, //D26-5
|
||||
{0, C5_3, C6_3, C7_3}, //D37-6
|
||||
{0, C1_2, C2_2, C4_3}, //D47-7
|
||||
{0, C4_5, C5_5, C7_6}, //D11-8
|
||||
{0, C1_5, C2_5, C3_5}, //D27-9
|
||||
{0, C4_4, C6_5, C7_5}, //D38-10
|
||||
{0, C1_4, C2_4, C3_4}, //D48-11
|
||||
|
||||
// left CB
|
||||
{0, C2_9, C3_9, C4_9}, //D17-12
|
||||
{0, C5_9, C6_9, C7_9}, //D28-13
|
||||
{0, C1_9, C3_10, C4_10}, //D39-14
|
||||
{0, C5_10, C6_10, C7_10}, //D49-15
|
||||
{0, C1_10, C2_10, C4_11}, //D18-16
|
||||
{0, C5_11, C6_11, C7_11}, //D29-17
|
||||
{0, C1_11, C2_11, C3_11}, //D40-18
|
||||
{0, C5_12, C6_12, C7_12}, //D50-19
|
||||
{0, C1_12, C2_12, C3_12}, //D19-20
|
||||
{0, C1_13, C2_13, C3_13}, //D61-21
|
||||
{0, C4_13, C5_13, C7_14}, //D35-22
|
||||
{0, C1_14, C2_14, C3_14}, //D41-23
|
||||
{0, C4_14, C5_14, C6_14}, //D51-24
|
||||
};
|
||||
|
||||
led_config_t g_led_config = { {
|
||||
// Key Matrix to LED Index
|
||||
{0, 1, 2, 3},
|
||||
{4, 5, 6, 7},
|
||||
{8, 9, 10, 11},
|
||||
{12, 13, 14, 15},
|
||||
{16, 17, 18, 19},
|
||||
{20, 22, 23, 24}
|
||||
},
|
||||
{
|
||||
//LED Index to Physical Positon
|
||||
{ 0, 0}, { 75, 0}, {149, 0}, {224, 0},
|
||||
{ 0, 13}, { 75, 13}, {149, 13}, {224, 13},
|
||||
{ 0, 25}, { 75, 25}, {149, 25}, {224, 25},
|
||||
{ 0, 38}, { 75, 38}, {149, 38}, {224, 38},
|
||||
{ 0, 51}, { 75, 51}, {149, 51}, {224, 51},
|
||||
{ 0, 64}, { 37, 64}, { 75, 64}, {149, 64}, {224, 64},
|
||||
}, {
|
||||
4, 4, 4, 4,
|
||||
4, 1, 1, 4,
|
||||
4, 1, 1, 4,
|
||||
4, 1, 1, 4,
|
||||
4, 1, 1, 4,
|
||||
4, 0, 1, 1, 4,
|
||||
} };
|
||||
|
||||
void rgb_matrix_indicators_kb(void) {
|
||||
if (host_keyboard_led_state().num_lock) {
|
||||
rgb_matrix_set_color(4, 255, 255, 255);
|
||||
}
|
||||
}
|
||||
|
||||
__attribute__((weak))
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
// if on layer 1, turn on L1 LED, otherwise off.
|
||||
if (get_highest_layer(state) == 0) {
|
||||
rgb_matrix_set_color(1, 255, 0, 0);
|
||||
} else {
|
||||
rgb_matrix_set_color(1, 0, 0, 0);
|
||||
}
|
||||
// if on layer 2, turn on L2 LED, otherwise off.
|
||||
if (get_highest_layer(state) == 1) {
|
||||
rgb_matrix_set_color(0, 255, 0, 0);
|
||||
} else {
|
||||
rgb_matrix_set_color(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
// if on layer 3, turn on L3 LED, otherwise off.
|
||||
if (get_highest_layer(state) == 2) {
|
||||
rgb_matrix_set_color(3, 255, 0, 0);
|
||||
} else {
|
||||
rgb_matrix_set_color(3, 0, 0, 0);
|
||||
}
|
||||
|
||||
// if on layer 4, turn on L4 LED, otherwise off.
|
||||
if (get_highest_layer(state) == 3) {
|
||||
rgb_matrix_set_color(2, 255, 0, 0);
|
||||
} else {
|
||||
rgb_matrix_set_color(2, 0, 0, 0);
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
if (!process_record_user(keycode, record)) { return false; }
|
||||
|
||||
if (record->event.pressed) {
|
||||
switch(keycode) {
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
case KC_F13: // toggle rgb matrix
|
||||
rgb_matrix_toggle();
|
||||
return false;
|
||||
case KC_F14:
|
||||
rgb_matrix_step();
|
||||
return false;
|
||||
case KC_F15:
|
||||
rgb_matrix_increase_speed();
|
||||
return false;
|
||||
case KC_F16:
|
||||
rgb_matrix_decrease_speed();
|
||||
return false;
|
||||
case KC_F17:
|
||||
rgb_matrix_increase_hue();
|
||||
return false;
|
||||
case KC_F18:
|
||||
rgb_matrix_decrease_hue();
|
||||
return false;
|
||||
case KC_F19:
|
||||
rgb_matrix_increase_sat();
|
||||
return false;
|
||||
case KC_F20:
|
||||
rgb_matrix_decrease_sat();
|
||||
return false;
|
||||
case KC_F21:
|
||||
rgb_matrix_increase_val();
|
||||
return false;
|
||||
case KC_F22:
|
||||
rgb_matrix_decrease_val();
|
||||
return false;
|
||||
#endif
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
19
keyboards/mechlovin/delphine/rgb_led/rgb_led.h
Normal file
19
keyboards/mechlovin/delphine/rgb_led/rgb_led.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/* Copyright 2020 Team Mechlovin'
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
2
keyboards/mechlovin/delphine/rgb_led/rules.mk
Normal file
2
keyboards/mechlovin/delphine/rgb_led/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
RGB_MATRIX_ENABLE = IS31FL3731 # Use RGB matrix
|
||||
25
keyboards/mechlovin/delphine/rules.mk
Normal file
25
keyboards/mechlovin/delphine/rules.mk
Normal file
@@ -0,0 +1,25 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
LAYOUTS = ortho_6x4
|
||||
DEFAULT_FOLDER = mechlovin/delphine/mono_led
|
||||
137
keyboards/reviung33/config.h
Normal file
137
keyboards/reviung33/config.h
Normal file
@@ -0,0 +1,137 @@
|
||||
/*
|
||||
Copyright 2020 gtips
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x516D
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER gtips
|
||||
#define PRODUCT reviung33
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
#define MATRIX_COLS 10
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { F4, F5, F6, F7}
|
||||
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B1, B3, B2, B6, B5 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define RGB_DI_PIN D3
|
||||
#ifdef RGB_DI_PIN
|
||||
# define RGBLED_NUM 5
|
||||
# define RGBLIGHT_HUE_STEP 16
|
||||
# define RGBLIGHT_SAT_STEP 16
|
||||
# define RGBLIGHT_VAL_STEP 16
|
||||
# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||
# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
# define RGBLIGHT_ANIMATIONS
|
||||
/*== or choose animations ==*/
|
||||
//# define RGBLIGHT_EFFECT_BREATHING
|
||||
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
//# define RGBLIGHT_EFFECT_SNAKE
|
||||
//# define RGBLIGHT_EFFECT_KNIGHT
|
||||
//# define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
//# define RGBLIGHT_EFFECT_RGB_TEST
|
||||
//# define RGBLIGHT_EFFECT_ALTERNATING
|
||||
/*== customize breathing effect ==*/
|
||||
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
||||
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
||||
/*==== use exp() and sin() ====*/
|
||||
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
||||
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
||||
#endif
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||
*/
|
||||
//#define GRAVE_ESC_CTRL_OVERRIDE
|
||||
|
||||
/*
|
||||
* Force NKRO
|
||||
*
|
||||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||
* makefile for this to work.)
|
||||
*
|
||||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||
* until the next keyboard reset.
|
||||
*
|
||||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||
* fully operational during normal computer usage.
|
||||
*
|
||||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||
* power-up.
|
||||
*
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
*/
|
||||
|
||||
/* disable debug print */
|
||||
//#define NO_DEBUG
|
||||
|
||||
/* disable print */
|
||||
//#define NO_PRINT
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
|
||||
/* disable these deprecated features by default */
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
|
||||
/* Bootmagic Lite key configuration */
|
||||
//#define BOOTMAGIC_LITE_ROW 0
|
||||
//#define BOOTMAGIC_LITE_COLUMN 0
|
||||
49
keyboards/reviung33/info.json
Normal file
49
keyboards/reviung33/info.json
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"keyboard_name": "reviung33",
|
||||
"url": "",
|
||||
"maintainer": "gtips",
|
||||
"width": 3,
|
||||
"height": 2,
|
||||
"layouts": {
|
||||
"LAYOUT_reviung33": {
|
||||
"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":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":2, "y":3, "w":6},
|
||||
{"x":9, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
71
keyboards/reviung33/keymaps/default/keymap.c
Normal file
71
keyboards/reviung33/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,71 @@
|
||||
/* Copyright 2020 gtips
|
||||
*
|
||||
* 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
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
#define CT_Q LCTL_T(KC_Q)
|
||||
#define CT_CM RCTL_T(KC_COMM)
|
||||
#define SF_Z LSFT_T(KC_Z)
|
||||
#define SF_SS RSFT_T(KC_SLSH)
|
||||
#define AL_X LALT_T(KC_X)
|
||||
#define AL_DT RALT_T(KC_DOT)
|
||||
#define TB_LO LT(LOWER, KC_TAB)
|
||||
#define BS_RA LT(RAISE, KC_BSPC)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_reviung33(
|
||||
CT_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||
SF_Z, AL_X, KC_C, KC_V, KC_B, KC_N, KC_M, CT_CM, AL_DT, SF_SS,
|
||||
TB_LO, KC_SPC, BS_RA
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_reviung33(
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
|
||||
KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN,
|
||||
KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, KC_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT,
|
||||
_______, _______, _______
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_reviung33(
|
||||
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_LBRC, KC_RBRC, KC_BSLS, XXXXXXX, XXXXXXX, KC_GRV, KC_TILD, KC_COLN,
|
||||
KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, KC_DQUO, KC_TAB, KC_RALT, KC_RCTL, KC_RALT, KC_RSFT,
|
||||
_______, KC_DEL, _______
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_reviung33(
|
||||
RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||
RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR,
|
||||
_______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
|
||||
1
keyboards/reviung33/keymaps/default/readme.md
Normal file
1
keyboards/reviung33/keymaps/default/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default keymap for reviung33
|
||||
70
keyboards/reviung33/keymaps/default_jp/keymap.c
Normal file
70
keyboards/reviung33/keymaps/default_jp/keymap.c
Normal file
@@ -0,0 +1,70 @@
|
||||
/* Copyright 2020 gtips
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "keymap_jp.h"
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
#define CT_Q LCTL_T(JP_Q)
|
||||
#define CT_CM RCTL_T(JP_COMM)
|
||||
#define SF_Z LSFT_T(JP_Z)
|
||||
#define SF_SS RSFT_T(JP_SLSH)
|
||||
#define AL_X LALT_T(JP_X)
|
||||
#define AL_DT RALT_T(JP_DOT)
|
||||
#define TB_LO LT(LOWER, KC_TAB)
|
||||
#define BS_RA LT(RAISE, KC_BSPC)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_reviung33(
|
||||
CT_Q, JP_W, JP_E, JP_R, JP_T, JP_Y, JP_U, JP_I, JP_O, JP_P,
|
||||
JP_A, JP_S, JP_D, JP_F, JP_G, JP_H, JP_J, JP_K, JP_L, KC_ENT,
|
||||
SF_Z, AL_X, JP_C, JP_V, JP_B, JP_N, JP_M, CT_CM, AL_DT, SF_SS,
|
||||
TB_LO, KC_SPC, BS_RA
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_reviung33(
|
||||
JP_EXLM, JP_AT, JP_HASH, JP_DLR, JP_PERC, JP_CIRC, JP_AMPR, JP_ASTR, JP_LPRN, JP_RPRN,
|
||||
JP_UNDS, JP_PLUS, JP_LCBR, JP_RCBR, JP_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, JP_SCLN,
|
||||
KC_LSFT, KC_ESC, KC_LGUI, KC_LALT, JP_QUOT, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_RSFT,
|
||||
_______, _______, _______
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_reviung33(
|
||||
JP_1, JP_2, JP_3, JP_4, JP_5, JP_6, JP_7, JP_8, JP_9, JP_0,
|
||||
JP_MINS, JP_EQL, JP_LBRC, JP_RBRC, JP_YEN, KC_RO, XXXXXXX, JP_GRV, JP_TILD, JP_COLN,
|
||||
KC_LSFT, KC_ESC, KC_RGUI, KC_LALT, JP_DQUO, KC_TAB, XXXXXXX, KC_RCTL, KC_RALT, KC_RSFT,
|
||||
_______, KC_DEL, _______
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_reviung33(
|
||||
RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
|
||||
RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD,XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, KC_F11, KC_F12, KC_CAPS, XXXXXXX, KC_PSCR,
|
||||
_______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
1
keyboards/reviung33/keymaps/default_jp/readme.md
Normal file
1
keyboards/reviung33/keymaps/default_jp/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default_jp keymap for reviung33
|
||||
15
keyboards/reviung33/readme.md
Normal file
15
keyboards/reviung33/readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# reviung33
|
||||
|
||||

|
||||
|
||||
The REVIUNG33 is 33-key ortholinear keyboard.
|
||||
|
||||
* Keyboard Maintainer: [gtips](https://github.com/gtips)
|
||||
* Hardware Supported: REVIUNG33 PCB.
|
||||
* Hardware Availability: [PCB & Case Data](https://github.com/gtips/reviung/tree/master/reviung33)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make reviung33:default
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
17
keyboards/reviung33/reviung33.c
Normal file
17
keyboards/reviung33/reviung33.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2020 gtips
|
||||
*
|
||||
* 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 "reviung33.h"
|
||||
40
keyboards/reviung33/reviung33.h
Normal file
40
keyboards/reviung33/reviung33.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/* Copyright 2020 gtips
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This is a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
#define LAYOUT_reviung33( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
|
||||
K30, K31, K32 \
|
||||
) \
|
||||
{ \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
|
||||
{ K30, K31, K32, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
|
||||
}
|
||||
22
keyboards/reviung33/rules.mk
Normal file
22
keyboards/reviung33/rules.mk
Normal file
@@ -0,0 +1,22 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = no # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
@@ -1,3 +1,3 @@
|
||||
RGBLIGHT_ENABLE = no
|
||||
RGB_MATRIX_ENABLE = WS2812
|
||||
|
||||
OLED_DRIVER_ENABLE = yes
|
||||
|
||||
@@ -27,7 +27,7 @@ UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
TAP_DANCE_ENABLE = no
|
||||
OLED_DRIVER_ENABLE = yes
|
||||
OLED_DRIVER_ENABLE = no
|
||||
USE_I2C = no
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
|
||||
39
keyboards/sixkeyboard/keymaps/via/keymap.c
Normal file
39
keyboards/sixkeyboard/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,39 @@
|
||||
/* Copyright 2020
|
||||
*
|
||||
* 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
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_A, KC_B, KC_C,
|
||||
KC_D, KC_E, KC_F
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[2] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
[3] = LAYOUT(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS
|
||||
)
|
||||
};
|
||||
2
keyboards/sixkeyboard/keymaps/via/rules.mk
Normal file
2
keyboards/sixkeyboard/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
LTO_ENABLE = yes
|
||||
36
keyboards/sneakbox/aliceclone/aliceclone.c
Normal file
36
keyboards/sneakbox/aliceclone/aliceclone.c
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
Copyright 2020 Bryan Ong
|
||||
|
||||
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 "aliceclone.h"
|
||||
|
||||
void keyboard_pre_init_kb() {
|
||||
setPinOutput(D7);
|
||||
setPinOutput(D6);
|
||||
setPinOutput(D4);
|
||||
|
||||
keyboard_pre_init_user();
|
||||
}
|
||||
|
||||
bool led_update_kb(led_t led_state) {
|
||||
bool res = led_update_user(led_state);
|
||||
if(res) {
|
||||
writePin(D7, led_state.num_lock);
|
||||
writePin(D6, led_state.caps_lock);
|
||||
writePin(D4, led_state.scroll_lock);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
39
keyboards/sneakbox/aliceclone/aliceclone.h
Normal file
39
keyboards/sneakbox/aliceclone/aliceclone.h
Normal file
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
Copyright 2020 Bryan Ong
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_all( \
|
||||
K020, K000, K001, K002, K003, K004, K005, K006, K010, K011, K012, K013, K014, K015, K016, K017, \
|
||||
K040, K021, K022, K023, K024, K025, K026, K030, K031, K032, K033, K034, K035, K036, K037, \
|
||||
K060, K041, K042, K043, K044, K045, K046, K050, K051, K052, K053, K054, K055, K056, \
|
||||
K061, K062, K063, K064, K065, K066, K070, K071, K072, K073, K074, K075, K076, K077, \
|
||||
K081, K083, K085, K086, K091, K093, K097 \
|
||||
) { \
|
||||
{ K000, K001, K002, K003, K004, K005, K006, KC_NO }, \
|
||||
{ K010, K011, K012, K013, K014, K015, K016, K017 }, \
|
||||
{ K020, K021, K022, K023, K024, K025, K026, KC_NO }, \
|
||||
{ K030, K031, K032, K033, K034, K035, K036, K037 }, \
|
||||
{ K040, K041, K042, K043, K044, K045, K046, KC_NO }, \
|
||||
{ K050, K051, K052, K053, K054, K055, K056, KC_NO }, \
|
||||
{ K060, K061, K062, K063, K064, K065, K066, KC_NO }, \
|
||||
{ K070, K071, K072, K073, K074, K075, K076, K077 }, \
|
||||
{ KC_NO, K081, KC_NO, K083, KC_NO, K085, K086, KC_NO }, \
|
||||
{ KC_NO, K091, KC_NO, K093, KC_NO, KC_NO, KC_NO, K097 } \
|
||||
}
|
||||
68
keyboards/sneakbox/aliceclone/config.h
Normal file
68
keyboards/sneakbox/aliceclone/config.h
Normal file
@@ -0,0 +1,68 @@
|
||||
/*
|
||||
Copyright 2020 Bryan Ong
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x5342
|
||||
#define PRODUCT_ID 0x0001
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Sneakbox
|
||||
#define PRODUCT AliceClone
|
||||
|
||||
/*Bootmagic boot button, set to topmost, leftmost key */
|
||||
#define BOOTMAGIC_LITE_ROW 2
|
||||
#define BOOTMAGIC_LITE_COLUMN 0
|
||||
|
||||
/* encoder */
|
||||
/* #define NUMBER_OF_ENCODERS 1 */
|
||||
#define ENCODERS_PAD_A { D3 }
|
||||
#define ENCODERS_PAD_B { D2 }
|
||||
#define ENCODER_RESOLUTION 1
|
||||
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 10
|
||||
#define MATRIX_COLS 8
|
||||
|
||||
/* key matrix pins */
|
||||
#define MATRIX_ROW_PINS { F1, E6, F4, B1, F5, B2, F6, B3, F7, B7 }
|
||||
#define MATRIX_COL_PINS { F0, D0, C7, C6, B6, B5, B4, D1 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 0
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#endif
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user