Opened 16 years ago

Closed 16 years ago

#12 closed feature (fixed)

Implement mouse support

Reported by: Henrik Heimbuerger Owned by: Fabian Rohn
Priority: minor Milestone: MS1: First release (1.0.0)
Component: controller Version: pre-1.0
Keywords: mouse, input device Cc:

Description (last modified by Henrik Heimbuerger)

Implement mouse support. Implement a new view (MouseInputView? -- name depends on whether keyboard support can be made global or requires a focus on the same view, see #13!). Holding the cursor at the upper side of the view means full thrust, holding it in the middle means 50% thrust, etc.

The view must only be shown on the race perspective. (And potentially only if mouse support was enabled in the input device settings dialog?)

Change History (10)

comment:1 Changed 16 years ago by Henrik Heimbuerger

Milestone: MS3: Input device and slot car track support

comment:2 Changed 16 years ago by Henrik Heimbuerger

Description: modified (diff)
Milestone: MS3: Input device and slot car track supportMS1: First usable version
Type: enhancementfeature

comment:3 Changed 16 years ago by Henrik Heimbuerger

Component: unspecifiedcontroller

comment:4 Changed 16 years ago by Henrik Heimbuerger

Owner: changed from somebody to nobody

Batch reassigned all tickets owned by the virtual user 'somebody' to the virtual user 'nobody'.

comment:5 Changed 16 years ago by Fabian Rohn

Owner: changed from nobody to Fabian Rohn
Status: newassigned

comment:6 Changed 16 years ago by SVN

New commit by frohn (revision [264]):
[Partial fix for ticket #12] Added an initial MouseDevice? Conroller

The MouseDevice? works with a global listener like the KeyBoaed? Device(see #13).
For a clean solution the listener has to be added when the race starts and removed, when the race end up.(cleanup method)

Maybe we really have to integrate an additionally MouseView?, where the mouse has the focus on. Actually the current version works fine, but the MouseEvents? of the TrackWidget? compete against.

comment:7 Changed 16 years ago by SVN

New commit by frohn (revision [265]):
[Partial fix for ticket #12 and #13] Listener Problem resolved

I added two abstract methods to DeviceController?, which has been essential for Keyboard and Mouse Device:

  • hookListener() --> adds the global listener when the race starts
  • unhookListener() --> removes ... when race finishes

These methods are called by RaceEngine?.

comment:8 Changed 16 years ago by SVN

New commit by hheimbuerger (revision [267]):
[Partial fix for tickets #12 and #13] A preview for mouse and keyboard layouts has been added to the InputDeviceSettingsDialog.

The implementation is rather hackish and probably still contains some bugs. Cleanup and refactoring wouldn't hurt.

Additionally, a bug in the mouse device has been fixed that caused it to 'stick' when unhookListener() was invoked while the mouse button was pressed.

Also, the device states of both mouse and keyboard are now reset on hookListener() and some warnings have been fixed.

comment:9 Changed 16 years ago by SVN

New commit by hheimbuerger (revision [275]):
[Partial fix for ticket #12] Fixed mouse state reset on activation and added displaying the current trigger state to the InputDeviceSettingsDialog.

comment:10 Changed 16 years ago by Florian Roth

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.