diff options
-rw-r--r-- | keyboards/ps2avrGB/README.md | 9 | ||||
-rw-r--r-- | keyboards/ps2avrGB/bmini.h | 60 | ||||
-rw-r--r-- | keyboards/ps2avrGB/config.h | 11 | ||||
-rw-r--r-- | keyboards/ps2avrGB/keymaps/default/keymap.c | 37 |
4 files changed, 112 insertions, 5 deletions
diff --git a/keyboards/ps2avrGB/README.md b/keyboards/ps2avrGB/README.md index 886e3aea8..5111be264 100644 --- a/keyboards/ps2avrGB/README.md +++ b/keyboards/ps2avrGB/README.md | |||
@@ -10,11 +10,14 @@ Note that this is a complete replacement for the firmware, so you won't be | |||
10 | using Bootmapper Client to change any keyboard settings, since not all the | 10 | using Bootmapper Client to change any keyboard settings, since not all the |
11 | USB report options are supported. | 11 | USB report options are supported. |
12 | 12 | ||
13 | This is an example based on the b.mini keyboard for making other keyboards | ||
14 | compatible with QMK; fully supported boards have their own directory. | ||
15 | |||
13 | ## Supported Boards | 16 | ## Supported Boards |
14 | 17 | ||
15 | Only the [B.mini X2](http://winkeyless.kr/product/b-mini-x2-pcb/) has been | 18 | - [b.fake](https://github.com/qmk/qmk_firmware/tree/master/keyboards/bfake) |
16 | tested so far (since it's the only one I own). But other boards that use | 19 | - [b.mini](https://github.com/qmk/qmk_firmware/tree/master/keyboards/bmini) |
17 | the ps2avrGB firmware should work as well. | 20 | - [pearl](https://github.com/qmk/qmk_firmware/tree/master/keyboards/pearl) |
18 | 21 | ||
19 | ## Installing | 22 | ## Installing |
20 | 23 | ||
diff --git a/keyboards/ps2avrGB/bmini.h b/keyboards/ps2avrGB/bmini.h new file mode 100644 index 000000000..65ffbe947 --- /dev/null +++ b/keyboards/ps2avrGB/bmini.h | |||
@@ -0,0 +1,60 @@ | |||
1 | /* | ||
2 | Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #ifndef BMINI_H | ||
19 | #define BMINI_H | ||
20 | |||
21 | #include "quantum.h" | ||
22 | |||
23 | #define KEYMAP( \ | ||
24 | K05, K25, K35, K45, K55, K06, KA6, KA7, K07, KB5, KC5, KD5, KE5, KD1, KE1, KE2, \ | ||
25 | K04, K14, K24, K34, K44, K54, K16, KB6, KB7, K17, KA4, KB4, KC4, KE4, KD0, \ | ||
26 | K03, K13, K23, K33, K43, K53, K26, KC6, KC7, K27, KA3, KB3, KC3, KD3, K67, \ | ||
27 | K02, K12, K22, K32, K42, K52, K36, KD6, KD7, K37, KA2, KB2, KD2, KE0, \ | ||
28 | K01, K11, K21, K31, K41, K51, K46, KE6, KE7, K47, KA1, KB1, K86, K77, \ | ||
29 | K00, K10, K20, K56, K57, KB0, KC0, K66, K76, K96 \ | ||
30 | ){ \ | ||
31 | { K00, K10, K20, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KB0, KC0, KD0, KE0 }, \ | ||
32 | { K01, K11, K21, K31, K41, K51, KC_NO, KC_NO, KC_NO, KC_NO, KA1, KB1, KC_NO, KD1, KE1 }, \ | ||
33 | { K02, K12, K22, K32, K42, K52, KC_NO, KC_NO, KC_NO, KC_NO, KA2, KB2, KC_NO, KD2, KE2 }, \ | ||
34 | { K03, K13, K23, K33, K43, K53, KC_NO, KC_NO, KC_NO, KC_NO, KA3, KB3, KC3, KD3, KC_NO }, \ | ||
35 | { K04, K14, K24, K34, K44, K54, KC_NO, KC_NO, KC_NO, KC_NO, KA4, KB4, KC4, KC_NO, KE4 }, \ | ||
36 | { K05, KC_NO, K25, K35, K45, K55, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KB5, KC5, KD5, KE5 }, \ | ||
37 | { K06, K16, K26, K36, K46, K56, K66, K76, K86, K96, KA6, KB6, KC6, KD6, KE6 }, \ | ||
38 | { K07, K17, K27, K37, K47, K57, K67, K77, KC_NO, KC_NO, KA7, KB7, KC7, KD7, KE7 } \ | ||
39 | } | ||
40 | |||
41 | #define KC_KEYMAP( \ | ||
42 | K05, K25, K35, K45, K55, K06, KA6, KA7, K07, KB5, KC5, KD5, KE5, KD1, KE1, KE2, \ | ||
43 | K04, K14, K24, K34, K44, K54, K16, KB6, KB7, K17, KA4, KB4, KC4, KE4, KD0, \ | ||
44 | K03, K13, K23, K33, K43, K53, K26, KC6, KC7, K27, KA3, KB3, KC3, KD3, K67, \ | ||
45 | K02, K12, K22, K32, K42, K52, K36, KD6, KD7, K37, KA2, KB2, KD2, KE0, \ | ||
46 | K01, K11, K21, K31, K41, K51, K46, KE6, KE7, K47, KA1, KB1, K86, K77, \ | ||
47 | K00, K10, K20, K56, K57, KB0, KC0, K66, K76, K96 \ | ||
48 | ) \ | ||
49 | { \ | ||
50 | { KC_##K00, KC_##K10, KC_##K20, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_##KB0, KC_##KC0, KC_##KD0, KC_##KE0 }, \ | ||
51 | { KC_##K01, KC_##K11, KC_##K21, KC_##K31, KC_##K41, KC_##K51, KC_NO, KC_NO, KC_NO, KC_NO, KC_##KA1, KC_##KB1, KC_NO, KC_##KD1, KC_##KE1 }, \ | ||
52 | { KC_##K02, KC_##K12, KC_##K22, KC_##K32, KC_##K42, KC_##K52, KC_NO, KC_NO, KC_NO, KC_NO, KC_##KA2, KC_##KB2, KC_NO, KC_##KD2, KC_##KE2 }, \ | ||
53 | { KC_##K03, KC_##K13, KC_##K23, KC_##K33, KC_##K43, KC_##K53, KC_NO, KC_NO, KC_NO, KC_NO, KC_##KA3, KC_##KB3, KC_##KC3, KC_##KD3, KC_NO }, \ | ||
54 | { KC_##K04, KC_##K14, KC_##K24, KC_##K34, KC_##K44, KC_##K54, KC_NO, KC_NO, KC_NO, KC_NO, KC_##KA4, KC_##KB4, KC_##KC4, KC_NO, KC_##KE4 }, \ | ||
55 | { KC_##K05, KC_NO, KC_##K25, KC_##K35, KC_##K45, KC_##K55, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_##KB5, KC_##KC5, KC_##KD5, KC_##KE5 }, \ | ||
56 | { KC_##K06, KC_##K16, KC_##K26, KC_##K36, KC_##K46, KC_##K56, KC_##K66, KC_##K76, KC_##K86, KC_##K96, KC_##KA6, KC_##KB6, KC_##KC6, KC_##KD6, KC_##KE6 }, \ | ||
57 | { KC_##K07, KC_##K17, KC_##K27, KC_##K37, KC_##K47, KC_##K57, KC_##K67, KC_##K77, KC_NO, KC_NO, KC_##KA7, KC_##KB7, KC_##KC7, KC_##KD7, KC_##KE7 } \ | ||
58 | } | ||
59 | |||
60 | #endif | ||
diff --git a/keyboards/ps2avrGB/config.h b/keyboards/ps2avrGB/config.h index f62de1653..fc17b5d5e 100644 --- a/keyboards/ps2avrGB/config.h +++ b/keyboards/ps2avrGB/config.h | |||
@@ -18,15 +18,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
18 | #ifndef CONFIG_H | 18 | #ifndef CONFIG_H |
19 | #define CONFIG_H | 19 | #define CONFIG_H |
20 | 20 | ||
21 | #include "config_common.h" | ||
22 | |||
23 | #define VENDOR_ID 0x20A0 | 21 | #define VENDOR_ID 0x20A0 |
24 | #define PRODUCT_ID 0x422D | 22 | #define PRODUCT_ID 0x422D |
23 | // TODO: share these strings with usbconfig.h | ||
24 | // Edit usbconfig.h to change these. | ||
25 | #define MANUFACTURER winkeyless.kr | ||
25 | #define PRODUCT ps2avrGB | 26 | #define PRODUCT ps2avrGB |
26 | 27 | ||
28 | /* matrix size */ | ||
29 | #define MATRIX_ROWS 8 | ||
30 | #define MATRIX_COLS 15 | ||
31 | |||
32 | #define RGBLED_NUM 16 | ||
27 | #define RGBLIGHT_ANIMATIONS | 33 | #define RGBLIGHT_ANIMATIONS |
28 | 34 | ||
29 | #define NO_UART 1 | 35 | #define NO_UART 1 |
36 | #define BOOTLOADHID_BOOTLOADER 1 | ||
30 | 37 | ||
31 | /* key combination for command */ | 38 | /* key combination for command */ |
32 | #define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))) | 39 | #define IS_COMMAND() (keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT))) |
diff --git a/keyboards/ps2avrGB/keymaps/default/keymap.c b/keyboards/ps2avrGB/keymaps/default/keymap.c new file mode 100644 index 000000000..5c52e1d9b --- /dev/null +++ b/keyboards/ps2avrGB/keymaps/default/keymap.c | |||
@@ -0,0 +1,37 @@ | |||
1 | /* | ||
2 | Copyright 2017 Luiz Ribeiro <luizribeiro@gmail.com> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #include "bmini.h" | ||
19 | |||
20 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
21 | [0] = KEYMAP( | ||
22 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_HOME,KC_END, | ||
23 | 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_DEL, | ||
24 | 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_INS, | ||
25 | MO(0), 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_PGUP, | ||
26 | 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_PGDN, | ||
27 | KC_LCTL,KC_LALT,KC_LGUI, KC_SPC, KC_RGUI,KC_RALT,KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT | ||
28 | ), | ||
29 | [1] = KEYMAP( | ||
30 | KC_TRNS,RGB_TOG,RGB_MOD,RGB_HUI,RGB_SAI,RGB_VAI,RGB_HUD,RGB_SAD,RGB_VAD,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_END, | ||
31 | 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_DEL, | ||
32 | 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_INS, | ||
33 | 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, | ||
34 | 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, | ||
35 | KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_RGHT | ||
36 | ), | ||
37 | }; | ||