View Issue Details

IDProjectCategoryView StatusLast Update
0001920NoesisGUIC# SDKpublic2021-02-15 18:11
ReporterDavidYawCSpeedAssigned Tohcpizzi 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.0.10 
Target Version3.0.11Fixed in Version3.0.11 
Summary0001920: Handle key repeats in LibEvdev for Gbm and FbDev displays
DescriptionMethod HandleKeyEvent handles events 1 and 0 (press and release, respectively). It needs to handle 2 (hold) as well.

https://github.com/Noesis/Managed/blob/master/Src/NoesisApp/Displays/Gbm/Src/LibEvdev.cs#L755
https://github.com/Noesis/Managed/blob/master/Src/NoesisApp/Displays/Fbdev/Src/LibEvdev.cs#L755

It should be something like this:
private static void HandleKeyEvent(InputEvent ev)
{
    // 0 = Key up/released
    // 1 = Key down/pressed
    // 2 = Key hold/repeating
    Key key = _keyMap[ev.code];
    if (key != Key.None)
    {
        if (ev.value == 0)
        {
            KeyUp?.Invoke(key);
        }
        else if (ev.value == 1 || ev.value == 2)
        {
            KeyDown?.Invoke(key);
        }
    }
}


Tested and verified that ev.value comes through as 2 when holding down a key on a USB Keyboard.
TagsNo tags attached.
PlatformLinux

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2021-02-10 22:24 DavidYawCSpeed New Issue
2021-02-10 22:30 DavidYawCSpeed Summary Handle key repeats in GbmDisplay/LibEvdev => Handle key repeats in LibEvdev for Gbm and FbDev displays
2021-02-10 22:30 DavidYawCSpeed Description Updated View Revisions
2021-02-11 10:05 sfernandez Assigned To => hcpizzi
2021-02-11 10:05 sfernandez Status new => assigned
2021-02-11 10:05 sfernandez Target Version => 3.0.11
2021-02-15 18:11 sfernandez Status assigned => resolved
2021-02-15 18:11 sfernandez Resolution open => fixed
2021-02-15 18:11 sfernandez Fixed in Version => 3.0.11