mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-27 19:27:21 -06:00
Fix #86: modifiers sent with ui.key, ui.click and ui.drag reach every handler
The control channel attached its modifiers only to the synthetic key and button events, while most handlers read egui's held modifiers (i.modifiers), which only the keyboard set. The raw input hook now sets egui's modifiers (a ModifiersChanged event) for the frames synthetic input spans: a key's press, text and release, a click, and a drag from press through its moves to release; the keyboard's modifiers, tracked from the host's events, come back after. ui.key's text now comes with the press. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
638edec175
commit
72be324732
@@ -416,3 +416,9 @@ from)}` opens too: dialog `printPreset`, the Print dialog's settings fields plus
|
||||
`print.presets.save` and returns to Print Presets (a new preset can't take a name in use). Delete, Import… and
|
||||
Export… are `print.presets.delete`, `print.presets.import` and `print.presets.export`; `ui.dialog.confirm` closes.
|
||||
Opening a `.vcprintpresets` file with `app.open` imports its presets.
|
||||
|
||||
Modifiers on synthetic input: `ui.key`, `ui.click` and `ui.drag` take `shift`, `alt`, `ctrl` and `cmd` (Command on
|
||||
macOS, Ctrl elsewhere), and the app holds them for the frames the input spans, as if the keys were down: a key's
|
||||
press, its `text` and its release; a click's press and release; a drag from the press through every move to the
|
||||
release. Every handler sees them (Shift+arrow nudges by the big increment, Alt+arrow nudges a copy, Shift-clicking a
|
||||
Layers selection square adds to the selection); the keyboard's own modifiers apply again afterwards.
|
||||
|
||||
Reference in New Issue
Block a user