On Sun, 6 Oct 2013 21:21:00 -0500 "Edward K. Ream" <[email protected]> wrote:
> > On Sun, Oct 6, 2013 at 2:07 PM, Terry Brown <[email protected]> wrote: > > To make euro signs with ctrl-alt-e I had to set the keyboard layout to > > DE (German), I assume you've done something similar, and comment out > > (add #): > > > > # set-find-anywhere = Alt-Ctrl-e > > > > in leoSettings.leo#@settings-->Keyboard shortcuts-->@keys EKR > > bindings-->@shortcuts Find commands > > > > But rather than commenting it out in the system's settings file, it > > would be better to unset it in the myLeoSettings.leo > > > > Edward - is there a way to do that, to remove a shortcut assigned in > > leoSettings.leo from myLeoSettings.leo? > > > > Haha. Two big sighs in one evening. There is a *lot* of code involved in > this question. > > The answer to your question is kinda yes and no. You can't completely > remove a shortcut, but you can assign it to another command. Would it be easiest to just make it possible to completely remove a binding, as in None = Alt-Ctrl-E and avoid all the other problems? Cheers -Terry > I think that doing the following is *supposed* to work: > > self-insert-command = Alt-Ctrl-E > > but it doesn't for two reasons: > > 1. (Easy) At present, there is no official name for the > self-insert-command command. The command name is commented out in the > command-name table with the explanation: > > # Exists, but can not be executed via the minibuffer. > > It's easy enough to re-enable the command, and I will do so. But alas... > > 2. (Probably not too hard) The selfInsertCommand method doesn't work for > Alt-Ctrl characters. > > The event argument to selfInsertCommand is a leoKeyEvent, *not* a Qt event. > At present the leoKeyEvent does not contain the actual QKeyEvent. But it > *should* be possible to insert the proper character into the body pane > given the original key event ;-) > > Two tricky settings come into play: > > @bool enable_alt_ctrl_bindings = True > @bool ignore_unbound_non_ascii_keys > > Hah. I don't think the second setting even exists in leoSettings.leo. But > the default value for a non-existent setting, False, is good enough. > > The first setting is set to True by default. But if it is False *all* > Alt-Ctrl keys will be passed (via a *long* path) to selfInsertChar. Given > the original QKeyEvent, selfInsertChar will be able to insert the proper > key in the body pane ;-) > > Conclusions > > These problems should be fixed for 4.11b1 as follows: > > A. Pass the original QKeyEvent in every leoKeyEvent. > > B. self-insert-command must be a real command, even though it will never do > anything if executed from the minibuffer. > > This will allow Victor to create bindings like:: > > self-insert-char = Alt-Ctrl-E > > and similarly for all the Alt Gr keys he uses. This should be simpler than > setting @bool enable_alt_ctrl_bindings = False, which would disable useful > key bindings. > > Edward > > P.S. I have spent several hours on this reply. The first draft discussed > the bowels of Leo's key-handling code. The less said about that the better! > > EKR > -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/groups/opt_out.
