unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Keyboard Access For gdb-ui.el (from emacs 21.3.50 CVS)
       [not found] <16171.9294.617646.195373@gargle.gargle.HOWL>
@ 2003-08-02 11:22 ` Nick Roberts
       [not found]   ` <16171.54169.662825.486971@gargle.gargle.HOWL>
  0 siblings, 1 reply; 7+ messages in thread
From: Nick Roberts @ 2003-08-02 11:22 UTC (permalink / raw)
  Cc: emacs-devel


Hello Raman,

I've cc'ed this to emacs-devel as its a wider (and more pertinent) group
than emacs-pretesters, I think. I hope thats OK.

T. V. Raman writes:

 > Hi --
 > 
 > I've been using the CVS version of Emacs 21.3.50 and have been using
 > gdb-ui.el successfully with emacspeak for the most part.
 > 
 > However some of the more advanced functionality provided by gdb-ui.el
 > --specifically the ability to display array slices --is completely
 > mouse dependent -could it be possible to make these available from the
 > keyboard as well?

The current version of gdb-ui.el (CVS version 1.39) has two commands for
selecting an array slice bound as follows:

(define-key map [mouse-2] 'gdb-mouse-array-slice)
(define-key map "\r" 'gdb-array-slice)

Does the second binding do what you want?

 > Incidentally this is a disturbing trend in many of the new emacs 21.4
 > packages ---ses is another good example of a package that has a lot of
 > functionality that is avilable only to the mouse-enabled.

In general I have tried to make the mode work on graphical displays and
text-only terminals and I think most other developers do the same. 

Robert Chassell has given me advice for emacspeak in the context of
documentation. To be honest though, I don't understand how gdb-ui.el can work
with emacspeak. For example, breakpoint locations are shown by an icon or
character in the display margin. How does this work with emacspeak?

In general, if you explain exactly how a feature should work, then I will be
happy to try to implement it.

Nick


 > Would be nice to maintain Emacs' tradition of being fully usable
 > without a mouse --with the mouse providing an alternative means to do
 > things --rather than an exclusive means to perform certain actions.
 >  Thanks, 
 >  --Raman
 > 
 > -- 
 > Best Regards,
 > --raman
 > 
 >       
 > WWW:    http://emacspeak.sf.net/raman/
 > AIM:    TVRaman
 > PGP:    http://emacspeak.sf.net/raman/raman-almaden.asc
 > IRC:    irc://irc.gnu.org/emacspeak

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Keyboard Access For gdb-ui.el (from emacs 21.3.50 CVS)
       [not found]   ` <16171.54169.662825.486971@gargle.gargle.HOWL>
@ 2003-08-03  8:43     ` Nick Roberts
  2003-08-05 19:38       ` Fwd: Keyboard Access (T.V.Raman 1) Nick Roberts
  2003-08-05 19:42       ` Fwd: Keyboard Access (T.V.Raman 2) Nick Roberts
  0 siblings, 2 replies; 7+ messages in thread
From: Nick Roberts @ 2003-08-03  8:43 UTC (permalink / raw)
  Cc: emacs-devel


 > Nick --specifically with respect to gdb-array-slice
 > I tried that command already using M-x before the key binding showed
 > up --found the function by walking through the code as I was
 > understanding it --and here is the problem that I hit-- which
 > motivated my original message:
 > 
 > Write a line of code like this:
 > 
 > int a[10];
 > 
 > Place point on that line and invoke gdb-display --
 > this ends up creating a *display-1* with a[10] (itself a problem (but
 > a different one obvisouly)-- would be nice if that function directly
 > prompted for slice.

The parsing is done by gud-find-c-expr. It is arguable whether it should parse
it as a or a[10]. This function is also used by gud-print and presumably the
user might just want to examine a single element, sometimes.

 > After doing the above I invoked M-x gdb-array-slice --both from the source
 > buffer --and from the *display-1* buffer -- and in case it bombed with an
 > array index error -- for some reason the "string-match "[") call was
 > failing --and as a result the index into the various elisp arrays used by
 > gdb-array-slice --namely gdb-array-start and friends --was getting set to
 > -1.

This failed because the cursor was in the wrong place. gdb-array-slice is bound
in a local-map (set as a text property). The cursor needs to be inside an index
range displayed at the top of the window. This probably isn't very tidy but remember
that the array might be multi-dimensional, so Emacs needs to know on which index you
want to restrict the range. (There is some description of all this in the Emacs
manual (CVS version, of course) in Building -> Debuggers -> GDB Graphical Interface)

Don't spend too much time on this part of gdb-ui.el (display of
variables). Some of it is a bit buggy e.g display of complex structures. More
importantly, though, this part will have to change because the part of GDB
that gdb-ui.el uses (annotations) will lose support for the GDB display
command. This is because the GDB developers are moving to a new interface
called GDB/MI. I plan to re-write this part so that variables are displayed in
a manner similar to the Insight debugger. This should look a bit like the
speedbar.

It looks like there's a backlog at emacs-devel, at the moment, and e-mails
aren't getting out quickly. I won't address your question about gud-key-prefix
as there are others on the list who know more about keybindings than me and
who should be able to give you a better answer.

Nick

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Fwd: Keyboard Access (T.V.Raman 1)
  2003-08-03  8:43     ` Nick Roberts
@ 2003-08-05 19:38       ` Nick Roberts
  2003-08-06 20:28         ` Keyboard Access For gdb-ui.el (from emacs 21.3.50 CVS) Kevin Rodgers
  2003-08-07  6:04         ` Fwd: Keyboard Access (T.V.Raman 1) Richard Stallman
  2003-08-05 19:42       ` Fwd: Keyboard Access (T.V.Raman 2) Nick Roberts
  1 sibling, 2 replies; 7+ messages in thread
From: Nick Roberts @ 2003-08-05 19:38 UTC (permalink / raw)



I am forwarding two e-mails that T V Raman sent as part of a
thread but which never seemed to make it to emacs-devel. As
well as specific questions about gdb-ui.el, he has general
things to ask and say about keyboard access (in the context 
of emacspeak).

Nick

------- Start of forwarded message -------
From: "T. V. Raman" <raman@cs.cornell.edu>
To: Nick Roberts <nick@nick.uklinux.net>
Cc: raman@cs.cornell.edu, emacs-devel@gnu.org
Subject: Keyboard Access For gdb-ui.el (from emacs 21.3.50 CVS)
Date: Sun, 3 Aug 2003 05:32:33 -0700


Thanks --I'll wait on the display aspects of GDB.
The reason I started walking the surces was because the documentation
in the info file was pretty exclusively about mouse clicks when it
came to the array slice bits.

Incidentally given that mouse events are nothing more than list
structures, would it be possible to create a
keyboard-generate-mouse-event function?

Would be a nice means to exploit some of the newer features of emacs
 ---as an example, balloon help in itself may not be 
directly useful to the emacspeak user --- you really dont want emacs
intrrupting what you're listening to and tell you things --makes it
too much like the dreaded office-clip from idiot-proven interfaces. On
the other hand it would be nice to ask for a tooltip.

So I might move through a source file --- and push a key to hear the
value of an identifier spoken to me.

Thoughts?

-- 
Best Regards,
--raman

      
Email:  raman@cs.cornell.edu
WWW:    http://emacspeak.sf.net/raman/
AIM:    TVRaman
PGP:    http://emacspeak.sf.net/raman/raman-almaden.asc
IRC:    irc://irc.gnu.org/emacspeak

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Fwd: Keyboard Access (T.V.Raman 2)
  2003-08-03  8:43     ` Nick Roberts
  2003-08-05 19:38       ` Fwd: Keyboard Access (T.V.Raman 1) Nick Roberts
@ 2003-08-05 19:42       ` Nick Roberts
  1 sibling, 0 replies; 7+ messages in thread
From: Nick Roberts @ 2003-08-05 19:42 UTC (permalink / raw)




------- Start of forwarded message -------
From: "T. V. Raman" <raman@cs.cornell.edu>
To: Nick Roberts <nick@nick.uklinux.net>
Cc: raman@cs.cornell.edu, emacs-devel@gnu.org
Subject: keyboard suggestions for gdb/gud was:Keyboard Access For gdb-ui.el (from emacs 21.3.50 CVS)
Date: Sat, 2 Aug 2003 08:45:16 -0700


Would it be possible to create a gud-prefix-command --and bind all the
gud/gdb keys in a keymap --and finally bind that prefix-command to C-x
C-a -- this would make it much easier to put gdb/gdb-ui on other
prefix keys.

In my case I have the formerly useless windows keys produce hyper and
super --both under X and on the console--
and I'd like to put all of gud/gdb on hyper-d.

At present I can do this by customizing gud-key-prefix
--but if I do that I'll lose C-x C-a --which is not good because I
dont have the hyper/super keys on my laptop (it doesn't have useless
windows keys)

-- 
Best Regards,
--raman

      
Email:  raman@cs.cornell.edu
WWW:    http://emacspeak.sf.net/raman/
AIM:    TVRaman
PGP:    http://emacspeak.sf.net/raman/raman-almaden.asc
IRC:    irc://irc.gnu.org/emacspeak

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Keyboard Access For gdb-ui.el (from emacs 21.3.50 CVS)
  2003-08-05 19:38       ` Fwd: Keyboard Access (T.V.Raman 1) Nick Roberts
@ 2003-08-06 20:28         ` Kevin Rodgers
  2003-08-06 21:28           ` Robert J. Chassell
  2003-08-07  6:04         ` Fwd: Keyboard Access (T.V.Raman 1) Richard Stallman
  1 sibling, 1 reply; 7+ messages in thread
From: Kevin Rodgers @ 2003-08-06 20:28 UTC (permalink / raw)
  Cc: T. V. Raman

Nick Roberts forwarded this from T. V. Raman:

> Incidentally given that mouse events are nothing more than list
> structures, would it be possible to create a
> keyboard-generate-mouse-event function?
> 
> Would be a nice means to exploit some of the newer features of emacs
>  ---as an example, balloon help in itself may not be 
> directly useful to the emacspeak user --- you really dont want emacs
> intrrupting what you're listening to and tell you things --makes it
> too much like the dreaded office-clip from idiot-proven interfaces. On
> the other hand it would be nice to ask for a tooltip.
> 
> So I might move through a source file --- and push a key to hear the
> value of an identifier spoken to me.

Do you use the mouse to move through the source file?  If so, you could
bind this hacked up `tooltip-keyboard' command to a keyboard event in the
global keymap:


(defun tooltip-keyboard ()
   "Command handler for keyboard events in `global-map'."
   (interactive)
   ;; See tooltip-mouse-motion:
   (tooltip-hide)
   (let ((event `(mouse-movement
                  (,(selected-window) ,(point) (nil . nil) ,(tooltip-time)))))
     (setq tooltip-last-mouse-motion-event event)
     (tooltip-start-delayed-tip)))

(defsubst tooltip-time ()
   "The current time in milliseconds, for use as a mouse event TIMESTAMP."
   ;; This should be done as an integer calculation that wraps around:
   (let ((time (current-time)))
     (+ (* 1000
           ;; seconds since the Epoch:
           (+ (* 1.0 (expt 2 16) (car time))
              (cadr time)))
        (/ 1000.0
           ;; additional microseconds:
           (car (cddr time))))))

If you don't use the mouse at all, it gets tricky because we have to generate
pixel coordinates for the fake mouse event from point in the selected window,
which I can't figure out how to do...

-- 
Kevin Rodgers

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Keyboard Access For gdb-ui.el (from emacs 21.3.50 CVS)
  2003-08-06 20:28         ` Keyboard Access For gdb-ui.el (from emacs 21.3.50 CVS) Kevin Rodgers
@ 2003-08-06 21:28           ` Robert J. Chassell
  0 siblings, 0 replies; 7+ messages in thread
From: Robert J. Chassell @ 2003-08-06 21:28 UTC (permalink / raw)
  Cc: raman, emacs-devel

   If you don't use the mouse at all, it gets tricky because we have
   to generate pixel coordinates for the fake mouse event from point
   in the selected window, which I can't figure out how to do...

Many of the blind are totally blind.  They cannot see anything and
cannot use a mouse.  So it will be necessary to generate pixel
coordinates.  I don't know what to do, either.

-- 
    Robert J. Chassell                         Rattlesnake Enterprises
    http://www.rattlesnake.com                  GnuPG Key ID: 004B4AC8
    http://www.teak.cc                             bob@rattlesnake.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Fwd: Keyboard Access (T.V.Raman 1)
  2003-08-05 19:38       ` Fwd: Keyboard Access (T.V.Raman 1) Nick Roberts
  2003-08-06 20:28         ` Keyboard Access For gdb-ui.el (from emacs 21.3.50 CVS) Kevin Rodgers
@ 2003-08-07  6:04         ` Richard Stallman
  1 sibling, 0 replies; 7+ messages in thread
From: Richard Stallman @ 2003-08-07  6:04 UTC (permalink / raw)
  Cc: Nick Roberts, emacs-devel

    Incidentally given that mouse events are nothing more than list
    structures, would it be possible to create a
    keyboard-generate-mouse-event function?

I am not sure what that means.  If you want to generate mouse events
from Lisp code, that should be easy--just put them into
unread-command-events.

    Would be a nice means to exploit some of the newer features of emacs
     ---as an example, balloon help in itself may not be 
    directly useful to the emacspeak user --- you really dont want emacs
    intrrupting what you're listening to and tell you things --makes it
    too much like the dreaded office-clip from idiot-proven interfaces. On
    the other hand it would be nice to ask for a tooltip.

Would calling tooltip-show do the job?

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-08-07  6:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <16171.9294.617646.195373@gargle.gargle.HOWL>
2003-08-02 11:22 ` Keyboard Access For gdb-ui.el (from emacs 21.3.50 CVS) Nick Roberts
     [not found]   ` <16171.54169.662825.486971@gargle.gargle.HOWL>
2003-08-03  8:43     ` Nick Roberts
2003-08-05 19:38       ` Fwd: Keyboard Access (T.V.Raman 1) Nick Roberts
2003-08-06 20:28         ` Keyboard Access For gdb-ui.el (from emacs 21.3.50 CVS) Kevin Rodgers
2003-08-06 21:28           ` Robert J. Chassell
2003-08-07  6:04         ` Fwd: Keyboard Access (T.V.Raman 1) Richard Stallman
2003-08-05 19:42       ` Fwd: Keyboard Access (T.V.Raman 2) Nick Roberts

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).