[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: New user - Annoyances
On Wed, 2008-02-27 at 14:14 -0800, Steven Taylor wrote:
> As a new gEDA used who has completed a couple schematics now, I have a few
> comments and questions. There are various inconsistencies in what the
> mouse buttons do between various functions. Some of these are annoying and
> could be modified to make it all easier to use. For example:
>
> When you are adding nets, the left button ends a net segment and you can
> continue the net with adding another segment with another left click, etc.
> However, when you are done and on the last segment, you have to left click
> it and then right click to stop adding to the net. It would be much
> simpler to just be able to right click on the last segment to complete the
> segment and stop the net.
I'm not sure I prefer that, as to me, as often I'll end up mousing away
from the last net I wanted to place, and then want to cancel. (Left
click to place and escape to cancel is my common way of working.).
> When you are adding lines, at the end of the first line segment, you left
> click as you do when adding nets, but that ends the line and you have to
> left click again to start a new segment. To be consistent, a left click
> should end the line segment, but moving the mouse should continue adding a
> new line segment until you right click which should add the last segment
> and stop the add line function.
Granted, this is a pain. If you noticed, the "bus" routing is also
different. This is something we could perhaps try to clear up some time
before a 1.6.x release.
> When adding components, a left click instantiates the component and each
> subsequent left click adds an other until the last one where you have to
> left click and then right click to stop adding. Again it would be nice to
> right click on the last instance, leaving it in place, and have that stop
> the add components function.
>
> I had a similar problem with the copy command stopping after just one
> copy. Now I have just found the multiple copy command which operates as I
> would have expected the copy command to work. The only thing I would
> change is to have it make the last copy and stop copying with a right
> click. I don't see any reason for having two copy commands at all.
Since we're also aiming at entry level, compatibility with how other
applications work is important. Most copy-paste operations in programs
paste once, although I don't see why we couldn't support the way you
wanted.
> Now, my question is, is there the capability for a user to change this
> basic functionality through the key-mapping or config files? I have looked
> through the files and have not been able to find what I am looking for. Of
> course, I may not recognize it if I found it anyway.
The keybindings (and other gschem settings) are defined in the
system-gschemrc file. This can be found
in /usr/share/gEDA/system-gschemrc (or on Debian / Ubuntu
systems, /etc/gEDA/system-gschemrc.
Search for "edit-keymap" and you'll be in the right place.
> Or, are these operational functions things that would require
> modification the the program source files? If so, which files
> would I need to look into and where can I find info on recompiling
> the system?
With regards the right-click to end behaviour, this is something you'll
have to edit in the source-code. Beware that there are some
configuration options which can set the right button to be a pop-up
menu, rather than being a place / cancel action.
If you're working on a Debian / Ubuntu box, I'd suggest grabbing the
Debian package source, adding your modifications and rebuilding. This
allows your package management to work properly.
How did you install gEDA? (What distribution, and what gEDA version do
you have?)
With that information we'll be able to help more about how to rebuild
the distribution package with modifications, or install directly from
source.
The place you want to look (IIRC) is gschem/src/x_event.c
You can browse it on-line in our source-code repository:
http://git.gpleda.org/?p=gaf.git;a=tree
http://git.gpleda.org/?p=gaf.git;a=blob;f=gschem/src/x_event.c
98 gint x_event_button_pressed(GtkWidget *widget, GdkEventButton *event,
97 GSCHEM_TOPLEVEL *w_current)
...
129 if (event->button == 1) {
130 switch(w_current->event_state) {
...
302 case(DRAWNET):
303 case(NETCONT):
304 /* Only continue the net if net end worked */
305 if (o_net_end(w_current, (int) event->x,
306 (int) event->y)) {
307 o_net_start(w_current,
308 (int) w_current->save_x,
309 (int) w_current->save_y);
310 w_current->event_state=NETCONT;
311 }
312 break;
...
426 } else if (event->button == 2) {
...
513 } else if (event->button == 3) {
514 if (!w_current->inside_action) {
515 if (w_current->third_button == POPUP_ENABLED) {
516 i_update_menus(w_current); /* update menus before popup */
517 do_popup(w_current, event);
518 } else {
519 w_current->event_state = MOUSEPAN; /* start */
520 w_current->inside_action = 1;
521 w_current->doing_pan = TRUE;
522 start_pan_x = (int) event->x;
523 start_pan_y = (int) event->y;
524 throttle=0;
525 }
526 } else { /* this is the default cancel */
527 switch (w_current->event_state) {
528 case(STARTDRAWNET):
529 case(DRAWNET):
530 case(NETCONT):
531 w_current->inside_action = 0;
532 i_set_state(w_current, STARTDRAWNET);
533 o_net_eraserubber(w_current);
534 break;
...
586 default:
587 i_callback_cancel(w_current, 0, NULL);
588 break;
589 }
590 i_update_toolbar(w_current);
591 }
592 }
593 return(0);
594 }
> I am retired now but I have used several schematic capture systems over my
> career and I have not really liked most of them. I actually prefer gEDA in
> many ways over any of them. I just would like to make it even better.
Good to hear. I prefer PCB over any of the commercial efforts I've used,
and gschem beats most of the schematic capture tools I've come across
(especially OrCad, although granted, you don't have to try that hard to
do better OrCad capture!).
--
Peter Clifton
Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA
Tel: +44 (0)7729 980173 - (No signal in the lab!)
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user