forked from mfulz_github/qmk_firmware
		
	[Keyboard] add AddOn macropad (#15841)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
		
							parent
							
								
									4c8bb05dab
								
							
						
					
					
						commit
						6d06e7ce84
					
				
							
								
								
									
										15
									
								
								keyboards/ocean/addon/addon.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								keyboards/ocean/addon/addon.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | |||||||
|  | /* Copyright 2022 Ocean
 | ||||||
|  |  * 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 "addon.h" | ||||||
							
								
								
									
										35
									
								
								keyboards/ocean/addon/addon.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								keyboards/ocean/addon/addon.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,35 @@ | |||||||
|  | /* Copyright 2022 Ocean
 | ||||||
|  |  * | ||||||
|  |  * 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 | ||||||
|  | 
 | ||||||
|  | #define LAYOUT(\ | ||||||
|  |   K00, K01, K02,   K03, K04, K05, K06, \ | ||||||
|  |   K10, K11, K12,   K13, K14, K15, K16, \ | ||||||
|  |   K20, K21, K22,   K23, K24, K25, K26, \ | ||||||
|  |   K30, K31, K32,   K33, K34, K35, K36, \ | ||||||
|  |   K40, K41, K42,   K43, K44, K45, K46  \ | ||||||
|  | ) \ | ||||||
|  | { \ | ||||||
|  |   { K00, K01, K02, K03, K04, K05, K06 }, \ | ||||||
|  |   { K10, K11, K12, K13, K14, K15, K16 }, \ | ||||||
|  |   { K20, K21, K22, K23, K24, K25, K26 }, \ | ||||||
|  |   { K30, K31, K32, K33, K34, K35, K36 }, \ | ||||||
|  |   { K40, K41, K42, K43, K44, K45, K46 }  \ | ||||||
|  | } | ||||||
							
								
								
									
										51
									
								
								keyboards/ocean/addon/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								keyboards/ocean/addon/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,51 @@ | |||||||
|  | /*Copyright 2022 Ocean
 | ||||||
|  | 
 | ||||||
|  | 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" | ||||||
|  | 
 | ||||||
|  | #define VENDOR_ID       0x9624 | ||||||
|  | #define PRODUCT_ID      0x0012 | ||||||
|  | #define DEVICE_VER      0x0001 | ||||||
|  | #define MANUFACTURER    Ocean | ||||||
|  | #define PRODUCT         AddOn | ||||||
|  | 
 | ||||||
|  | /* key matrix size */ | ||||||
|  | #define MATRIX_ROWS 5 | ||||||
|  | #define MATRIX_COLS 7 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * 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) | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | /*                        0    1    2    3    4    5    6    7    8    9   10  11  12  13  14*/ | ||||||
|  | #define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 } | ||||||
|  | #define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5 } | ||||||
|  | #define UNUSED_PINS     { D0, D1, D2, D3, D4, F4 } | ||||||
|  | 
 | ||||||
|  | /* COL2ROW, ROW2COL*/ | ||||||
|  | #define DIODE_DIRECTION ROW2COL | ||||||
|  | 
 | ||||||
|  | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||||||
|  | #define DEBOUNCE 5 | ||||||
|  | 
 | ||||||
							
								
								
									
										45
									
								
								keyboards/ocean/addon/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								keyboards/ocean/addon/info.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | |||||||
|  | { | ||||||
|  |     "keyboard_name": "AddOn", | ||||||
|  |     "url": "tokopedia.com/kbdksp", | ||||||
|  |     "maintainer": "Ocean", | ||||||
|  |     "layouts": { | ||||||
|  |         "LAYOUT": { | ||||||
|  |             "layout": [ | ||||||
|  |                 {"x":0, "y":0},  | ||||||
|  |                 {"x":1, "y":0},  | ||||||
|  |                 {"x":2, "y":0},  | ||||||
|  |                 {"x":3.25, "y":0},  | ||||||
|  |                 {"x":4.25, "y":0},  | ||||||
|  |                 {"x":5.25, "y":0},  | ||||||
|  |                 {"x":6.25, "y":0},  | ||||||
|  |                 {"x":0, "y":1},  | ||||||
|  |                 {"x":1, "y":1},  | ||||||
|  |                 {"x":2, "y":1},  | ||||||
|  |                 {"x":3.25, "y":1},  | ||||||
|  |                 {"x":4.25, "y":1},  | ||||||
|  |                 {"x":5.25, "y":1},  | ||||||
|  |                 {"x":6.25, "y":1},  | ||||||
|  |                 {"x":0, "y":2},  | ||||||
|  |                 {"x":1, "y":2},  | ||||||
|  |                 {"x":2, "y":2},  | ||||||
|  |                 {"x":3.25, "y":2},  | ||||||
|  |                 {"x":4.25, "y":2},  | ||||||
|  |                 {"x":5.25, "y":2},  | ||||||
|  |                 {"x":6.25, "y":2},  | ||||||
|  |                 {"x":0, "y":3},  | ||||||
|  |                 {"x":1, "y":3},  | ||||||
|  |                 {"x":2, "y":3},  | ||||||
|  |                 {"x":3.25, "y":3},  | ||||||
|  |                 {"x":4.25, "y":3},  | ||||||
|  |                 {"x":5.25, "y":3},  | ||||||
|  |                 {"x":6.25, "y":3},  | ||||||
|  |                 {"x":0, "y":4},  | ||||||
|  |                 {"x":1, "y":4},  | ||||||
|  |                 {"x":2, "y":4},  | ||||||
|  |                 {"x":3.25, "y":4},  | ||||||
|  |                 {"x":4.25, "y":4},  | ||||||
|  |                 {"x":5.25, "y":4},  | ||||||
|  |                 {"x":6.25, "y":4}] | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										50
									
								
								keyboards/ocean/addon/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								keyboards/ocean/addon/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,50 @@ | |||||||
|  | /* Copyright 2022 Ocean
 | ||||||
|  |  * 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 | ||||||
|  | 
 | ||||||
|  | // clang-format off
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |   [0] = LAYOUT( | ||||||
|  |     KC_INS,  KC_HOME, KC_PGUP,    KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, | ||||||
|  |     KC_DEL,  KC_END,  KC_PGDN,    KC_P7,   KC_P8,   KC_P9,   KC_PPLS, | ||||||
|  |     KC_TRNS, KC_TRNS, KC_TRNS,    KC_P4,   KC_P5,   KC_P6,   KC_PPLS, | ||||||
|  |     KC_TRNS, KC_UP,   KC_TRNS,    KC_P1,   KC_P2,   KC_P3,   KC_PENT, | ||||||
|  |     KC_LEFT,  KC_DOWN, KC_RGHT,   KC_P0,   KC_P0,   KC_PDOT, KC_PENT | ||||||
|  |   ), | ||||||
|  | 
 | ||||||
|  |   [1] = LAYOUT( | ||||||
|  |     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,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||||||
|  |     KC_TRNS, 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, 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, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||||||
|  |   ), | ||||||
|  | 
 | ||||||
|  |   [3] = LAYOUT( | ||||||
|  |     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,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||||||
|  |     KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||||||
|  |   ), | ||||||
|  | }; | ||||||
							
								
								
									
										50
									
								
								keyboards/ocean/addon/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								keyboards/ocean/addon/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,50 @@ | |||||||
|  | /* Copyright 2022 Ocean
 | ||||||
|  |  * 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 | ||||||
|  | 
 | ||||||
|  | // clang-format off
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |   [0] = LAYOUT( | ||||||
|  |     KC_INS,  KC_HOME, KC_PGUP,    KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, | ||||||
|  |     KC_DEL,  KC_END,  KC_PGDN,    KC_P7,   KC_P8,   KC_P9,   KC_PPLS, | ||||||
|  |     KC_TRNS, KC_TRNS, KC_TRNS,    KC_P4,   KC_P5,   KC_P6,   KC_PPLS, | ||||||
|  |     KC_TRNS, KC_UP,   KC_TRNS,    KC_P1,   KC_P2,   KC_P3,   KC_PENT, | ||||||
|  |     KC_LEFT,  KC_DOWN, KC_RGHT,   KC_P0,   KC_P0,   KC_PDOT, KC_PENT | ||||||
|  |   ), | ||||||
|  | 
 | ||||||
|  |   [1] = LAYOUT( | ||||||
|  |     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,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||||||
|  |     KC_TRNS, 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, 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, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||||||
|  |   ), | ||||||
|  | 
 | ||||||
|  |   [3] = LAYOUT( | ||||||
|  |     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,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||||||
|  |     KC_TRNS, KC_TRNS, KC_TRNS,    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | ||||||
|  |   ), | ||||||
|  | }; | ||||||
							
								
								
									
										2
									
								
								keyboards/ocean/addon/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/ocean/addon/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | VIA_ENABLE = yes | ||||||
|  | LTO_ENABLE = yes | ||||||
							
								
								
									
										24
									
								
								keyboards/ocean/addon/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								keyboards/ocean/addon/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | # AddOn | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Navigation cluster and numpad for 60% keyboard | ||||||
|  | 
 | ||||||
|  | * Keyboard Maintainer: Ocean | ||||||
|  | * Hardware Supported: AddOn, Pro Micro | ||||||
|  | * Hardware Availability: [Keyboard Kasep Co.](https://tokopedia.com/kbdksp/) | ||||||
|  | 
 | ||||||
|  | Make example for this keyboard (after setting up your build environment): | ||||||
|  | 
 | ||||||
|  |     make ocean/addon:default | ||||||
|  | 
 | ||||||
|  | Flashing example for this keyboard: | ||||||
|  | 
 | ||||||
|  |     make ocean/addon:default:flash | ||||||
|  | 
 | ||||||
|  | ## Bootloader | ||||||
|  | 
 | ||||||
|  | To Enter the bootloader you can double click reset button on board when you flash the firmware | ||||||
|  | 
 | ||||||
|  | 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). | ||||||
							
								
								
									
										18
									
								
								keyboards/ocean/addon/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								keyboards/ocean/addon/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,18 @@ | |||||||
|  | # MCU name
 | ||||||
|  | MCU = atmega32u4 | ||||||
|  | 
 | ||||||
|  | # Bootloader selection
 | ||||||
|  | BOOTLOADER = caterina | ||||||
|  | 
 | ||||||
|  | # Build Options
 | ||||||
|  | #   change yes to no to disable
 | ||||||
|  | #
 | ||||||
|  | BOOTMAGIC_ENABLE = yes       # Enable Bootmagic Lite | ||||||
|  | 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 | ||||||
|  | NKRO_ENABLE = yes           # Enable N-Key Rollover | ||||||
|  | BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality | ||||||
|  | RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow | ||||||
|  | AUDIO_ENABLE = no           # Audio output | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Rifaa Subekti
						Rifaa Subekti