forked from mirrors/qmk_userspace
		
	[Core] Rework PS/2 driver selection (#17892)
* [Core] Rework PS/2 driver selection Enabling and selecting PS/2 driver was using old approach, so it was reworked to current approach, inspired by Serial and WS2812 driver selections. * [Keyboard] Update keyboards using PS/2 to use new PS/2 driver selection * [Docs] Update PS/2 documentation to use new PS/2 driver selection * Fix indentation * [Core] Add PS2 to data driver * Fix oversight in property name Co-authored-by: Drashna Jaelre <drashna@live.com> * Add PS/2 pins to data driven mappings Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
		
					parent
					
						
							
								ba7030d216
							
						
					
				
			
			
				commit
				
					
						0237ff0c62
					
				
			
		
					 26 changed files with 93 additions and 61 deletions
				
			
		| 
						 | 
					@ -805,31 +805,25 @@ ifeq ($(strip $(PS2_MOUSE_ENABLE)), yes)
 | 
				
			||||||
    OPT_DEFS += -DMOUSE_ENABLE
 | 
					    OPT_DEFS += -DMOUSE_ENABLE
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifeq ($(strip $(PS2_USE_BUSYWAIT)), yes)
 | 
					VALID_PS2_DRIVER_TYPES := busywait interrupt usart vendor
 | 
				
			||||||
    PS2_ENABLE := yes
 | 
					 | 
				
			||||||
    SRC += ps2_busywait.c
 | 
					 | 
				
			||||||
    SRC += ps2_io.c
 | 
					 | 
				
			||||||
    OPT_DEFS += -DPS2_USE_BUSYWAIT
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ifeq ($(strip $(PS2_USE_INT)), yes)
 | 
					 | 
				
			||||||
    PS2_ENABLE := yes
 | 
					 | 
				
			||||||
    SRC += ps2_interrupt.c
 | 
					 | 
				
			||||||
    SRC += ps2_io.c
 | 
					 | 
				
			||||||
    OPT_DEFS += -DPS2_USE_INT
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
ifeq ($(strip $(PS2_USE_USART)), yes)
 | 
					 | 
				
			||||||
    PS2_ENABLE := yes
 | 
					 | 
				
			||||||
    SRC += ps2_usart.c
 | 
					 | 
				
			||||||
    SRC += ps2_io.c
 | 
					 | 
				
			||||||
    OPT_DEFS += -DPS2_USE_USART
 | 
					 | 
				
			||||||
endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PS2_DRIVER ?= busywait
 | 
				
			||||||
ifeq ($(strip $(PS2_ENABLE)), yes)
 | 
					ifeq ($(strip $(PS2_ENABLE)), yes)
 | 
				
			||||||
 | 
					    ifeq ($(filter $(PS2_DRIVER),$(VALID_PS2_DRIVER_TYPES)),)
 | 
				
			||||||
 | 
					        $(call CATASTROPHIC_ERROR,Invalid PS2_DRIVER,PS2_DRIVER="$(PS2_DRIVER)" is not a valid PS/2 driver)
 | 
				
			||||||
 | 
					    endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    OPT_DEFS += -DPS2_DRIVER_$(strip $(shell echo $(PS2_DRIVER) | tr '[:lower:]' '[:upper:]'))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    COMMON_VPATH += $(DRIVER_PATH)/ps2
 | 
					    COMMON_VPATH += $(DRIVER_PATH)/ps2
 | 
				
			||||||
    COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/ps2
 | 
					    COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/ps2
 | 
				
			||||||
    OPT_DEFS += -DPS2_ENABLE
 | 
					    OPT_DEFS += -DPS2_ENABLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ifneq ($(strip $(PS2_DRIVER)), vendor)
 | 
				
			||||||
 | 
					        SRC += ps2_io.c
 | 
				
			||||||
 | 
					    endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SRC += ps2_$(strip $(PS2_DRIVER)).c
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
JOYSTICK_ENABLE ?= no
 | 
					JOYSTICK_ENABLE ?= no
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -66,7 +66,9 @@ OTHER_OPTION_NAMES = \
 | 
				
			||||||
  KEYLOGGER_ENABLE \
 | 
					  KEYLOGGER_ENABLE \
 | 
				
			||||||
  LCD_BACKLIGHT_ENABLE \
 | 
					  LCD_BACKLIGHT_ENABLE \
 | 
				
			||||||
  MACROS_ENABLED \
 | 
					  MACROS_ENABLED \
 | 
				
			||||||
 | 
					  PS2_ENABLE \
 | 
				
			||||||
  PS2_MOUSE_ENABLE \
 | 
					  PS2_MOUSE_ENABLE \
 | 
				
			||||||
 | 
					  PS2_DRIVER \
 | 
				
			||||||
  RAW_ENABLE \
 | 
					  RAW_ENABLE \
 | 
				
			||||||
  SWAP_HANDS_ENABLE \
 | 
					  SWAP_HANDS_ENABLE \
 | 
				
			||||||
  RING_BUFFERED_6KRO_REPORT_ENABLE \
 | 
					  RING_BUFFERED_6KRO_REPORT_ENABLE \
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -52,6 +52,8 @@
 | 
				
			||||||
    "ONESHOT_TAP_TOGGLE": {"info_key": "oneshot.tap_toggle", "value_type": "int"},
 | 
					    "ONESHOT_TAP_TOGGLE": {"info_key": "oneshot.tap_toggle", "value_type": "int"},
 | 
				
			||||||
    "PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"},
 | 
					    "PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"},
 | 
				
			||||||
    "PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"},
 | 
					    "PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"},
 | 
				
			||||||
 | 
					    "PS2_CLOCK_PIN": {"info_key": "ps2.clock_pin"},
 | 
				
			||||||
 | 
					    "PS2_DATA_PIN": {"info_key": "ps2.data_pin"},
 | 
				
			||||||
    "RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"},
 | 
					    "RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"},
 | 
				
			||||||
    "RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"},
 | 
					    "RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"},
 | 
				
			||||||
    "RGB_DI_PIN": {"info_key": "rgblight.pin"},
 | 
					    "RGB_DI_PIN": {"info_key": "rgblight.pin"},
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,6 +32,9 @@
 | 
				
			||||||
    "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"},
 | 
					    "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"},
 | 
				
			||||||
    "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"},
 | 
					    "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"},
 | 
				
			||||||
    "STENO_PROTOCOL": {"info_key": "stenography.protocol"},
 | 
					    "STENO_PROTOCOL": {"info_key": "stenography.protocol"},
 | 
				
			||||||
 | 
					    "PS2_ENABLE": {"info_key": "ps2.enabled", "value_type": "bool"},
 | 
				
			||||||
 | 
					    "PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"},
 | 
				
			||||||
 | 
					    "PS2_DRIVER": {"info_key": "ps2.driver"},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Items we want flagged in lint
 | 
					    # Items we want flagged in lint
 | 
				
			||||||
    "CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
 | 
					    "CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -390,6 +390,20 @@
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        "ps2": {
 | 
				
			||||||
 | 
					            "type": "object",
 | 
				
			||||||
 | 
					            "additionalProperties": false,
 | 
				
			||||||
 | 
					            "properties": {
 | 
				
			||||||
 | 
					                "enabled": {"type": "boolean"},
 | 
				
			||||||
 | 
					                "mouse_enabled": {"type": "boolean"},
 | 
				
			||||||
 | 
					                "clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
 | 
				
			||||||
 | 
					                "data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
 | 
				
			||||||
 | 
					                "driver": {
 | 
				
			||||||
 | 
					                    "type": "string",
 | 
				
			||||||
 | 
					                    "enum": ["busywait", "interrupt", "usart", "vendor"]
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "split": {
 | 
					        "split": {
 | 
				
			||||||
            "type": "object",
 | 
					            "type": "object",
 | 
				
			||||||
            "additionalProperties": false,
 | 
					            "additionalProperties": false,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,13 +32,14 @@ In rules.mk:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```make
 | 
					```make
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_BUSYWAIT = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = busywait
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
In your keyboard config.h:
 | 
					In your keyboard config.h:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```c
 | 
					```c
 | 
				
			||||||
#ifdef PS2_USE_BUSYWAIT
 | 
					#ifdef PS2_DRIVER_BUSYWAIT
 | 
				
			||||||
#   define PS2_CLOCK_PIN   D1
 | 
					#   define PS2_CLOCK_PIN   D1
 | 
				
			||||||
#   define PS2_DATA_PIN    D2
 | 
					#   define PS2_DATA_PIN    D2
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -52,13 +53,14 @@ In rules.mk:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```make
 | 
					```make
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_INT = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = interrupt
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
In your keyboard config.h:
 | 
					In your keyboard config.h:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```c
 | 
					```c
 | 
				
			||||||
#ifdef PS2_USE_INT
 | 
					#ifdef PS2_DRIVER_INTERRUPT
 | 
				
			||||||
#define PS2_CLOCK_PIN   D2
 | 
					#define PS2_CLOCK_PIN   D2
 | 
				
			||||||
#define PS2_DATA_PIN    D5
 | 
					#define PS2_DATA_PIN    D5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -84,7 +86,8 @@ In rules.mk:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_INT = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = interrupt
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
In your keyboard config.h:
 | 
					In your keyboard config.h:
 | 
				
			||||||
| 
						 | 
					@ -108,13 +111,14 @@ In rules.mk:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```make
 | 
					```make
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_USART = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = usart
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
In your keyboard config.h:
 | 
					In your keyboard config.h:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```c
 | 
					```c
 | 
				
			||||||
#ifdef PS2_USE_USART
 | 
					#ifdef PS2_DRIVER_USART
 | 
				
			||||||
#define PS2_CLOCK_PIN   D5
 | 
					#define PS2_CLOCK_PIN   D5
 | 
				
			||||||
#define PS2_DATA_PIN    D2
 | 
					#define PS2_DATA_PIN    D2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,13 +36,14 @@ rules.mk で:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```makefile
 | 
					```makefile
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_BUSYWAIT = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = busywait
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
キーボードの config.h で:
 | 
					キーボードの config.h で:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```c
 | 
					```c
 | 
				
			||||||
#ifdef PS2_USE_BUSYWAIT
 | 
					#ifdef PS2_DRIVER_BUSYWAIT
 | 
				
			||||||
#   define PS2_CLOCK_PIN   D1
 | 
					#   define PS2_CLOCK_PIN   D1
 | 
				
			||||||
#   define PS2_DATA_PIN    D2
 | 
					#   define PS2_DATA_PIN    D2
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -56,13 +57,14 @@ rules.mk で:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```makefile
 | 
					```makefile
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_INT = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = interrupt
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
キーボードの config.h で:
 | 
					キーボードの config.h で:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```c
 | 
					```c
 | 
				
			||||||
#ifdef PS2_USE_INT
 | 
					#ifdef PS2_DRIVER_INTERRUPT
 | 
				
			||||||
#define PS2_CLOCK_PIN   D2
 | 
					#define PS2_CLOCK_PIN   D2
 | 
				
			||||||
#define PS2_DATA_PIN    D5
 | 
					#define PS2_DATA_PIN    D5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -88,14 +90,14 @@ rules.mk で:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```makefile
 | 
					```makefile
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_USART = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = usart
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
キーボードの config.h で:
 | 
					キーボードの config.h で:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```c
 | 
					```c
 | 
				
			||||||
#ifdef PS2_USE_USART
 | 
					#ifdef PS2_DRIVER_USART
 | 
				
			||||||
#ifdef PS2_USE_USART
 | 
					 | 
				
			||||||
#define PS2_CLOCK_PIN   D5
 | 
					#define PS2_CLOCK_PIN   D5
 | 
				
			||||||
#define PS2_DATA_PIN    D2
 | 
					#define PS2_DATA_PIN    D2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,7 +35,7 @@
 | 
				
			||||||
#define SPLIT_OLED_ENABLE
 | 
					#define SPLIT_OLED_ENABLE
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef PS2_USE_INT
 | 
					#ifdef PS2_DRIVER_INTERRUPT
 | 
				
			||||||
#define PS2_CLOCK_PIN   E6
 | 
					#define PS2_CLOCK_PIN   E6
 | 
				
			||||||
#define PS2_DATA_PIN    D7
 | 
					#define PS2_DATA_PIN    D7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,4 @@
 | 
				
			||||||
OLED_DRIVER = SSD1306
 | 
					OLED_DRIVER = SSD1306
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PS2_USE_INT = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = interrupt
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,7 +36,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * PS/2 USART configuration for ATMega32U4
 | 
					 * PS/2 USART configuration for ATMega32U4
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#ifdef PS2_USE_USART
 | 
					#ifdef PS2_DRIVER_USART
 | 
				
			||||||
/* XCK for clock line */
 | 
					/* XCK for clock line */
 | 
				
			||||||
#define PS2_CLOCK_PIN   D5
 | 
					#define PS2_CLOCK_PIN   D5
 | 
				
			||||||
#define PS2_DATA_PIN    D2
 | 
					#define PS2_DATA_PIN    D2
 | 
				
			||||||
| 
						 | 
					@ -77,7 +77,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * PS/2 Interrupt configuration
 | 
					 * PS/2 Interrupt configuration
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#ifdef PS2_USE_INT
 | 
					#ifdef PS2_DRIVER_INTERRUPT
 | 
				
			||||||
/* uses INT1 for clock line(ATMega32U4) */
 | 
					/* uses INT1 for clock line(ATMega32U4) */
 | 
				
			||||||
#define PS2_CLOCK_PIN   D1
 | 
					#define PS2_CLOCK_PIN   D1
 | 
				
			||||||
#define PS2_DATA_PIN    D0
 | 
					#define PS2_DATA_PIN    D0
 | 
				
			||||||
| 
						 | 
					@ -99,7 +99,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * PS/2 Busywait configuration
 | 
					 * PS/2 Busywait configuration
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#ifdef PS2_USE_BUSYWAIT
 | 
					#ifdef PS2_DRIVER_BUSYWAIT
 | 
				
			||||||
#define PS2_CLOCK_PIN   D1
 | 
					#define PS2_CLOCK_PIN   D1
 | 
				
			||||||
#define PS2_DATA_PIN    D0
 | 
					#define PS2_DATA_PIN    D0
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,4 +7,5 @@ NKRO_ENABLE = yes
 | 
				
			||||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
					BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
AUDIO_ENABLE = no           # Audio output
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
					RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
				
			||||||
PS2_USE_USART = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = usart
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,7 +15,8 @@ UNICODE_ENABLE = no         # Unicode
 | 
				
			||||||
UNICODEMAP_ENABLE = yes
 | 
					UNICODEMAP_ENABLE = yes
 | 
				
			||||||
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
					BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
				
			||||||
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
					RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
				
			||||||
PS2_USE_USART = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = usart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
					# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
				
			||||||
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 | 
					SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,7 +16,8 @@ NKRO_ENABLE = yes           # Enable N-Key Rollover
 | 
				
			||||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
					BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
AUDIO_ENABLE = no           # Audio output
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
					RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
				
			||||||
PS2_USE_USART = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = usart
 | 
				
			||||||
CUSTOM_MATRIX = yes
 | 
					CUSTOM_MATRIX = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SRC = matrix.c led.c
 | 
					SRC = matrix.c led.c
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,7 +16,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef PS2_USE_USART
 | 
					#ifdef PS2_DRIVER_USART
 | 
				
			||||||
#define PS2_CLOCK_PIN   D5
 | 
					#define PS2_CLOCK_PIN   D5
 | 
				
			||||||
#define PS2_DATA_PIN    D2
 | 
					#define PS2_DATA_PIN    D2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2,4 +2,5 @@
 | 
				
			||||||
#   change yes to no to disable
 | 
					#   change yes to no to disable
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_USART = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = usart
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,7 +5,7 @@
 | 
				
			||||||
#define MATRIX_ROWS 8
 | 
					#define MATRIX_ROWS 8
 | 
				
			||||||
#define MATRIX_COLS 23
 | 
					#define MATRIX_COLS 23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef PS2_USE_USART
 | 
					#ifdef PS2_DRIVER_USART
 | 
				
			||||||
#define PS2_CLOCK_PIN   D5
 | 
					#define PS2_CLOCK_PIN   D5
 | 
				
			||||||
#define PS2_DATA_PIN    D2
 | 
					#define PS2_DATA_PIN    D2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,4 +17,5 @@ BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
					RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
				
			||||||
AUDIO_ENABLE = no           # Audio output
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_USART = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = usart
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -210,13 +210,13 @@ enum led_sequence {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* PS/2 mouse */
 | 
					/* PS/2 mouse */
 | 
				
			||||||
#ifdef PS2_USE_BUSYWAIT
 | 
					#ifdef PS2_DRIVER_BUSYWAIT
 | 
				
			||||||
#    define PS2_CLOCK_PIN  D3
 | 
					#    define PS2_CLOCK_PIN  D3
 | 
				
			||||||
#    define PS2_DATA_PIN   D2
 | 
					#    define PS2_DATA_PIN   D2
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* PS/2 mouse interrupt version */
 | 
					/* PS/2 mouse interrupt version */
 | 
				
			||||||
#ifdef PS2_USE_INT
 | 
					#ifdef PS2_DRIVER_INTERRUPT
 | 
				
			||||||
/* uses INT1 for clock line(ATMega32U4) */
 | 
					/* uses INT1 for clock line(ATMega32U4) */
 | 
				
			||||||
#    define PS2_CLOCK_PIN  D3
 | 
					#    define PS2_CLOCK_PIN  D3
 | 
				
			||||||
#    define PS2_DATA_PIN   D2
 | 
					#    define PS2_DATA_PIN   D2
 | 
				
			||||||
| 
						 | 
					@ -237,7 +237,7 @@ enum led_sequence {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* PS/2 mouse USART version */
 | 
					/* PS/2 mouse USART version */
 | 
				
			||||||
#ifdef PS2_USE_USART
 | 
					#ifdef PS2_DRIVER_USART
 | 
				
			||||||
/* XCK for clock line and RXD for data line */
 | 
					/* XCK for clock line and RXD for data line */
 | 
				
			||||||
#define PS2_CLOCK_PIN   D5
 | 
					#define PS2_CLOCK_PIN   D5
 | 
				
			||||||
#define PS2_DATA_PIN    D2
 | 
					#define PS2_DATA_PIN    D2
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,4 +9,5 @@ AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
UNICODEMAP_ENABLE = yes
 | 
					UNICODEMAP_ENABLE = yes
 | 
				
			||||||
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
					RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_INT = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = interrupt
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,7 +17,8 @@ UNICODE_ENABLE = no         # Unicode
 | 
				
			||||||
UNICODEMAP_ENABLE = yes
 | 
					UNICODEMAP_ENABLE = yes
 | 
				
			||||||
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
					RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_INT = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = interrupt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
					# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
				
			||||||
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 | 
					SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,7 +20,8 @@ BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
AUDIO_ENABLE = no           # Audio output
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
					RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_INT = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = interrupt
 | 
				
			||||||
CUSTOM_MATRIX = yes
 | 
					CUSTOM_MATRIX = yes
 | 
				
			||||||
BLUETOOTH_ENABLE = yes
 | 
					BLUETOOTH_ENABLE = yes
 | 
				
			||||||
BLUETOOTH_DRIVER = BluefruitLE
 | 
					BLUETOOTH_DRIVER = BluefruitLE
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,7 +5,7 @@
 | 
				
			||||||
#define MATRIX_ROWS 1
 | 
					#define MATRIX_ROWS 1
 | 
				
			||||||
#define MATRIX_COLS 3
 | 
					#define MATRIX_COLS 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef PS2_USE_USART
 | 
					#ifdef PS2_DRIVER_USART
 | 
				
			||||||
#define PS2_CLOCK_PIN   D5
 | 
					#define PS2_CLOCK_PIN   D5
 | 
				
			||||||
#define PS2_DATA_PIN    D2
 | 
					#define PS2_DATA_PIN    D2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,4 +17,5 @@ BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
AUDIO_ENABLE = no           # Audio output
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PS2_MOUSE_ENABLE = yes
 | 
					PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
PS2_USE_USART = yes
 | 
					PS2_ENABLE = yes
 | 
				
			||||||
 | 
					PS2_DRIVER = usart
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,7 +26,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
#define BOOTMAGIC_LITE_COLUMN 6
 | 
					#define BOOTMAGIC_LITE_COLUMN 6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Only required if you add in a trackpoint hardware to the pcb */
 | 
					/* Only required if you add in a trackpoint hardware to the pcb */
 | 
				
			||||||
#ifdef PS2_USE_USART
 | 
					#ifdef PS2_DRIVER_USART
 | 
				
			||||||
#define PS2_CLOCK_PIN   D5
 | 
					#define PS2_CLOCK_PIN   D5
 | 
				
			||||||
#define PS2_DATA_PIN    D2
 | 
					#define PS2_DATA_PIN    D2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -63,7 +63,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
    #define PS2_USART_RX_VECT       USART1_RX_vect
 | 
					    #define PS2_USART_RX_VECT       USART1_RX_vect
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef PS2_USE_INT
 | 
					#ifdef PS2_DRIVER_INTERRUPT
 | 
				
			||||||
#define PS2_CLOCK_PIN   D2
 | 
					#define PS2_CLOCK_PIN   D2
 | 
				
			||||||
#define PS2_DATA_PIN    D5
 | 
					#define PS2_DATA_PIN    D5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,7 +31,7 @@
 | 
				
			||||||
#define COMBO_COUNT 3
 | 
					#define COMBO_COUNT 3
 | 
				
			||||||
#define COMBO_TERM 35
 | 
					#define COMBO_TERM 35
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef PS2_USE_USART
 | 
					#ifdef PS2_DRIVER_USART
 | 
				
			||||||
#define PS2_CLOCK_PIN   D5
 | 
					#define PS2_CLOCK_PIN   D5
 | 
				
			||||||
#define PS2_DATA_PIN    D2
 | 
					#define PS2_DATA_PIN    D2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,7 @@
 | 
				
			||||||
ifeq ($(strip $(TRACKPOINT)), yes)
 | 
					ifeq ($(strip $(TRACKPOINT)), yes)
 | 
				
			||||||
  PS2_MOUSE_ENABLE = yes
 | 
					  PS2_MOUSE_ENABLE = yes
 | 
				
			||||||
  PS2_USE_USART = yes
 | 
					  PS2_ENABLE = yes
 | 
				
			||||||
 | 
					  PS2_DRIVER = usart
 | 
				
			||||||
  OPT_DEFS += -DUSART
 | 
					  OPT_DEFS += -DUSART
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue