Joe Wreschnig [Thu, 7 Mar 2013 09:50:37 +0000 (10:50 +0100)]
Remove helpindex now that it is generated during build. Add a bit to the help about drag-and-drop; remove unnecessary mention of keyboard shortcuts.
Joe Wreschnig [Thu, 7 Mar 2013 09:40:46 +0000 (10:40 +0100)]
Support opening/adding a mapping file directly to import it.
Joe Wreschnig [Thu, 7 Mar 2013 01:06:48 +0000 (02:06 +0100)]
Provide file promises from the mapping list. Perform various file sanitization in doing so.
Joe Wreschnig [Wed, 6 Mar 2013 23:47:17 +0000 (00:47 +0100)]
Drag-and-drop mappings.
Joe Wreschnig [Wed, 6 Mar 2013 22:53:29 +0000 (23:53 +0100)]
Controls to reorder the mapping list.
Joe Wreschnig [Wed, 6 Mar 2013 19:18:26 +0000 (20:18 +0100)]
Don't need a third copy of the license floating around.
Joe Wreschnig [Wed, 6 Mar 2013 19:17:48 +0000 (20:17 +0100)]
Fix bad Markdown.
Joe Wreschnig [Wed, 6 Mar 2013 19:15:14 +0000 (20:15 +0100)]
Update README.
Joe Wreschnig [Wed, 6 Mar 2013 18:53:27 +0000 (19:53 +0100)]
Less crap in the dock menu.
Joe Wreschnig [Wed, 6 Mar 2013 18:53:06 +0000 (19:53 +0100)]
Fix space after link.
Joe Wreschnig [Wed, 6 Mar 2013 18:52:28 +0000 (19:52 +0100)]
Fixed signedness.
Joe Wreschnig [Wed, 6 Mar 2013 18:52:09 +0000 (19:52 +0100)]
Ignore DS_Store litter.
Joe Wreschnig [Wed, 6 Mar 2013 18:21:25 +0000 (19:21 +0100)]
Add missing makefile.
Joe Wreschnig [Wed, 6 Mar 2013 17:43:28 +0000 (18:43 +0100)]
Move help files around. Build index correctly.
Joe Wreschnig [Wed, 6 Mar 2013 16:06:52 +0000 (17:06 +0100)]
Move copyright license to help book.
Joe Wreschnig [Wed, 6 Mar 2013 15:10:29 +0000 (16:10 +0100)]
Tweak matrix layout to give more space for larger segmented controls. Better split view window resize behavior.
Joe Wreschnig [Wed, 6 Mar 2013 14:12:27 +0000 (15:12 +0100)]
Finish first draft of manual.
Joe Wreschnig [Wed, 6 Mar 2013 14:12:07 +0000 (15:12 +0100)]
Support magic @Application token for automatic mapping names. Fall back to the bundle name if no localized name is available.
Joe Wreschnig [Wed, 6 Mar 2013 12:23:09 +0000 (13:23 +0100)]
Mouse mode toggle creates really confusing situations right now, disable it.
Joe Wreschnig [Wed, 6 Mar 2013 11:41:25 +0000 (12:41 +0100)]
Improved analog support for scrolling, and allow speed adjustments.
Joe Wreschnig [Wed, 6 Mar 2013 10:44:33 +0000 (11:44 +0100)]
Change NJInputAnalog so magnitudes of subactions are always positive (e.g. -1 magnitude is 1 on low 0 on high, rather than -1 on low and high). Change NSInputs so buttons have a magnitude 1 when pressed, allowing them to also control the mouse. Allow mouse movement speed control.
Joe Wreschnig [Wed, 6 Mar 2013 00:48:52 +0000 (01:48 +0100)]
Add all major sections of help.
Joe Wreschnig [Wed, 6 Mar 2013 00:04:31 +0000 (01:04 +0100)]
Start help book. Tweak UI to deal with issues discovered trying to explain it.
Joe Wreschnig [Tue, 5 Mar 2013 01:08:03 +0000 (02:08 +0100)]
Subscribe the output controller to notifications directly. Application delegate has no more need to track the output controller.
Joe Wreschnig [Tue, 5 Mar 2013 00:56:13 +0000 (01:56 +0100)]
Avoid repeating serialization codes.
Joe Wreschnig [Tue, 5 Mar 2013 00:45:48 +0000 (01:45 +0100)]
Support sudden and automatic termination.
Joe Wreschnig [Mon, 4 Mar 2013 22:00:21 +0000 (23:00 +0100)]
Add some categories to better handle menus with represented objects, then use them for simpler menu handling.
Joe Wreschnig [Mon, 4 Mar 2013 22:00:02 +0000 (23:00 +0100)]
Tweak toolbar icons.
Joe Wreschnig [Mon, 4 Mar 2013 15:46:54 +0000 (16:46 +0100)]
Remove mappingsChanged with a notification. MappingsController no longer needs to know about the app delegate.
Joe Wreschnig [Mon, 4 Mar 2013 15:17:59 +0000 (16:17 +0100)]
Turn popover activation button 'on' when the popover is up.
Joe Wreschnig [Mon, 4 Mar 2013 15:01:38 +0000 (16:01 +0100)]
Give accurate names to most of the items in the nib. Tweak button appearance on the popover to resemble e.g. System Preferences lists with add/remove.
Joe Wreschnig [Mon, 4 Mar 2013 14:13:34 +0000 (15:13 +0100)]
Fix old method of unsetting field.
Joe Wreschnig [Mon, 4 Mar 2013 13:54:09 +0000 (14:54 +0100)]
Fix old check for unset field.
Joe Wreschnig [Mon, 4 Mar 2013 13:47:56 +0000 (14:47 +0100)]
Use represented objects rather than index hackery. Remove the mapping name from the output title, since it's always on-screen now.
Joe Wreschnig [Mon, 4 Mar 2013 13:43:51 +0000 (14:43 +0100)]
Fix mismatched serialization code.
Joe Wreschnig [Mon, 4 Mar 2013 13:06:53 +0000 (14:06 +0100)]
Signal mappings menu entry by a tag, not a check for a separator. Remove dead code.
Joe Wreschnig [Mon, 4 Mar 2013 12:52:00 +0000 (13:52 +0100)]
Rework toolbar UI. No more drawer, use a popover. No more weird toggle button, use a segmented control. Swap sides.
Joe Wreschnig [Sun, 3 Mar 2013 22:49:27 +0000 (23:49 +0100)]
Rename the application delegate, and hopefully catch the last vestiges of the old names.
Joe Wreschnig [Sun, 3 Mar 2013 21:37:54 +0000 (22:37 +0100)]
Big rename part 3: 'target' to 'output'.
Joe Wreschnig [Sun, 3 Mar 2013 21:08:41 +0000 (22:08 +0100)]
Big rename part 2: 'config' etc. to 'mapping.
Joe Wreschnig [Sun, 3 Mar 2013 20:42:59 +0000 (21:42 +0100)]
Big rename part 1: 'action' to 'input'.
Joe Wreschnig [Sun, 3 Mar 2013 19:56:04 +0000 (20:56 +0100)]
Publish activated/deactivated as notifications.
Joe Wreschnig [Sun, 3 Mar 2013 14:24:36 +0000 (15:24 +0100)]
Rewrite KeyInputTextView into NJKeyInputField. New class communicates using a proper delegate, standard property names, fixes more bugs in UI edge cases, allow Alt+Escape to clear the field, support modified virtual keys usefully.
Joe Wreschnig [Sun, 3 Mar 2013 12:57:46 +0000 (13:57 +0100)]
Implement equality checks for Targets. Don't consider equal targets as conflicting when importing.
Joe Wreschnig [Sat, 2 Mar 2013 20:53:01 +0000 (21:53 +0100)]
Post active mapping changes through notification center rather than to the application delegate directly. Don't listen for application switch notifications unless the mappings are active.
Joe Wreschnig [Sat, 2 Mar 2013 12:33:11 +0000 (13:33 +0100)]
Formal protocol for the interface shared between Joysticks and JSActions, use new safer types elsewhere.
Joe Wreschnig [Sat, 2 Mar 2013 11:24:57 +0000 (12:24 +0100)]
Harden importing.
Joe Wreschnig [Sat, 2 Mar 2013 02:51:36 +0000 (03:51 +0100)]
Nicer function to present the error.
Joe Wreschnig [Sat, 2 Mar 2013 02:38:58 +0000 (03:38 +0100)]
I had no idea you could use class property access like this it's the best thing ever.
Joe Wreschnig [Sat, 2 Mar 2013 02:07:13 +0000 (03:07 +0100)]
Use a sheet rather than a dialog for some parts of import/export.
Joe Wreschnig [Fri, 1 Mar 2013 19:28:14 +0000 (20:28 +0100)]
Remove unused field.
Joe Wreschnig [Fri, 1 Mar 2013 19:28:06 +0000 (20:28 +0100)]
Show HID error as a sheet so the main window still appears.
Joe Wreschnig [Fri, 1 Mar 2013 19:15:00 +0000 (20:15 +0100)]
Remove printf.
Joe Wreschnig [Fri, 1 Mar 2013 19:11:04 +0000 (20:11 +0100)]
Use ellipses, not ....
Joe Wreschnig [Fri, 1 Mar 2013 18:58:26 +0000 (19:58 +0100)]
Analog mouse scrolling.
Joe Wreschnig [Fri, 1 Mar 2013 18:48:29 +0000 (19:48 +0100)]
Remove 32 bit build.
Joe Wreschnig [Fri, 1 Mar 2013 17:52:38 +0000 (18:52 +0100)]
More compiler warnings on. Make all properties nonatomic.
Joe Wreschnig [Fri, 1 Mar 2013 17:41:58 +0000 (18:41 +0100)]
Simplify config removal since it's always the active config removed.
Joe Wreschnig [Fri, 1 Mar 2013 17:11:14 +0000 (18:11 +0100)]
Save after deleting a config. Reset target to no-op when deleting its config, rather than to the default config.
Joe Wreschnig [Fri, 1 Mar 2013 17:01:48 +0000 (18:01 +0100)]
Fix incorrect config list when there are duplicate names.
Joe Wreschnig [Fri, 1 Mar 2013 16:28:08 +0000 (17:28 +0100)]
Clean up some comments.
Joe Wreschnig [Fri, 1 Mar 2013 16:14:35 +0000 (17:14 +0100)]
Tweak some labels.
Joe Wreschnig [Fri, 1 Mar 2013 15:23:25 +0000 (16:23 +0100)]
Improve size in a number of pathological cases.
Joe Wreschnig [Fri, 1 Mar 2013 15:02:19 +0000 (16:02 +0100)]
Fix up copyright notices.
Joe Wreschnig [Fri, 1 Mar 2013 14:51:55 +0000 (15:51 +0100)]
Re-import exported files.
Joe Wreschnig [Fri, 1 Mar 2013 12:59:58 +0000 (13:59 +0100)]
Allow JSON export of configurations.
Joe Wreschnig [Fri, 1 Mar 2013 12:59:33 +0000 (13:59 +0100)]
Add key equivalents for switching configurations.
Joe Wreschnig [Fri, 1 Mar 2013 02:04:33 +0000 (03:04 +0100)]
Remove accidentally-committed file.
Joe Wreschnig [Fri, 1 Mar 2013 02:03:51 +0000 (03:03 +0100)]
Rename from Enjoy/Enjoy2 to 'Enjoyable'. While I'm mucking in the project file, enable a bunch of warnings and fixes for those warnings.
Joe Wreschnig [Fri, 1 Mar 2013 01:27:59 +0000 (02:27 +0100)]
Move logic into messages rather than directly in the callback functions.
Joe Wreschnig [Thu, 28 Feb 2013 23:38:59 +0000 (00:38 +0100)]
Allow clicking on the key field directly.
Joe Wreschnig [Thu, 28 Feb 2013 23:32:16 +0000 (00:32 +0100)]
Fix a variety of issues with incorrect / unexpected / unfriendly first responder status.
Joe Wreschnig [Thu, 28 Feb 2013 21:11:53 +0000 (22:11 +0100)]
Clean up a bunch of properties; remove unused ones, use automatic ones where possible, bypass them internally for serialization for speed.
Joe Wreschnig [Thu, 28 Feb 2013 20:42:23 +0000 (21:42 +0100)]
Better constructor for Config.
Joe Wreschnig [Thu, 28 Feb 2013 19:33:46 +0000 (20:33 +0100)]
Fix memory leak.
Joe Wreschnig [Thu, 28 Feb 2013 19:20:55 +0000 (20:20 +0100)]
Fix names while I still can.
Joe Wreschnig [Thu, 28 Feb 2013 19:07:42 +0000 (20:07 +0100)]
This isn't C++.
Joe Wreschnig [Thu, 28 Feb 2013 19:05:44 +0000 (20:05 +0100)]
This is not the dead zone that needs to be configurable.
Joe Wreschnig [Thu, 28 Feb 2013 19:03:47 +0000 (20:03 +0100)]
Fix analog axis scaling equation.
Joe Wreschnig [Thu, 28 Feb 2013 18:28:34 +0000 (19:28 +0100)]
Index hat switch names. Remove JSAction index properties entirely, once the name is generated they're not necessary.
Joe Wreschnig [Thu, 28 Feb 2013 18:25:33 +0000 (19:25 +0100)]
Fix inverted logic.
Joe Wreschnig [Thu, 28 Feb 2013 18:02:21 +0000 (19:02 +0100)]
Show an error message if opening input devices fail. Move real vs. configuration state onto JoystickController.
Joe Wreschnig [Thu, 28 Feb 2013 17:29:55 +0000 (18:29 +0100)]
Clean up save/restore. Write preferences immediately but continue relying on automatic/exit flush for disk persistence. Remember active configuration on exit.
Joe Wreschnig [Thu, 28 Feb 2013 16:28:29 +0000 (17:28 +0100)]
Fix case where quick axis movements could create duplicate running targets.
Joe Wreschnig [Thu, 28 Feb 2013 15:16:29 +0000 (16:16 +0100)]
Clean up TargetController formatting and public API.
Joe Wreschnig [Thu, 28 Feb 2013 14:49:40 +0000 (15:49 +0100)]
Reset target settings in UI when switching target types.
Joe Wreschnig [Thu, 28 Feb 2013 14:01:17 +0000 (15:01 +0100)]
Only refocus key input for empty/key targets.
Joe Wreschnig [Thu, 28 Feb 2013 13:44:41 +0000 (14:44 +0100)]
Replace hacky target stringification with structured serialization.
Joe Wreschnig [Thu, 28 Feb 2013 13:01:29 +0000 (14:01 +0100)]
Remove project headers from the prefix header; having everything in the prefix header file defeats the point of it.
Joe Wreschnig [Thu, 28 Feb 2013 12:46:41 +0000 (13:46 +0100)]
Use a weak reference for TargetConfig configurations to avoid a circular reference, and to auto-nil them when the chosen config is deleted.
Joe Wreschnig [Thu, 28 Feb 2013 01:06:53 +0000 (02:06 +0100)]
Clean up manual (previously 'neutral') vs. automatic (i.e. process-driven) configuration switching.
Joe Wreschnig [Thu, 28 Feb 2013 00:32:26 +0000 (01:32 +0100)]
Actually make it impossible to remove the default configuration. Various other small tweaks before I tackle target serialization.
Joe Wreschnig [Thu, 28 Feb 2013 00:08:58 +0000 (01:08 +0100)]
Rename 'stringify' to 'uid' where it pertains to unique action IDs.
Joe Wreschnig [Wed, 27 Feb 2013 23:34:12 +0000 (00:34 +0100)]
Indices are for display niceness only, so index them from 1 rather than keep offsetting them. Remove SubAction, it's just JSAction now.
Joe Wreschnig [Wed, 27 Feb 2013 22:56:02 +0000 (23:56 +0100)]
Remove hardcoded menu item offsets. Remove unused property.
Joe Wreschnig [Wed, 27 Feb 2013 22:54:38 +0000 (23:54 +0100)]
Fix crash when no action is available.
Joe Wreschnig [Wed, 27 Feb 2013 17:36:56 +0000 (18:36 +0100)]
JSAction base property should be eweak as it creates a circular reference with base.children.
Joe Wreschnig [Wed, 27 Feb 2013 17:28:05 +0000 (18:28 +0100)]
Automatically trigger/untrigger targets based on setting the 'running' property; set it directly from action activity state. Add action/target magnitudes, usually zero, except for analog sticks.
Joe Wreschnig [Wed, 27 Feb 2013 16:46:43 +0000 (17:46 +0100)]
Clean up JoystickController. Modernize more Objective-C syntax. Remove direct public expose of mouseLoc ivar and use a property. Replace CFRunLoopTimer with a NSTimer and unschedule the timer when nothing needs to run.
Joe Wreschnig [Wed, 27 Feb 2013 15:31:32 +0000 (16:31 +0100)]
Rename 'subActions' to 'children' to match Joystick property name. Simplify logic that deals with Joysticks-or-JSActions.