View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001920 | NoesisGUI | C# SDK | public | 2021-02-10 22:24 | 2021-02-15 18:11 |
Reporter | DavidYawCSpeed | Assigned To | hcpizzi | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 3.0.10 | ||||
Target Version | 3.0.11 | Fixed in Version | 3.0.11 | ||
Summary | 0001920: 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. | ||||
Tags | No tags attached. | ||||
Platform | Linux | ||||
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 |