mirror of https://github.com/nirenjan/libx52.git
				
				
				
			
		
			
				
	
	
		
			73 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
Key mappings for X52 Pro
 | 
						|
========================
 | 
						|
 | 
						|
# Key map table
 | 
						|
 | 
						|
One simple technique to map the individual keys is as follows:
 | 
						|
 | 
						|
| Key   | Mode 1   | Mode 2   | Mode 3   | Mode 1 S | Mode 2 S | Mode 3 S |
 | 
						|
| ----- | -------- | -------- | -------- | -------- | -------- | -------- |
 | 
						|
| Trigg | L Ctrl   | `<- M1`  | `<- M1`  | `<- M1S` | `<- M2S` | `<- M3S` |
 | 
						|
| FIRE  | SPACE    | `<- M1`  | `<- M1`  | `<- M1S` | `<- M2S` | `<- M3S` |
 | 
						|
| ...   |          |          |          |          |          |          |
 | 
						|
| Pinky | -SHIFT-  | -SHIFT-  | -SHIFT-  | -SHIFT-  | -SHIFT-  | -SHIFT-  |
 | 
						|
| D     | Tab      | `<- M1`  | `<- M1`  | `<- M1S` | `<- M2S` | `<- M3S` |
 | 
						|
| E     | Joy E    | `<- M1`  | `<- M1`  | `<- M1S` | `<- M2S` | `<- M3S` |
 | 
						|
 | 
						|
The `<- M*` mappings indicate that the key map in the corresponding mode is the
 | 
						|
same as in the linked mode. By default, the keys in modes 2 and 3 are linked
 | 
						|
with the keymap in mode 1, and the keys in the +shift modes are linked with the
 | 
						|
keymap in their primary mode, i.e., mode 1 + shift keymaps are linked with mode
 | 
						|
1 keymaps, mode 2 + shift keymaps with mode 2, and mode 3 + shift keymaps with
 | 
						|
mode 3.
 | 
						|
 | 
						|
Also, it is not necessary to have a specific key bound to each button, instead
 | 
						|
it can behave as the same button being pressed, and the application can take
 | 
						|
action accordingly.
 | 
						|
 
 | 
						|
# Shift Keys
 | 
						|
 | 
						|
The key mapper software for Windows allows the user to map any button to a
 | 
						|
keystroke or a set of keystrokes. The keystroke sent is dependent on the mode
 | 
						|
and if a shift key is pressed. Although the mapper does allow creation of
 | 
						|
several shift keys, this goes to a point of diminishing returns.
 | 
						|
 | 
						|
The application design therefore works on the principle of allowing a single
 | 
						|
shift key, mapped to the Pinky switch on the stick. The user can choose to
 | 
						|
disable the shift mode, reverting to only the mode selector to select the key
 | 
						|
maps.
 | 
						|
 | 
						|
One additional possibility is to have the shift button latched, i.e., the first
 | 
						|
press and release turns on the shift mode, and the next press and release turns
 | 
						|
it off. Compare this with the unlatched case where the user must press and hold
 | 
						|
the shift button to trigger the shift mode. By default, the shift key is
 | 
						|
unlatched, although a user can enable it on a per-profile basis.
 | 
						|
 | 
						|
Finally, when the shift mode is entered, this must be indicated by sending the
 | 
						|
control message to turn on the SHIFT indicator in the MFD. Similarly, when the
 | 
						|
shift mode is exited, the application must turn off the SHIFT indicator.
 | 
						|
 | 
						|
# Clutch button
 | 
						|
 | 
						|
The clutch feature is an optional enhancement to allow switching of profiles on
 | 
						|
the fly, without having to exit the game the user is in. This button (marked
 | 
						|
`i`) reports as a regular button, but the Windows driver allows the user to
 | 
						|
select it as a clutch. The clutch can also be latched.
 | 
						|
 | 
						|
When the clutch button is enabled, entering clutch mode should be signaled by
 | 
						|
blinking the clutch and POV hat LEDs. There is a specific message to enable
 | 
						|
and disable the blinking. In clutch mode, the hat can be used to select
 | 
						|
different profiles displayed on the MFD screen by going in the north and south
 | 
						|
directions. The current profile can be cleared by moving the hat west, and the
 | 
						|
selected profile can be enabled by moving the hat east.
 | 
						|
 | 
						|
When in clutch mode, the other buttons do not send their mappings to the
 | 
						|
applicaton, instead, they are captured by the driver and the driver application
 | 
						|
will display the current mapping on the MFD. The mode selector however, will
 | 
						|
work as expected, by changing the display to highlight the current mode. The
 | 
						|
application will also determine the current mapping by examining the mode.
 | 
						|
 | 
						|
Clutch mode can only be exited by means of the clutch button. If the clutch
 | 
						|
button is disabled, then the clutch button behaves as any normal button and can
 | 
						|
be mapped to a keypress.
 |