forked from mfulz_github/qmk_firmware
		
	Add 6-ball macropad
This commit is contained in:
		
							parent
							
								
									fca03e15b9
								
							
						
					
					
						commit
						c9a0436422
					
				
							
								
								
									
										5
									
								
								keyboards/6ball/6ball.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								keyboards/6ball/6ball.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | #include "6ball.h" | ||||||
|  | 
 | ||||||
|  | void matrix_init_kb(void) { | ||||||
|  | 	matrix_init_user(); | ||||||
|  | } | ||||||
							
								
								
									
										16
									
								
								keyboards/6ball/6ball.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								keyboards/6ball/6ball.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | |||||||
|  | #ifndef SIXBALL_H | ||||||
|  | #define SIXBALL_H | ||||||
|  | 
 | ||||||
|  | #include "quantum.h" | ||||||
|  | 
 | ||||||
|  | #define KEYMAP( \ | ||||||
|  |       k01, k02, k03, \ | ||||||
|  |       k04, k05, k06 \ | ||||||
|  | ) \ | ||||||
|  | { \ | ||||||
|  |     { k02, k03, k06, k05, k04, k01 } \ | ||||||
|  | }  | ||||||
|  | 
 | ||||||
|  | #define KC_KEYMAP(k01, k02, k03, k04, k05, k06) KEYMAP(KC_##k01, KC_##k02, KC_##k03, KC_##k04, KC_##k05, KC_##k06) | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										53
									
								
								keyboards/6ball/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								keyboards/6ball/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,53 @@ | |||||||
|  | /*
 | ||||||
|  | Copyright 2012 Jun Wako <wakojun@gmail.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/>.
 | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | #ifndef CONFIG_H | ||||||
|  | #define CONFIG_H | ||||||
|  | 
 | ||||||
|  | #include "config_common.h" | ||||||
|  | 
 | ||||||
|  | /* USB Device descriptor parameter */ | ||||||
|  | #define VENDOR_ID       0xCEEB | ||||||
|  | #define PRODUCT_ID      0x0007 | ||||||
|  | #define DEVICE_VER      0x0001 | ||||||
|  | #define MANUFACTURER    That-Canadian | ||||||
|  | #define PRODUCT         6-Ball | ||||||
|  | #define DESCRIPTION     6-Ball Macropuck | ||||||
|  | 
 | ||||||
|  | /* key matrix size */ | ||||||
|  | #define MATRIX_ROWS 1 | ||||||
|  | #define MATRIX_COLS 6 | ||||||
|  | 
 | ||||||
|  | /* pin-out */ | ||||||
|  | #define MATRIX_ROW_PINS { F5 } | ||||||
|  | #define MATRIX_COL_PINS { F4, D4, B5, B6, B2, F6 } | ||||||
|  | #define UNUSED_PINS | ||||||
|  | 
 | ||||||
|  | /* ws2812 RGB LED */ | ||||||
|  | #define RGB_DI_PIN F7 | ||||||
|  | #define RGBLIGHT_TIMER | ||||||
|  | #define RGBLIGHT_ANIMATIONS | ||||||
|  | #define RGBLED_NUM 6    // Number of LEDs
 | ||||||
|  | #define ws2812_PORTREG  PORTD | ||||||
|  | #define ws2812_DDRREG   DDRD | ||||||
|  | 
 | ||||||
|  | /* COL2ROW or ROW2COL */ | ||||||
|  | #define DIODE_DIRECTION COL2ROW | ||||||
|  | 
 | ||||||
|  | #define TAPPING_TERM 200 | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
							
								
								
									
										28
									
								
								keyboards/6ball/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								keyboards/6ball/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | |||||||
|  | #include "6ball.h" | ||||||
|  | 
 | ||||||
|  | #define _MAIN 0 | ||||||
|  | #define _FN 1 | ||||||
|  | 
 | ||||||
|  | #define KC_ KC_TRNS | ||||||
|  | 
 | ||||||
|  | #define KC_CAPW LGUI(LSFT(KC_3))        // Capture whole screen
 | ||||||
|  | #define KC_CPYW LGUI(LSFT(LCTL(KC_3)))  // Copy whole screen
 | ||||||
|  | #define KC_CAPP LGUI(LSFT(KC_4))        // Capture portion of screen
 | ||||||
|  | #define KC_CPYP LGUI(LSFT(LCTL(KC_4)))  // Copy portion of screen
 | ||||||
|  | #define KC_X0 LT(_FN, KC_ESC) | ||||||
|  | #define KC_RTOG RGB_TOG | ||||||
|  | #define KC_RMOD RGB_MOD | ||||||
|  | #define KC_RHUI RGB_HUI | ||||||
|  | #define KC_RHUD RGB_HUD | ||||||
|  | 
 | ||||||
|  | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|  |   [_MAIN] = KC_KEYMAP( | ||||||
|  |       F  , X0 ,LCTL, | ||||||
|  |       R  , D  , M   | ||||||
|  |   ), | ||||||
|  | 
 | ||||||
