aboutsummaryrefslogtreecommitdiff
path: root/keyboards/claw44
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/claw44')
-rw-r--r--keyboards/claw44/.noci0
-rw-r--r--keyboards/claw44/claw44.c1
-rw-r--r--keyboards/claw44/claw44.h5
-rw-r--r--keyboards/claw44/config.h24
-rw-r--r--keyboards/claw44/keymaps/default/config.h21
-rw-r--r--keyboards/claw44/keymaps/default/keymap.c72
-rw-r--r--keyboards/claw44/keymaps/oled/config.h22
-rw-r--r--keyboards/claw44/keymaps/oled/keymap.c166
-rw-r--r--keyboards/claw44/keymaps/oled/rules.mk2
-rw-r--r--keyboards/claw44/keymaps/via/config.h21
-rw-r--r--keyboards/claw44/keymaps/via/keymap.c84
-rw-r--r--keyboards/claw44/keymaps/via/rules.mk1
-rw-r--r--keyboards/claw44/lib/glcdfont.c232
-rw-r--r--keyboards/claw44/readme.md15
-rw-r--r--keyboards/claw44/rev1/.noci0
-rw-r--r--keyboards/claw44/rev1/config.h74
-rw-r--r--keyboards/claw44/rev1/info.json55
-rw-r--r--keyboards/claw44/rev1/readme.md15
-rw-r--r--keyboards/claw44/rev1/rev1.c1
-rw-r--r--keyboards/claw44/rev1/rev1.h20
-rw-r--r--keyboards/claw44/rev1/rules.mk14
-rw-r--r--keyboards/claw44/rules.mk20
22 files changed, 865 insertions, 0 deletions
diff --git a/keyboards/claw44/.noci b/keyboards/claw44/.noci
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/claw44/.noci
diff --git a/keyboards/claw44/claw44.c b/keyboards/claw44/claw44.c
new file mode 100644
index 000000000..d87103065
--- /dev/null
+++ b/keyboards/claw44/claw44.c
@@ -0,0 +1 @@
#include "claw44.h"
diff --git a/keyboards/claw44/claw44.h b/keyboards/claw44/claw44.h
new file mode 100644
index 000000000..4ca25fcb2
--- /dev/null
+++ b/keyboards/claw44/claw44.h
@@ -0,0 +1,5 @@
1#pragma once
2
3#ifdef KEYBOARD_claw44_rev1
4 #include "rev1.h"
5#endif
diff --git a/keyboards/claw44/config.h b/keyboards/claw44/config.h
new file mode 100644
index 000000000..0bd74ff83
--- /dev/null
+++ b/keyboards/claw44/config.h
@@ -0,0 +1,24 @@
1/*
2Copyright 2012 Jun Wako <[email protected]>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#include "config_common.h"
22
23#define NO_ACTION_MACRO
24#define NO_ACTION_FUNCTION
diff --git a/keyboards/claw44/keymaps/default/config.h b/keyboards/claw44/keymaps/default/config.h
new file mode 100644
index 000000000..98469e4cc
--- /dev/null
+++ b/keyboards/claw44/keymaps/default/config.h
@@ -0,0 +1,21 @@
1/*
2Copyright 2012 Jun Wako <[email protected]>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#define MASTER_LEFT
diff --git a/keyboards/claw44/keymaps/default/keymap.c b/keyboards/claw44/keymaps/default/keymap.c
new file mode 100644
index 000000000..204c0c94e
--- /dev/null
+++ b/keyboards/claw44/keymaps/default/keymap.c
@@ -0,0 +1,72 @@
1/*
2Copyright 2012 Jun Wako <[email protected]>
3Copyright 2015 Jack Humbert
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12You should have received a copy of the GNU General Public License
13along with this program. If not, see <http://www.gnu.org/licenses/>.
14*/
15
16#include QMK_KEYBOARD_H
17
18// Each layer gets a name for readability, which is then used in the keymap matrix below.
19// The underscores don't mean anything - you can have a layer called STUFF or any other name.
20// Layer names don't all need to be of the same length, obviously, and you can also skip them
21// entirely and just use numbers.
22
23enum layer_number {
24 _QWERTY = 0,
25 _RAISE,
26 _LOWER,
27};
28
29#define KC_L_SPC LT(_LOWER, KC_SPC) // lower
30#define KC_R_ENT LT(_RAISE, KC_ENT) // raise
31#define KC_G_JA LGUI_T(KC_LANG1) // cmd or win
32#define KC_G_EN LGUI_T(KC_LANG2) // cmd or win
33#define KC_C_BS LCTL_T(KC_BSPC) // ctrl
34#define KC_A_DEL ALT_T(KC_DEL) // alt
35
36const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37 [_QWERTY] = LAYOUT(
38 //,--------+--------+---------+--------+---------+--------. ,--------+---------+--------+---------+--------+--------.
39 KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS,
40 //|--------+--------+---------+--------+---------+--------| |--------+---------+--------+---------+--------+--------|
41 KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
42 //|--------+--------+---------+--------+---------+--------| |--------+---------+--------+---------+--------+--------|
43 KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
44 //`--------+--------+---------+--------+---------+--------/ \--------+---------+--------+---------+--------+--------'
45 KC_A_DEL, KC_G_EN, KC_L_SPC, KC_C_BS, KC_C_BS, KC_R_ENT, KC_G_JA, KC_A_DEL
46 // `----------+--------+---------+--------' `--------+---------+--------+---------'
47 ),
48
49 [_RAISE] = LAYOUT(
50 //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
51 _______, KC_BSLS, KC_CIRC, KC_EXLM, KC_AMPR, KC_PIPE, KC_AT , KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
52 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
53 KC_LPRN, KC_HASH, KC_DLR , KC_DQT , KC_QUOT, KC_TILD, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_GRV , KC_RPRN,
54 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
55 _______, _______, _______, _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, _______, _______, _______, _______,
56 //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------'
57 _______, _______, _______, _______, _______, _______, _______, RESET
58 // `--------+--------+--------+--------' `--------+--------+--------+--------'
59 ),
60
61 [_LOWER] = LAYOUT(
62 //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
63 KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , _______, KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
64 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
65 _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______,
66 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
67 KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______,
68 //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------'
69 RESET , _______, _______, _______, _______, _______, _______, _______
70 // `--------+--------+--------+--------' `--------+--------+--------+--------'
71 ),
72};
diff --git a/keyboards/claw44/keymaps/oled/config.h b/keyboards/claw44/keymaps/oled/config.h
new file mode 100644
index 000000000..5379ce677
--- /dev/null
+++ b/keyboards/claw44/keymaps/oled/config.h
@@ -0,0 +1,22 @@
1/*
2Copyright 2012 Jun Wako <[email protected]>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#define MASTER_LEFT
22#define OLED_FONT_H "keyboards/claw44/lib/glcdfont.c"
diff --git a/keyboards/claw44/keymaps/oled/keymap.c b/keyboards/claw44/keymaps/oled/keymap.c
new file mode 100644
index 000000000..1778ac616
--- /dev/null
+++ b/keyboards/claw44/keymaps/oled/keymap.c
@@ -0,0 +1,166 @@
1/*
2Copyright 2012 Jun Wako <[email protected]>
3Copyright 2015 Jack Humbert
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12You should have received a copy of the GNU General Public License
13along with this program. If not, see <http://www.gnu.org/licenses/>.
14*/
15
16#include QMK_KEYBOARD_H
17#include <stdio.h>
18
19// Each layer gets a name for readability, which is then used in the keymap matrix below.
20// The underscores don't mean anything - you can have a layer called STUFF or any other name.
21// Layer names don't all need to be of the same length, obviously, and you can also skip them
22// entirely and just use numbers.
23
24enum layer_number {
25 _QWERTY = 0,
26 _RAISE,
27 _LOWER,
28 _ADJUST,
29};
30
31#define KC_L_SPC LT(_LOWER, KC_SPC) // lower
32#define KC_R_ENT LT(_RAISE, KC_ENT) // raise
33#define KC_G_JA LGUI_T(KC_LANG1) // cmd or win
34#define KC_G_EN LGUI_T(KC_LANG2) // cmd or win
35#define KC_C_BS LCTL_T(KC_BSPC) // ctrl
36#define KC_A_DEL ALT_T(KC_DEL) // alt
37
38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
39 [_QWERTY] = LAYOUT( \
40 //,--------+--------+---------+--------+---------+--------. ,--------+---------+--------+---------+--------+--------.
41 KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS,
42 //|--------+--------+---------+--------+---------+--------| |--------+---------+--------+---------+--------+--------|
43 KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
44 //|--------+--------+---------+--------+---------+--------| |--------+---------+--------+---------+--------+--------|
45 KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
46 //`--------+--------+---------+--------+---------+--------/ \--------+---------+--------+---------+--------+--------'
47 KC_A_DEL, KC_G_EN, KC_L_SPC, KC_C_BS, KC_C_BS, KC_R_ENT, KC_G_JA, KC_A_DEL
48 // `----------+--------+---------+--------' `--------+---------+--------+---------'
49 ),
50
51 [_RAISE] = LAYOUT( \
52 //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
53 _______, KC_BSLS, KC_CIRC, KC_EXLM, KC_AMPR, KC_PIPE, KC_AT , KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
54 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
55 KC_LPRN, KC_HASH, KC_DLR , KC_DQT , KC_QUOT, KC_TILD, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_GRV , KC_RPRN,
56 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
57 _______, _______, _______, _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, _______, _______, _______, _______,
58 //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------'
59 _______, _______, _______, _______, _______, _______, _______, RESET
60 // `--------+--------+--------+--------' `--------+--------+--------+--------'
61 ),
62
63 [_LOWER] = LAYOUT( \
64 //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
65 KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , _______, KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
66 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
67 _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______,
68 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
69 KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______,
70 //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------'
71 RESET , _______, _______, _______, _______, _______, _______, _______
72 // `--------+--------+--------+--------' `--------+--------+--------+--------'
73 ),
74 [_ADJUST] = LAYOUT(
75 //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
76 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
77 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
78 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
79 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
80 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
81 //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------'
82 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
83 // `--------+--------+--------+--------' `--------+--------+--------+--------'
84 ),
85};
86
87#ifdef OLED_ENABLE
88
89void render_layer_state(void) {
90 switch (get_highest_layer(layer_state)) {
91 case _QWERTY:
92 oled_write_ln_P(PSTR("Layer: Default"), false);
93 break;
94 case _RAISE:
95 oled_write_ln_P(PSTR("Layer: Raise"), false);
96 break;
97 case _LOWER:
98 oled_write_ln_P(PSTR("Layer: Lower"), false);
99 break;
100 case _ADJUST:
101 oled_write_ln_P(PSTR("Layer: Adjust"), false);
102 break;
103 default:
104 oled_write_ln_P(PSTR("Layer: Undefined"), false);
105 }
106}
107
108void render_logo(void) {
109 static const char PROGMEM logo[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0};
110 oled_write_P(logo, false);
111}
112
113char keylog_str[24] = {};
114char keylogs_str[21] = {};
115int keylogs_str_idx = 0;
116
117const char code_to_name[60] = {' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'R', 'E', 'B', 'T', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ';', '\'', ' ', ',', '.', '/', ' ', ' ', ' '};
118
119void set_keylog(uint16_t keycode, keyrecord_t *record) {
120 char name = ' ';
121 if (keycode < 60) {
122 name = code_to_name[keycode];
123 }
124
125 // update keylog
126 snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c", record->event.key.row, record->event.key.col, keycode, name);
127
128 // update keylogs
129 if (keylogs_str_idx == sizeof(keylogs_str) - 1) {
130 keylogs_str_idx = 0;
131 for (int i = 0; i < sizeof(keylogs_str) - 1; i++) {
132 keylogs_str[i] = ' ';
133 }
134 }
135
136 keylogs_str[keylogs_str_idx] = name;
137 keylogs_str_idx++;
138}
139
140const char *read_keylog(void) { return keylog_str; }
141const char *read_keylogs(void) { return keylogs_str; }
142
143bool oled_task_user(void) {
144 if (is_keyboard_master()) {
145 render_layer_state();
146 oled_write_ln(read_keylog(), false);
147 oled_write_ln(read_keylogs(), false);
148 } else {
149 render_logo();
150 }
151 return false;
152}
153
154bool process_record_user(uint16_t keycode, keyrecord_t *record) {
155 if (record->event.pressed) {
156 set_keylog(keycode, record);
157 }
158 return true;
159}
160
161oled_rotation_t oled_init_user(oled_rotation_t rotation) {
162 if (!is_keyboard_master()) return OLED_ROTATION_180;
163 return rotation;
164}
165
166#endif
diff --git a/keyboards/claw44/keymaps/oled/rules.mk b/keyboards/claw44/keymaps/oled/rules.mk
new file mode 100644
index 000000000..d34d066de
--- /dev/null
+++ b/keyboards/claw44/keymaps/oled/rules.mk
@@ -0,0 +1,2 @@
1OLED_ENABLE = yes
2OLED_DRIVER = SSD1306
diff --git a/keyboards/claw44/keymaps/via/config.h b/keyboards/claw44/keymaps/via/config.h
new file mode 100644
index 000000000..98469e4cc
--- /dev/null
+++ b/keyboards/claw44/keymaps/via/config.h
@@ -0,0 +1,21 @@
1/*
2Copyright 2012 Jun Wako <[email protected]>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#define MASTER_LEFT
diff --git a/keyboards/claw44/keymaps/via/keymap.c b/keyboards/claw44/keymaps/via/keymap.c
new file mode 100644
index 000000000..5373b7687
--- /dev/null
+++ b/keyboards/claw44/keymaps/via/keymap.c
@@ -0,0 +1,84 @@
1/*
2Copyright 2012 Jun Wako <[email protected]>
3Copyright 2015 Jack Humbert
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12You should have received a copy of the GNU General Public License
13along with this program. If not, see <http://www.gnu.org/licenses/>.
14*/
15
16#include QMK_KEYBOARD_H
17
18// Each layer gets a name for readability, which is then used in the keymap matrix below.
19// The underscores don't mean anything - you can have a layer called STUFF or any other name.
20// Layer names don't all need to be of the same length, obviously, and you can also skip them
21// entirely and just use numbers.
22
23enum layer_number {
24 _QWERTY = 0,
25 _RAISE,
26 _LOWER,
27 _ADJUST,
28};
29
30#define KC_L_SPC LT(_LOWER, KC_SPC) // lower
31#define KC_R_ENT LT(_RAISE, KC_ENT) // raise
32#define KC_G_JA LGUI_T(KC_LANG1) // cmd or win
33#define KC_G_EN LGUI_T(KC_LANG2) // cmd or win
34#define KC_C_BS LCTL_T(KC_BSPC) // ctrl
35#define KC_A_DEL ALT_T(KC_DEL) // alt
36
37const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
38 [_QWERTY] = LAYOUT(
39 //,--------+--------+---------+--------+---------+--------. ,--------+---------+--------+---------+--------+--------.
40 KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS,
41 //|--------+--------+---------+--------+---------+--------| |--------+---------+--------+---------+--------+--------|
42 KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT,
43 //|--------+--------+---------+--------+---------+--------| |--------+---------+--------+---------+--------+--------|
44 KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT,
45 //`--------+--------+---------+--------+---------+--------/ \--------+---------+--------+---------+--------+--------'
46 KC_A_DEL, KC_G_EN, KC_L_SPC, KC_C_BS, KC_C_BS, KC_R_ENT, KC_G_JA, KC_A_DEL
47 // `----------+--------+---------+--------' `--------+---------+--------+---------'
48 ),
49
50 [_RAISE] = LAYOUT(
51 //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
52 _______, KC_BSLS, KC_CIRC, KC_EXLM, KC_AMPR, KC_PIPE, KC_AT , KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
53 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
54 KC_LPRN, KC_HASH, KC_DLR , KC_DQT , KC_QUOT, KC_TILD, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_GRV , KC_RPRN,
55 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
56 _______, _______, _______, _______, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, _______, _______, _______, _______,
57 //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------'
58 _______, _______, _______, _______, _______, _______, _______, RESET
59 // `--------+--------+--------+--------' `--------+--------+--------+--------'
60 ),
61
62 [_LOWER] = LAYOUT(
63 //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
64 KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , _______, KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS,
65 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
66 _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______,
67 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
68 KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, KC_COMM, KC_DOT , KC_SLSH, _______,
69 //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------'
70 RESET , _______, _______, _______, _______, _______, _______, _______
71 // `--------+--------+--------+--------' `--------+--------+--------+--------'
72 ),
73 [_ADJUST] = LAYOUT(
74 //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------.
75 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
76 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
77 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
78 //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
79 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
80 //`--------+--------+--------+--------+--------+--------/ \--------+--------+--------+--------+--------+--------'
81 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
82 // `--------+--------+--------+--------' `--------+--------+--------+--------'
83 ),
84};
diff --git a/keyboards/claw44/keymaps/via/rules.mk b/keyboards/claw44/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/claw44/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/claw44/lib/glcdfont.c b/keyboards/claw44/lib/glcdfont.c
new file mode 100644
index 000000000..9fa1c806a
--- /dev/null
+++ b/keyboards/claw44/lib/glcdfont.c
@@ -0,0 +1,232 @@
1// This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0.
2// See gfxfont.h for newer custom bitmap font info.
3
4#include "progmem.h"
5
6// Standard ASCII 5x7 font
7const unsigned char font[] PROGMEM = {
80x00, 0x00, 0x00, 0x00, 0x00, 0x00,
90x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
100x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
110x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
120x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
130x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
140x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
150x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
160xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
170x00, 0x18, 0x24, 0x18, 0x00, 0x00,
180xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
190x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
200x26, 0x29, 0x79, 0x29, 0x26, 0x00,
210x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
220x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
230x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
240x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
250x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
260x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
270x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
280x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
290x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
300x60, 0x60, 0x60, 0x60, 0x60, 0x00,
310x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
320x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
330x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
340x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
350x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
360x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
370x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
380x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
390x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
400x00, 0x00, 0x00, 0x00, 0x00, 0x00,
410x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
420x00, 0x07, 0x00, 0x07, 0x00, 0x00,
430x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
440x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
450x23, 0x13, 0x08, 0x64, 0x62, 0x00,
460x36, 0x49, 0x56, 0x20, 0x50, 0x00,
470x00, 0x08, 0x07, 0x03, 0x00, 0x00,
480x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
490x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
500x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
510x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
520x00, 0x80, 0x70, 0x30, 0x00, 0x00,
530x08, 0x08, 0x08, 0x08, 0x08, 0x00,
540x00, 0x00, 0x60, 0x60, 0x00, 0x00,
550x20, 0x10, 0x08, 0x04, 0x02, 0x00,
560x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
570x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
580x72, 0x49, 0x49, 0x49, 0x46, 0x00,
590x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
600x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
610x27, 0x45, 0x45, 0x45, 0x39, 0x00,
620x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
630x41, 0x21, 0x11, 0x09, 0x07, 0x00,
640x36, 0x49, 0x49, 0x49, 0x36, 0x00,
650x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
660x00, 0x00, 0x14, 0x00, 0x00, 0x00,
670x00, 0x40, 0x34, 0x00, 0x00, 0x00,
680x00, 0x08, 0x14, 0x22, 0x41, 0x00,
690x14, 0x14, 0x14, 0x14, 0x14, 0x00,
700x00, 0x41, 0x22, 0x14, 0x08, 0x00,
710x02, 0x01, 0x59, 0x09, 0x06, 0x00,
720x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
730x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
740x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
750x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
760x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
770x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
780x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
790x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
800x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
810x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
820x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
830x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
840x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
850x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
860x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
870x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
880x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
890x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
900x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
910x26, 0x49, 0x49, 0x49, 0x32, 0x00,
920x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
930x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
940x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
950x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
960x63, 0x14, 0x08, 0x14, 0x63, 0x00,
970x03, 0x04, 0x78, 0x04, 0x03, 0x00,
980x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
990x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
1000x02, 0x04, 0x08, 0x10, 0x20, 0x00,
1010x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
1020x04, 0x02, 0x01, 0x02, 0x04, 0x00,
1030x40, 0x40, 0x40, 0x40, 0x40, 0x00,
1040x00, 0x03, 0x07, 0x08, 0x00, 0x00,
1050x20, 0x54, 0x54, 0x78, 0x40, 0x00,
1060x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
1070x38, 0x44, 0x44, 0x44, 0x28, 0x00,
1080x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
1090x38, 0x54, 0x54, 0x54, 0x18, 0x00,
1100x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
1110x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
1120x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
1130x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
1140x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
1150x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
1160x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
1170x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
1180x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
1190x38, 0x44, 0x44, 0x44, 0x38, 0x00,
1200x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
1210x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
1220x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
1230x48, 0x54, 0x54, 0x54, 0x24, 0x00,
1240x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
1250x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
1260x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
1270x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
1280x44, 0x28, 0x10, 0x28, 0x44, 0x00,
1290x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
1300x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
1310x00, 0x08, 0x36, 0x41, 0x00, 0x00,
1320x00, 0x00, 0x77, 0x00, 0x00, 0x00,
1330x00, 0x41, 0x36, 0x08, 0x00, 0x00,
1340x02, 0x01, 0x02, 0x04, 0x02, 0x00,
1350x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
137 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
138 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
139 0x00, 0x80, 0x80, 0x80, 0x80, 0x80,
140 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
141 0x00, 0xFC, 0xFC, 0xFC, 0xFC, 0x00,
142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
143 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
144 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
145 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
146 0x00, 0x80, 0x80, 0x80, 0x80, 0x00,
147 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
148 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
149 0x00, 0x80, 0xC0, 0xF0, 0xF8, 0xF8,
150 0xF8, 0xF8, 0xF8, 0x00, 0x00, 0x00,
151 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
152 0xE0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8,
153 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
154 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
155 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1570xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
1580xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
1590x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
1600x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
1610x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
1620x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
1630xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE,
1640xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00,
1650x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1660x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1670x00, 0x00, 0x00, 0x00, 0x00, 0x00,
168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
169 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFE,
171 0xFF, 0x1F, 0x07, 0x07, 0x07, 0x07,
172 0x1F, 0x1F, 0x1F, 0x1E, 0x18, 0x00,
173 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
174 0x00, 0x00, 0x00, 0x9E, 0xDF, 0xDF,
175 0xCF, 0xC7, 0xE7, 0xE7, 0xE7, 0xFF,
176 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x03,
177 0x3F, 0xFF, 0xFF, 0xFE, 0xC0, 0x00,
178 0xF0, 0xFF, 0xFF, 0x1F, 0xFF, 0xFF,
179 0xF0, 0x00, 0xC0, 0xFC, 0xFF, 0xFF,
180 0x3F, 0x03, 0x00, 0xC0, 0xF0, 0xF8,
181 0xFE, 0x9F, 0x87, 0x83, 0x80, 0xFF,
182 0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x00,
183 0x00, 0xE0, 0xF8, 0xFC, 0xBF, 0x8F,
184 0x83, 0x81, 0xFF, 0xFF, 0xFF, 0xFF,
185 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
186 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
187 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
188 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1890x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
1900x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
1910x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
1920x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
1930x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
1940x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
1950x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F,
1960x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00,
1970x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1980x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1990x00, 0x00, 0x00, 0x00, 0x00, 0x00,
200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
202 0x00, 0x00, 0x00, 0x07, 0x1F, 0x3F,
203 0x7F, 0x7C, 0x78, 0x70, 0x70, 0x78,
204 0x7E, 0x3E, 0x3E, 0x0E, 0x06, 0x00,
205 0x00, 0x7F, 0x7F, 0x7F, 0x7F, 0x00,
206 0x00, 0x00, 0x1F, 0x3F, 0x7F, 0x7F,
207 0x79, 0x71, 0x70, 0x30, 0x38, 0x3F,
208 0x7F, 0x7F, 0x7F, 0x60, 0x00, 0x00,
209 0x00, 0x01, 0x1F, 0x7F, 0x7F, 0x7E,
210 0x7F, 0x1F, 0x01, 0x00, 0x01, 0x3F,
211 0x7F, 0x7E, 0x7F, 0x7F, 0x0F, 0x01,
212 0x00, 0x00, 0x00, 0x03, 0x03, 0x03,
213 0x03, 0x03, 0x03, 0x03, 0x03, 0x7F,
214 0x7F, 0x7F, 0x7F, 0x03, 0x03, 0x00,
215 0x00, 0x03, 0x03, 0x03, 0x03, 0x03,
216 0x03, 0x03, 0x7F, 0x7F, 0x7F, 0x7F,
217 0x07, 0x03, 0x03, 0x00, 0x00, 0x00,
218 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
219 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2210x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2220x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2230x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2240x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2250x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2260x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2270x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2280x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2290x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2300x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2310x00, 0x00, 0x00, 0x00, 0x00, 0x00,
232};
diff --git a/keyboards/claw44/readme.md b/keyboards/claw44/readme.md
new file mode 100644
index 000000000..7e72e0897
--- /dev/null
+++ b/keyboards/claw44/readme.md
@@ -0,0 +1,15 @@
1# Claw44
2
3![Claw44](https://i.imgur.com/5a8iogl.jpg)
4
5A split keyboard with 3x6 vertically staggered keys and 4 thumb keys.
6
7Keyboard Maintainer: [@yfuku_](https://twitter.com/yfuku_)
8Hardware Supported: Claw44 PCB, ProMicro
9Hardware Availability: https://yfuku.booth.pm/
10
11Make example for this keyboard (after setting up your build environment):
12
13 make claw44:default
14
15See 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).
diff --git a/keyboards/claw44/rev1/.noci b/keyboards/claw44/rev1/.noci
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/keyboards/claw44/rev1/.noci
diff --git a/keyboards/claw44/rev1/config.h b/keyboards/claw44/rev1/config.h
new file mode 100644
index 000000000..8116b605c
--- /dev/null
+++ b/keyboards/claw44/rev1/config.h
@@ -0,0 +1,74 @@
1/*
2Copyright 2012 Jun Wako <[email protected]>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x5946 // YF
23#define PRODUCT_ID 0x0001
24#define DEVICE_VER 0x0001
25#define MANUFACTURER yfuku
26#define PRODUCT claw44
27
28/* key matrix size */
29#define MATRIX_ROWS 8
30#define MATRIX_COLS 6
31#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
32#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 }
33#define UNUSED_PINS
34#define DIODE_DIRECTION COL2ROW
35#define SOFT_SERIAL_PIN D2
36
37/* define if matrix has ghost */
38//#define MATRIX_HAS_GHOST
39
40/* number of backlight levels */
41// #define BACKLIGHT_LEVELS 3
42
43/* Set 0 if debouncing isn't needed */
44#define DEBOUNCE 5
45
46/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
47//#define LOCKING_SUPPORT_ENABLE
48/* Locking resynchronize hack */
49//#define LOCKING_RESYNC_ENABLE
50
51/* ws2812 RGB LED */
52/*
53#define RGB_DI_PIN D3
54
55#define RGBLED_NUM 12 // Number of LEDs
56*/
57
58/*
59 * Feature disable options
60 * These options are also useful to firmware size reduction.
61 */
62
63/* disable debug print */
64// #define NO_DEBUG
65
66/* disable print */
67// #define NO_PRINT
68
69/* disable action features */
70//#define NO_ACTION_LAYER
71//#define NO_ACTION_TAPPING
72//#define NO_ACTION_ONESHOT
73//#define NO_ACTION_MACRO
74//#define NO_ACTION_FUNCTION
diff --git a/keyboards/claw44/rev1/info.json b/keyboards/claw44/rev1/info.json
new file mode 100644
index 000000000..3301e7d2e
--- /dev/null
+++ b/keyboards/claw44/rev1/info.json
@@ -0,0 +1,55 @@
1{
2 "keyboard_name": "Claw44 rev1",
3 "url": "",
4 "maintainer": "yfuku",
5 "layouts": {
6 "LAYOUT": {
7 "layout": [
8 {"label":"L00", "x":0, "y":1.18},
9 {"label":"L01", "x":1, "y":1.03},
10 {"label":"L02", "x":2, "y":0.35},
11 {"label":"L03", "x":3, "y":0},
12 {"label":"L04", "x":4, "y":0.05},
13 {"label":"L05", "x":5, "y":0.10},
14 {"label":"R00", "x":11.5, "y":0.10},
15 {"label":"R01", "x":12.5, "y":0.05},
16 {"label":"R02", "x":13.5, "y":0},
17 {"label":"R03", "x":14.5, "y":0.35},
18 {"label":"R04", "x":15.5, "y":1.08},
19 {"label":"R05", "x":16.5, "y":1.18},
20 {"label":"L10", "x":0, "y":2.18},
21 {"label":"L11", "x":1, "y":2.03},
22 {"label":"L12", "x":2, "y":1.35},
23 {"label":"L13", "x":3, "y":1},
24 {"label":"L14", "x":4, "y":1.05},
25 {"label":"L15", "x":5, "y":1.10},
26 {"label":"R10", "x":11.5, "y":1.10},
27 {"label":"R11", "x":12.5, "y":1.05},
28 {"label":"R12", "x":13.5, "y":1},
29 {"label":"R13", "x":14.5, "y":1.35},
30 {"label":"R14", "x":15.5, "y":2.03},
31 {"label":"R15", "x":16.5, "y":2.18},
32 {"label":"L20", "x":0, "y":3.18},
33 {"label":"L21", "x":1, "y":3.03},
34 {"label":"L22", "x":2, "y":2.35},
35 {"label":"L23", "x":3, "y":2},
36 {"label":"L24", "x":4, "y":2.05},
37 {"label":"L25", "x":5, "y":2.10},
38 {"label":"R20", "x":11.5, "y":2.10},
39 {"label":"R21", "x":12.5, "y":2.05},
40 {"label":"R22", "x":13.5, "y":2},
41 {"label":"R23", "x":14.5, "y":2.35},
42 {"label":"R24", "x":15.5, "y":3.03},
43 {"label":"R25", "x":16.5, "y":3.18},
44 {"label":"L30", "x":4, "y":3.05},
45 {"label":"L31", "x":5, "y":3.10},
46 {"label":"L32", "x":6, "y":3.20, "w":1.25},
47 {"label":"L33", "x":7.25, "y":3.50},
48 {"label":"R30", "x":9.25, "y":3.50},
49 {"label":"R31", "x":10.25, "y":3.20, "w":1.25},
50 {"label":"R32", "x":11.5, "y":3.10},
51 {"label":"R33", "x":12.5, "y":3.05}
52 ]
53 }
54 }
55}
diff --git a/keyboards/claw44/rev1/readme.md b/keyboards/claw44/rev1/readme.md
new file mode 100644
index 000000000..5ad967af8
--- /dev/null
+++ b/keyboards/claw44/rev1/readme.md
@@ -0,0 +1,15 @@
1# Claw44
2
3![Claw44](https://i.imgur.com/5a8iogll.jpg)
4
5A split keyboard with 3x6 vertically staggered keys and 4 thumb keys.
6
7* Keyboard Maintainer: [@yfuku_](https://twitter.com/yfuku_)
8* Hardware Supported: Claw44 PCB, ProMicro
9* Hardware Availability: https://yfuku.booth.pm/
10
11Make example for this keyboard (after setting up your build environment):
12
13 make claw44/rev1:default
14
15See 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).
diff --git a/keyboards/claw44/rev1/rev1.c b/keyboards/claw44/rev1/rev1.c
new file mode 100644
index 000000000..520a869e5
--- /dev/null
+++ b/keyboards/claw44/rev1/rev1.c
@@ -0,0 +1 @@
#include "rev1.h"
diff --git a/keyboards/claw44/rev1/rev1.h b/keyboards/claw44/rev1/rev1.h
new file mode 100644
index 000000000..9a0597715
--- /dev/null
+++ b/keyboards/claw44/rev1/rev1.h
@@ -0,0 +1,20 @@
1#pragma once
2
3#include "quantum.h"
4
5#define LAYOUT( \
6 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
7 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
8 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
9 L30, L31, L32, L33, R30, R31, R32, R33 \
10 ) \
11 { \
12 { L00, L01, L02, L03, L04, L05 }, \
13 { L10, L11, L12, L13, L14, L15 }, \
14 { L20, L21, L22, L23, L24, L25 }, \
15 { KC_NO, KC_NO, L30, L31, L32, L33 }, \
16 { R05, R04, R03, R02, R01, R00 }, \
17 { R15, R14, R13, R12, R11, R10 }, \
18 { R25, R24, R23, R22, R21, R20 }, \
19 { KC_NO, KC_NO, R33, R32, R31, R30 } \
20 }
diff --git a/keyboards/claw44/rev1/rules.mk b/keyboards/claw44/rev1/rules.mk
new file mode 100644
index 000000000..a66eb7d35
--- /dev/null
+++ b/keyboards/claw44/rev1/rules.mk
@@ -0,0 +1,14 @@
1# Build Options
2BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
3MOUSEKEY_ENABLE = no # Mouse keys
4EXTRAKEY_ENABLE = no # Audio control and System control
5CONSOLE_ENABLE = no # Console for debug
6COMMAND_ENABLE = no # Commands for debug and configuration
7NKRO_ENABLE = no # Enable N-Key Rollover
8BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
9AUDIO_ENABLE = no # Audio output
10RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
11SWAP_HANDS_ENABLE = no # Enable one-hand typing
12
13OLED_ENABLE = no # Add OLED displays support
14SPLIT_KEYBOARD = yes
diff --git a/keyboards/claw44/rules.mk b/keyboards/claw44/rules.mk
new file mode 100644
index 000000000..6ba5e853f
--- /dev/null
+++ b/keyboards/claw44/rules.mk
@@ -0,0 +1,20 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = no # Mouse keys
12EXTRAKEY_ENABLE = no # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = no # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17AUDIO_ENABLE = no # Audio output
18RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
19
20DEFAULT_FOLDER = claw44/rev1