diff --git a/basis/ui/gestures/gestures.factor b/basis/ui/gestures/gestures.factor index 4e4fc1d035..6ebe77623b 100644 --- a/basis/ui/gestures/gestures.factor +++ b/basis/ui/gestures/gestures.factor @@ -87,18 +87,20 @@ zoom-in-action zoom-out-action ; ! Modifiers SYMBOLS: C+ A+ M+ S+ ; -TUPLE: key-down mods sym ; +TUPLE: key-gesture mods sym ; -: ( mods sym action? class -- mods' sym' ) +TUPLE: key-down < key-gesture ; + +: new-key-gesture ( mods sym action? class -- mods' sym' ) [ [ [ S+ swap remove f like ] dip ] unless ] dip boa ; inline : ( mods sym action? -- key-down ) - key-down ; + key-down new-key-gesture ; -TUPLE: key-up mods sym ; +TUPLE: key-up < key-gesture ; : ( mods sym action? -- key-up ) - key-up ; + key-up new-key-gesture ; ! Hand state