Commit Graph

694 Commits

Author SHA1 Message Date
Aaron Culliney
287df44133 Move tap delay to joystick variant
- Keypad variant already has a key repeat threshold
    - Improved variant touch lifecycle naming
2015-09-02 22:47:48 -07:00
Aaron Culliney
f046af0bef Improve state machine for keypad joystick; expire touch sources that have gone up 2015-09-02 22:45:00 -07:00
Aaron Culliney
fd2e65dd42 Bugfix : do not turn off caps_lock unless ownsScreen is also true 2015-09-02 22:33:56 -07:00
Aaron Culliney
2ae673e221 Balance touch indices decrement with increment 2015-09-02 22:33:13 -07:00
Aaron Culliney
5eb51419b0 Ignore multi-touch within a particular screen division (only one touch per Axis/Button side) 2015-08-30 17:04:28 -07:00
Aaron Culliney
27723be6cb Improved touch keypad joystick key repeat codepaths 2015-08-30 16:54:39 -07:00
Aaron Culliney
37e540180e Better handling of ctrl-key state and avoid conflict with keypad touch joystick 2015-08-29 12:12:29 -07:00
Aaron Culliney
8b02cb5f17 Cleaner logic for switching between soft keyboards 2015-08-29 12:07:56 -07:00
Aaron Culliney
158449e7fb Force CapsLock for Joystick Keypad for now 2015-08-29 12:05:09 -07:00
Aaron Culliney
2cd60c3c88 Expose all three touch interfaces in the sprouting menu for easier switching 2015-08-29 10:42:24 -07:00
Aaron Culliney
977cd9282d Lifecycle bugfix : don't override custom alternate/arrow keyboard configurations 2015-08-29 09:43:47 -07:00
Aaron Culliney
4258da8cbd Parse JSON that specifies alternate keyboard settings 2015-08-28 22:12:53 -07:00
Aaron Culliney
0bd9591348 Include jsmn JSON parsing code; add our own wrapper for processing JSON daata from files 2015-08-28 22:09:35 -07:00
Aaron Culliney
49c99d5ab7 Beginnings of customized alt touch keyboard layout 2015-08-23 15:03:30 -07:00
Aaron Culliney
59cb3e49f9 Enable various GL Touch Keyboard settings 2015-08-23 11:42:45 -07:00
Aaron Culliney
5df1e2400e Add ability to hide joystick controls overlay 2015-08-22 11:05:18 -07:00
Aaron Culliney
704c381ea8 Logging should automatically print function 2015-08-21 23:43:19 -07:00
Aaron Culliney
3f934ecd3f Fix cycling between different touch devices in the GL touch menu 2015-08-21 23:33:08 -07:00
Aaron Culliney
52ef663a2c toggle sprouting menu 2015-08-21 21:01:51 -07:00
Aaron Culliney
d2b526783a Improve joystick calibration modes and keypad menus 2015-08-21 20:34:19 -07:00
Aaron Culliney
a031a23999 Add a video_clear() routine 2015-08-20 22:12:54 -07:00
Aaron Culliney
5c3791f5dc Refactor GL Touch Joystick (PART I Native changes)
- Move touch-handling code for "regular" touch joystick into separate file
    - Add new touch-handling code for "keypad" touch joystick.  This is a somewhat complex state-machine to determine
      which key to press depending on a full keypad rosette.
    - Adds a callback to vm.c to hook into keyboard read callback.  Allows us to immediately queue the next key if the
      keypad touch joystick is long-pressed for either axis or button keys.
2015-08-18 21:59:41 -07:00
Aaron Culliney
77e96ba1ec Misc touch keyboard tweaks
- Enable tab key
    - Allow nonactionable keys to be tapped when in configuration mode
    - Add font mini visual for spacebar
