View Issue Details

IDProjectCategoryView StatusLast Update
0001920NoesisGUIC# SDKpublic2021-02-15 18:11
ReporterDavidYawCSpeed Assigned Tohcpizzi  
PrioritynormalSeverityminor 
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
Description

Method 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.

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
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