Issue #8: Restore shoulder-button dial haptics

Forgejo: http://100.120.38.37:3001/from-admin/riptide/issues/8

Summary

MjF reported that the main hub shoulder-button haptics for spinning the dial between selections are no longer present.

Root Cause

The haptic call path was not intentionally stripped: dial_rotate() still calls haptic_pulse(). The implementation hard-coded /dev/input/event1, silently failed if that event node was not the force-feedback device, and did not probe alternate evdev devices.