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 12:17:53 +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: [geda-user] off-topic: key bindings Message-ID: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Reply-To: geda-user AT delorie DOT com Hi all, it's kind of off-topic, as it won't affect any geda tool or pcb or pcb-rnd, but I was wondering... We had debates on this list about key bindings in gschem vs. key bindings in pcb. I generally prefer how gschem does this, I find those key combinations easier to remembee. However, I also admit there are (ugly, but) de facto standard key combinations users want to see in apps, like ctrl+z for undo. I was thinking about how to resolve this conflict between modifiers and multi key stroke combinations in an app I am going to write later. 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. Any thoughts/feedback are welcome. Regards, Igor2