Thank you. So the editor's handling of characters seems not to be visible in Factor.
Am Mon, 02 Jul 2018 13:31:36 -0400 schrieb cat via Factor-talk <factor-talk@lists.sourceforge.net>: > Hi Georg, > > I'm not terribly familiar with ui.gadgets, but I can at least help > you figure out what's going on here. > > The word `handle-gesture` is generic > (http://docs.factorcode.org/content/word-handle-gesture,ui.gestures.html), > so it does different things depending on its argument classes. > > You can tell whether an `editor` object will handle a given gesture > with `handles-gesture?` > (http://docs.factorcode.org/content/word-handles-gesture__que__,ui.gestures.html) > > `T{ key-down { sym "HOME" } } <editor> handles-gesture?` is `t` > because `editor` handles `HOME`, but the same code with `T{ key-down > { sym "a" } }` is `f`. > > `editor` is a subclass of `line-gadget`, but `handle-gesture` defines > a method on neither of these classes (see the above linked > documentation). > > This can be proven by writing `M\ line-gadget handle-gesture` and `M\ > editor handle-gesture` both of which throw a `method-lookup-failed` > error. > > `handle-gesture` defines `M\ object handle-gesture` though, and that > method definition is `[ nip ] [ get-gesture-handler ] 2bi dup > [ ( gadget -- ) call-effect f ] [ 2drop t ] if`. > > The important part of that is `get-gesture-handler`, the same word > used by `handles-gesture?`. > > `get-gesture-handler` looks at the `gestures` word property > (http://docs.factorcode.org/content/word-word-prop,words.html) of the > superclasses of the input `gadget` object. In the same way you can > see what keys have gestures defined with `editor "gestures" > word-prop .`, which is a long table like > > `H{ { cut-action [ \ com-cut invoke-command ] } { redo-action [ \ > com-redo invoke-command ] } { T{ key-down f f "BACKSPACE" } [ \ > delete-previous-character invoke-command ] } ...` > > It contains exclusively line-editing commands like`C+l` for select > line but no input keys like `1`. > > Some keys are defined by default, others are not -- I don't know why, > but another person will probably reply to tell you why. > > Hopefully it is somewhat enlightening! > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > On July 2, 2018 8:00 AM, Georg Simon georg.si...@auge.de wrote: > > > T{ key-down { sym "HOME" } } <editor> handle-gesture . > > > > prints f as the gesture was handled. But > > ---------------------------------------- > > > > T{ key-down { sym "a" } } <editor> handle-gesture . > > > > T{ key-down { sym "a" } } > > > > <editor> [ handle-gesture ] keep editor-string . . > > > > T{ key-down { sym "a" } } > > > > "old" <editor> [ set-editor-string ] keep > > > > [ handle-gesture ] keep editor-string . . > > ----------------------------------------- > > > > print t, "" and t, and "old" and t . Gesture was not handled. > > > > Is there a way to send an arbitrary character to an editor ? > > > > Check out the vibrant tech community on one of the world's most > > > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > > > Factor-talk mailing list > > > > Factor-talk@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/factor-talk > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Factor-talk mailing list > Factor-talk@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/factor-talk ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Factor-talk mailing list Factor-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/factor-talk