mirror of
https://github.com/airstruck/luigi.git
synced 2025-11-18 12:25:06 +00:00
fix origin widget for PressEnd events generated by keyboard shortcuts
This commit is contained in:
@@ -170,7 +170,7 @@ end
|
||||
|
||||
function Input:handlePressEnd (layout, button, x, y, widget, shortcut)
|
||||
local hit, widget = checkHit(widget or layout:getWidgetAt(x, y), layout)
|
||||
local originWidget = self.pressedWidgets[button]
|
||||
local originWidget = widget or self.pressedWidgets[button]
|
||||
if not originWidget then return end
|
||||
if hit then
|
||||
originWidget.pressed[button] = nil
|
||||
|
||||
@@ -313,14 +313,13 @@ function Layout:addDefaultHandlers ()
|
||||
end)
|
||||
|
||||
self:onKeyPress(function (event)
|
||||
|
||||
-- keyboard shortcuts
|
||||
local entry = self.shortcuts[event.modifierFlags]
|
||||
local acceleratedWidget = entry and entry[event.key]
|
||||
if acceleratedWidget then
|
||||
acceleratedWidget.hovered = true
|
||||
local widget = entry and entry[event.key]
|
||||
if widget then
|
||||
widget.hovered = true
|
||||
self.input:handlePressStart(self, 'left', event.x, event.y,
|
||||
acceleratedWidget, event.key)
|
||||
widget, widget.shortcut)
|
||||
return false
|
||||
end
|
||||
|
||||
@@ -345,15 +344,13 @@ function Layout:addDefaultHandlers ()
|
||||
end)
|
||||
|
||||
self:onKeyRelease(function (event)
|
||||
|
||||
-- shortcuts
|
||||
local entry = self.shortcuts[event.modifierFlags]
|
||||
local acceleratedWidget = entry and entry[event.key]
|
||||
|
||||
if acceleratedWidget then
|
||||
acceleratedWidget.hovered = false
|
||||
local widget = entry and entry[event.key]
|
||||
if widget then
|
||||
widget.hovered = false
|
||||
self.input:handlePressEnd(self, 'left', event.x, event.y,
|
||||
acceleratedWidget, event.key)
|
||||
widget, widget.shortcut)
|
||||
return false
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user