packages issueshttp://dev.pyra-handheld.com/groups/packages/-/issues2021-12-29T13:31:51Zhttp://dev.pyra-handheld.com/packages/funkeymonkey-pyrainput/-/issues/10Implement UInputDevice `enabled` flag and refactor export-settings to use it2021-12-29T13:31:51ZTeemu ErkkolaImplement UInputDevice `enabled` flag and refactor export-settings to use itAlso copy uinputdevice.h from funkeymonkey headers to pyrainput to remove hard compilation dependency as uinputdevice.h does not actually depend on funkeymonkey.Also copy uinputdevice.h from funkeymonkey headers to pyrainput to remove hard compilation dependency as uinputdevice.h does not actually depend on funkeymonkey.http://dev.pyra-handheld.com/packages/funkeymonkey-pyrainput/-/issues/9Replace hardcoded multi event emitting with new default configuration2021-02-22T10:59:48ZTeemu ErkkolaReplace hardcoded multi event emitting with new default configurationhttp://dev.pyra-handheld.com/packages/funkeymonkey-pyrainput/-/issues/8Make all gamepad functions configurable2021-02-22T10:58:55ZTeemu ErkkolaMake all gamepad functions configurablehttp://dev.pyra-handheld.com/packages/funkeymonkey-pyrainput/-/issues/7Implement high resolution scrolling2021-02-27T12:15:25ZTeemu ErkkolaImplement high resolution scrollinghttps://www.kernel.org/doc/html/latest/input/event-codes.html#ev-rel
Using REL_WHEEL_HI_RES and REL_HWHEEL_HI_RES should allow for more fine-grained scrolling for those applications that support it.
Make sure to emit BOTH events. REL_W...https://www.kernel.org/doc/html/latest/input/event-codes.html#ev-rel
Using REL_WHEEL_HI_RES and REL_HWHEEL_HI_RES should allow for more fine-grained scrolling for those applications that support it.
Make sure to emit BOTH events. REL_WHEEL/REL_HWHEEL should be emitted every 120 units of REL_WHEEL_HI_RES/REL_HWHEEL_HI_RES. Use a counter for both that adds emitted event values to itself and emits a wheel event when it reaches 120/-120, resetting 120 units closer to 0.
Also implement `mouse.wheel.sensitivity` setting which is used to control the maximum scroll speed. The speed should increase linearly from deadzone to minimum/maximum nub value.http://dev.pyra-handheld.com/packages/funkeymonkey-pyrainput/-/issues/6Configuration injection support2021-02-07T07:43:01ZTeemu ErkkolaConfiguration injection support1. Add a file handle to Settings named `pipe`
1. Add a setting handler for `pipe`
- Value must be a path to a file of type FIFO that can be read OR path to a non-existing file within a directory that can be written to
- If the fi...1. Add a file handle to Settings named `pipe`
1. Add a setting handler for `pipe`
- Value must be a path to a file of type FIFO that can be read OR path to a non-existing file within a directory that can be written to
- If the file does not exist, create it (make sure it's a FIFO aka. pipe)
- Open the file in read mode, store the handle to `Settings::pipe`
1. Use inotify to watch for write events to the pipe
- Each line of input should be handled as a line of configurationhttp://dev.pyra-handheld.com/packages/funkeymonkey-pyrainput/-/issues/5Configuration profile support2021-02-16T11:30:06ZTeemu ErkkolaConfiguration profile support1. Add 10 profile slots to Settings
- `std::string[10] profilePaths`
- Each should either be empty or point to a configuration file
1. Add enum `ProfileIndex` with values `PROFILE_0`...`PROFILE_9` and `PROFILE_NONE`
1. Add curren...1. Add 10 profile slots to Settings
- `std::string[10] profilePaths`
- Each should either be empty or point to a configuration file
1. Add enum `ProfileIndex` with values `PROFILE_0`...`PROFILE_9` and `PROFILE_NONE`
1. Add current profile index to Settings
- `ProfileIndex currentProfile`, defaults to special value `PROFILE_NONE` indicating no profile is loaded
1. Add settings handlers for the profile slots
- `profile.0`...`profile.9`
1. Add a function `loadProfile(ProfileIndex i)`
- Sets `currentProfile`
- Reads the profile in the indicated slot's path (if it exists) and loads its contents as settings
1. Add a setting handler for setting a profile
- `profile.current`
- value must be an integer in range 0..9
- calls `loadProfile` if value changed
1. Add a shortcut key for switching profiles
- for example Fn+Pyra+0...Fn+Pyra+9
- calls `loadProfile` if set profile is different than `currentProfile`http://dev.pyra-handheld.com/packages/funkeymonkey-pyrainput/-/issues/4Multivalue configuration support2021-02-13T13:46:23ZTeemu ErkkolaMultivalue configuration support1. Modify Settings struct to have vectors instead of single values for nub modes and nub click modes (we'll optimize this later into bitfields if it matters, but this is cleaner for now)
1. Implement support for parsing multiple values f...1. Modify Settings struct to have vectors instead of single values for nub modes and nub click modes (we'll optimize this later into bitfields if it matters, but this is cleaner for now)
1. Implement support for parsing multiple values from a comma separated list in parseNubMode, parseNubClickMode
1. Add loop for calling handleNubAxis/handleNubClick for all set values in handlehttp://dev.pyra-handheld.com/packages/funkeymonkey-pyrainput/-/issues/3sudo /usr/sbin/pyrainputctl enable gamepad does not enable nubs2021-01-30T11:32:43ZWallysudo /usr/sbin/pyrainputctl enable gamepad does not enable nubsWhen selecting sudo /usr/sbin/pyrainputctl enable gamepad as an option it does not appear to disable mouse and leaves nubs as a mouse pointer.When selecting sudo /usr/sbin/pyrainputctl enable gamepad as an option it does not appear to disable mouse and leaves nubs as a mouse pointer.http://dev.pyra-handheld.com/packages/funkeymonkey-pyrainput/-/issues/2Input does not reset after application crash or application close2021-07-24T11:21:01ZWallyInput does not reset after application crash or application closeWhen an application crashes the input does not reset and if mouse / keyboard is disabled and SSH is not available the Pyra will need to be forced offWhen an application crashes the input does not reset and if mouse / keyboard is disabled and SSH is not available the Pyra will need to be forced offhttp://dev.pyra-handheld.com/packages/dri3wsegl-pyra/-/issues/1Crashes when resizing windows2020-06-25T12:07:54ZMichael Mrozekevildragon@openpandora.orgCrashes when resizing windowsVarious failures - page faults in the PowerVR driver and a failure to remap (12) on the OMAP side - occur when resizing a 3D window.
There seem to be two causes:
1. sometiesquemes the resize pulls a buffer out from under the PowerVR'...Various failures - page faults in the PowerVR driver and a failure to remap (12) on the OMAP side - occur when resizing a 3D window.
There seem to be two causes:
1. sometiesquemes the resize pulls a buffer out from under the PowerVR's feet
2. buffers being scanned out are not deleted on resize, eventually running out of tiler space
(2) is easy enough to fix by keeping track of these buffers and deleting them later on
(1) seems to be trickier, either we need a way to determine the buffer is no longer being used, or just alloc all buffers at maximum size (i.e. display size) and then the buffers don't need to be reallocated on resize.http://dev.pyra-handheld.com/packages/xserver-xorg-video-armsoc-omap5/-/issues/2SoftEXA and DRI is broken2020-06-25T07:58:21ZMichael Mrozekevildragon@openpandora.orgSoftEXA and DRI is brokenWhen SoftEXA is enabled, 3D DRI fails with only a small part of the rendered output visible and the remainder of the window containing glitching.When SoftEXA is enabled, 3D DRI fails with only a small part of the rendered output visible and the remainder of the window containing glitching.http://dev.pyra-handheld.com/packages/xserver-xorg-video-armsoc-omap5/-/issues/1etnaviv page faults, usually at startup2020-06-21T06:28:23ZMichael Mrozekevildragon@openpandora.orgetnaviv page faults, usually at startupUsually at startup, sometimes the following kernel log line is printed
```
etnaviv-gpu 59000000.bb2d: MMU fault status 0x00000002
```
and things hang for a couple of seconds while it recovers.
Initial tracing suggests that shortly befor...Usually at startup, sometimes the following kernel log line is printed
```
etnaviv-gpu 59000000.bb2d: MMU fault status 0x00000002
```
and things hang for a couple of seconds while it recovers.
Initial tracing suggests that shortly before, an EXA composite with negative source x-coord is sent by the X11 driver, which is almost certainly the cause. As this negative x-coord only seems to happen once at startup, the easiest solution is probably just to drop this composite. But maybe this needs to be handled as a special case, or suppressed higher up the chain.http://dev.pyra-handheld.com/packages/funkeymonkey-pyrainput/-/issues/1Fn makes other buttons hang2017-11-09T18:30:36ZMichael Mrozekevildragon@openpandora.orgFn makes other buttons hangHere's how to reproduce it
1. Hod any key on the Keyboard
2. Press Fn
3. Release the key
4. Release Fn
Result: The key will be stuck forever until it is pressed againHere's how to reproduce it
1. Hod any key on the Keyboard
2. Press Fn
3. Release the key
4. Release Fn
Result: The key will be stuck forever until it is pressed again