SensiKeys: improving movement with precision Raymund & Georg Zacharias
Situation A PC-gamer uses keyboard and mouse to control the playable actors (characters or vehicles). Removing either hand from the keyboard or mouse is an issue. (no keyboard → no chat / text input / OS control; no mouse → no or perceived inferior aiming) 2
Problems ● actor (character or vehicle) movement is controlled by binary input ● leads to imprecision (setting forward direction by setting camera rotation by mouse is only a partial solution and basically limited to characters) ● keyboard won’t provide nuanced (analog) input to the game ● mouse translation already controls the camera and mouse buttons are mostly bound to actions ● both devices are in use and can’t be replaced or long-time ignored 3
Solution 1 – acceleration lock Idea: ● Use the mouse wheel (+ key) to adjust the maximal allowed acceleration. Implications: ● difficult to implement as a generic control: ● no game code access, requires undocumented hooking into OS libraries to emulate device) ● if not generic then game-dependent ● mouse wheel is limited to ticks: ● results in either loss of precision or slow adjustment time 4
Solution 2 – pressure-sensitive keys Idea: Provide analog input by 1) using pressure-sensitive keys by measuring a unit change 1) decrease of distance between key and board → capacity increase → voltage decrease 2) measure voltage change 2) using microcontroller to 1) measure voltage change 2) display change via LEDs 3) identify as HID (Human Interface Device) - a well defined and implemented standard for input devices 6
Solution 2 – pressure-sensitive keys Implications ● requires hardware design ● requires firmware programming ● capacity-based sensors pick up interferences easily and require isolation ● key travel distance and resistance should be fitting to provide the player with meaningfully more precision than normal key usage 7
Solution 2 – pressure-sensitive keys Implementation: ● PIC32 microcontroller with USB stack framework ● custom board ● 3D-printed case ● plastic keys ● foam material ● ... 8
Solution 2 – pressure-sensitive keys 9
Test – With Unreal Engine • >= 5 participants • total 8 minutes getting “expert” time for • keyboard + mouse • keyboard + mouse + acceleration lock • Xbox One gamepad • SensiKeys • then 6 runs • best 3 get evaluated 11
SensiKeys Thank you for your attention! Questions?! 12
Recommend
More recommend