|  |   [_FN] = KC_KEYMAP( | ||||||
|  |       F  ,    ,RHUI, | ||||||
|  |      RTOG,RMOD,RHUD | ||||||
|  |   ) | ||||||
|  | }; | ||||||
							
								
								
									
										3
									
								
								keyboards/6ball/keymaps/default/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/6ball/keymaps/default/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | |||||||
|  | ifndef QUANTUM_DIR | ||||||
|  | 	include ../../../../Makefile | ||||||
|  | endif | ||||||
							
								
								
									
										14
									
								
								keyboards/6ball/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								keyboards/6ball/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | |||||||
|  | 6-Ball | ||||||
|  | ====== | ||||||
|  | 
 | ||||||
|  | A circular 6-key macropad made by ThatCanadian. | ||||||
|  | 
 | ||||||
|  | Keyboard Maintainer: QMK Community   | ||||||
|  | Hardware Supported: Pro Micro ATmega32U4   | ||||||
|  | Hardware Availability: ThatCanadian | ||||||
|  | 
 | ||||||
|  | Make example for this keyboard (after setting up your build environment): | ||||||
|  | 
 | ||||||
|  |     make 6ball:default | ||||||
|  | 
 | ||||||
|  | See [build environment setup](https://docs.qmk.fm/build_environment_setup.html) then the [make instructions](https://docs.qmk.fm/make_instructions.html) for more information. | ||||||
							
								
								
									
										67
									
								
								keyboards/6ball/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								keyboards/6ball/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,67 @@ | |||||||
|  | # MCU name
 | ||||||
|  | #MCU = at90usb1287
 | ||||||
|  | MCU = atmega32u4 | ||||||
|  | 
 | ||||||
|  | # Processor frequency.
 | ||||||
|  | #     This will define a symbol, F_CPU, in all source code files equal to the
 | ||||||
|  | #     processor frequency in Hz. You can then use this symbol in your source code to
 | ||||||
|  | #     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
 | ||||||
|  | #     automatically to create a 32-bit value in your source code.
 | ||||||
|  | #
 | ||||||
|  | #     This will be an integer division of F_USB below, as it is sourced by
 | ||||||
|  | #     F_USB after it has run through any CPU prescalers. Note that this value
 | ||||||
|  | #     does not *change* the processor frequency - it should merely be updated to
 | ||||||
|  | #     reflect the processor speed set externally so that the code can use accurate
 | ||||||
|  | #     software delays.
 | ||||||
|  | F_CPU = 16000000 | ||||||
|  | 
 | ||||||
|  | #
 | ||||||
|  | # LUFA specific
 | ||||||
|  | #
 | ||||||
|  | # Target architecture (see library "Board Types" documentation).
 | ||||||
|  | ARCH = AVR8 | ||||||
|  | 
 | ||||||
|  | # Input clock frequency.
 | ||||||
|  | #     This will define a symbol, F_USB, in all source code files equal to the
 | ||||||
|  | #     input clock frequency (before any prescaling is performed) in Hz. This value may
 | ||||||
|  | #     differ from F_CPU if prescaling is used on the latter, and is required as the
 | ||||||
|  | #     raw input clock is fed directly to the PLL sections of the AVR for high speed
 | ||||||
|  | #     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
 | ||||||
|  | #     at the end, this will be done automatically to create a 32-bit value in your
 | ||||||
|  | #     source code.
 | ||||||
|  | #
 | ||||||
|  | #     If no clock division is performed on the input clock inside the AVR (via the
 | ||||||
|  | #     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
 | ||||||
|  | F_USB = $(F_CPU) | ||||||
|  | 
 | ||||||
|  | # Interrupt driven control endpoint task(+60)
 | ||||||
|  | OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # Boot Section Size in *bytes*
 | ||||||
|  | #   Teensy halfKay   512
 | ||||||
|  | #   Teensy++ halfKay 1024
 | ||||||
|  | #   Atmel DFU loader 4096
 | ||||||
|  | #   LUFA bootloader  4096
 | ||||||
|  | #   USBaspLoader     2048
 | ||||||
|  | OPT_DEFS += -DBOOTLOADER_SIZE=4096 | ||||||
|  | 
 | ||||||
|  | # Build Options
 | ||||||
|  | #   change to "no" to disable the options, or define them in the Makefile in 
 | ||||||
|  | #   the appropriate keymap folder that will get included automatically
 | ||||||
|  | #
 | ||||||
|  | BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000) | ||||||
|  | MOUSEKEY_ENABLE = yes       # Mouse keys(+4700) | ||||||
|  | EXTRAKEY_ENABLE = yes       # Audio control and System control(+450) | ||||||
|  | CONSOLE_ENABLE = no         # Console for debug(+400) | ||||||
|  | COMMAND_ENABLE = no         # Commands for debug and configuration | ||||||
|  | NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | ||||||
|  | BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality | ||||||
|  | MIDI_ENABLE = no            # MIDI controls | ||||||
|  | AUDIO_ENABLE = no           # Audio output on port C6 | ||||||
|  | UNICODE_ENABLE = yes        # Unicode | ||||||
|  | BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID | ||||||
|  | RGBLIGHT_ENABLE = yes       # Enable WS2812 RGB underlight. | ||||||
|  | 
 | ||||||
|  | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | ||||||
|  | SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Danny Nguyen
						Danny Nguyen