X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Sun, 13 Sep 2015 13:27:44 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: geda-user AT delorie DOT com X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: Re: [geda-user] off-topic: key bindings In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sun, 13 Sep 2015, Roland Lutz wrote: > On Sun, 13 Sep 2015, gedau AT igor2 DOT repo DOT hu wrote: >> I figured the expectated key combinations of the modifier-based map never >> start with an alnum character without a modifier. This makes the following >> simple policy feasible: >> >> 1. if the first key is with a modifier, it is a single-stroke hotkey (e.g. >> ctrl+z or ctrl+s) >> >> 2. if the first key is not alnum, it is a single-stroke hotkey (e.g. arrow >> keys, escape, F1, enter, etc.) >> >> 3. if the first key is alnum without a modifier, it's the first character of >> a multi-stroke command >> >> Rule 3 removes 36 keys from the single-stroke world but makes it possible to >> use best of both worlds without collision. > > Why do you need this distinction at all? Just define both "ctrl+z" and > "ctrl+x u" as hotkeys for undo. > I need a policy so that adding key bindings in a new app doesn't end up totally random. The multi-stroke hotkeys work best if they don't need too many modifiers; this suggests the first character should be plain. If there's no policy, single-stroke hotkeys will probably allocate them, not leaving room for the multi-stroke ones later. In PCB for example afaik there's only 1 alnum without modifier that's not already allocated. > You could also let the user select between a set of keyboard schemes > (multi-key/alnum, Windows-like, Emacs-like). That's a nice idea too. But I'd be definetly happier if they could just coexist.