2015-08-12 22:38:21 -07:00
Aaron Culliney
03d27dd2b2 touch keyboard now returns key and scancode in flags 2015-08-09 14:21:09 -07:00
Aaron Culliney
7344cadfbd More joystick settings including calibration mode 2015-08-02 14:29:34 -07:00
Aaron Culliney
af04ba94d1 Migrate file globals into file static struct 2015-08-02 12:44:44 -07:00
Aaron Culliney
324d900c35 First cut at Android touch joystick configuration 2015-08-01 17:33:29 -07:00
Aaron Culliney
53f0999f5a Bugfix : use int64_t for onTouchEvent flags 2015-08-01 16:41:49 -07:00
Aaron Culliney
0d658932b6 Expose particular settings back to Android so we can persist the values 2015-07-30 23:12:00 -07:00
Aaron Culliney
0bc8869627 nativeOnTouch() now returns various state flags
- Allows playing of a key click sound if a keyboard item tapped
    - Improves stovepiping the native request to show the Android main menu
2015-07-30 22:05:21 -07:00
Aaron Culliney
abfa6e743b Bugfix : properly show icon for joystick or keyboard 2015-07-29 21:18:25 -07:00
Aaron Culliney
7067d10949 Android touch menu configurations 2015-07-28 22:22:25 -07:00
Aaron Culliney
25b9f3d3f3 Android lifecycle cleanups
- Differentiate between cpu_pause() when going to menu (and app is still foregrounded, and cpu_pauseBackground()
      when a system backgrounding event has occurred.
    - Destroy/free audio resources owned by CPU thread when background is requested, put CPU thread into waiting upon
      pthread condition to resume.
    - Mobile device now always signals pthread condition to force CPU thread resume from background
2015-07-27 22:36:39 -07:00
Aaron Culliney
a0cadc83c6 Refactor timing locking behavior
- Do not start CPU thread until after splash screen
    - Insure that only CPU thread can actually create/destroy the audio interfaces
2015-07-26 13:48:24 -07:00
Aaron Culliney
fa1de4dee7 Silence some logging 2015-07-26 10:41:12 -07:00
Aaron Culliney
36baaa04d5 Allow dynamic configuration of audio latency
- This allows for user-configured device-specific tuning (which makes sense in the Android world with 10,000+
      different devices out there ;-)
2015-07-25 12:57:16 -07:00
Aaron Culliney
bca223780c Properly set speaker volume 2015-07-24 22:21:01 -07:00
Aaron Culliney
5291ee750d Add MB_ISEnabled() function 2015-07-23 23:46:23 -07:00
Aaron Culliney
2ae8468b10 Fix desktop Linux build break 2015-07-12 14:29:47 -07:00
Aaron Culliney
7ca4a2646d Optimize video drawing and API cleanup
- Enforces synchronized access to video dirty bit
2015-07-12 14:13:13 -07:00
Aaron Culliney
2a0a9c03b7 Misc speaker codepath tweaks 2015-07-12 13:01:25 -07:00
Aaron Culliney
432d2fb563 Renamed some speaker API methods 2015-07-12 13:00:39 -07:00
Aaron Culliney
5f4bf6b1a7 Use single buffer queue callback for OpenSLES/Android
- OpenSLES Callback now performs simple mix of 2 sources (speaker and mockingboard)
    - Avoids multiple callbacks which was a performance penalty especially for low-end droids
2015-07-12 12:59:49 -07:00
Aaron Culliney
2381868c63 Enable speaker stereo output 2015-07-11 14:21:07 -07:00
Aaron Culliney
1b4962169a Enabled backfilling quiet samples for stereo
- This is a bit of a hack that fixes mockingboard glitching
2015-07-08 20:14:16 -07:00
Aaron Culliney
60d32583ae Gets mockingboard playing with OpenSLES backend
- At ring buffer boundaries, we submit first the beginning of the samples buffer and then the end
2015-07-07 21:36:42 -07:00
Aaron Culliney
0cefe60e06 Force OpenSLES to start playback immediately
- Without this, mockingboard will queue a few samples on U5 boot, but then it won't restart
2015-07-07 21:32:43 -07:00
Aaron Culliney
edaa7be34f Avoid segfaults and deadlocks in backgrounding/foregrounding on Android 2015-07-05 13:40:50 -07:00
Aaron Culliney
38813bb2a1 Revert "Avoid segfault in render thread on mobile shutdown codepath"
This reverts commit ddefceaf08.

    - need an additional boolean instead
2015-07-05 13:29:35 -07:00
Aaron Culliney
4305909d67 Expose some timing constants 2015-07-05 13:17:41 -07:00