Hello Edward, Am Montag, 7. Oktober 2013 04:21:00 UTC+2 schrieb Edward K. Ream: > > > On Sun, Oct 6, 2013 at 2:07 PM, Terry Brown <[email protected]<javascript:> > > 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. > > 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. > > Please let me know when I should upgrade to a new revision of Leo to try your suggested approach!
With kind regards, Viktor -- 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.
