help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to translate M-kp-multiply to M-* before key is mapped to functi


From: paul
Subject: Re: How to translate M-kp-multiply to M-* before key is mapped to function?
Date: 4 Jul 2004 14:51:25 -0700

My problem is, is that kp-multiply is bound to * somewhere down the
line,
but C-kp-multiply, M-kp-multiply and C-M-kp-multiply are not.
I would like C-kp-multiply to act like C-*, M-multiply to act like
M-*,
and C-M-kp-multiply to act like C-M-* (without having to rely on
information
to what functions C-*, M-* and C-M-* are bound).

How to tell keyboard-translate to do just this?

I tried any sequence of char, strings, ints etc. to get
keyboard-translate to do what I want, but the closest I get are errors
which show that my literals are wrong or are interpreted as 'C-k'
(with 'p-multiply' as the trail of the literal) etc.


Kevin Rodgers <address@hidden> wrote in message news:<address@hidden>...
> paul wrote:
>  > I've nearly pulled out my hair for the following problem;
>  > I want to translate M-kp-multiply to M-* *BEFORE* the key
>  > gets bound to its default function (in my case pop-tag-mark).
> 
> You must be running emacs without a window system (or under a window
> system, but with the -nw command line option).  In an xterm on my
> platform (i386-pc-solaris2.7, X toolkit), `C-h k M-kp-multiply' shows
> 
> | ESC * runs the command pop-tag-mark
> 
> and then `C-h l' shows
> 
> | C-h k ESC * C-h l
> 
> The odd thing is that function-key-map contains this entry
> 
> (kp-multiply . [42])
> 
> but no escape sequence that maps to [kp-multiply] in the way that `ESC [
> 1 1 ~' is bound to [f1] or `ESC O p' is bound to [kp-1].
> 
>  > I do *not* want to use global-set-key but am looking for
>  > a general way to remap non-ascii input events.
> 
> What non-ASCII input event do you think your terminal is sending to
> Emacs?
> 
>  > Using (define-key function-key-map ...) or (define-key key-translation-map 
> ...)
>  > is too late; I can remap the key, but the function pop-tag-mark is not
>  > called.
> 
> Since setting function-key-map and key-translation-map do not change the
> results reported by `C-h k' and `C-h l', I don't think they have
> anything to do with it: I think it means that the xterm is actually
> sending `*' to Emacs, not an escape sequence.
> 
>  > Trying an approach with keyboard-translate drives me nuts because
>  > it does not seem to support non-ascii events.
> 
> What do you want to do?  It seems like you want to bind M-kp-multiply to
> a different command, but for some reason you don't want to use
> global-set-key like this:
> 
> (global-set-key "\M-*" 'whatever)
> 
> -- 
> Kevin Rodgers
> paul wrote:
>  > I've nearly pulled out my hair for the following problem;
>  > I want to translate M-kp-multiply to M-* *BEFORE* the key
>  > gets bound to its default function (in my case pop-tag-mark).
> 
> You must be running emacs without a window system (or under a window
> system, but with the -nw command line option).  In an xterm on my
> platform (i386-pc-solaris2.7, X toolkit), `C-h k M-kp-multiply' shows
> 
> | ESC * runs the command pop-tag-mark
> 
> and then `C-h l' shows
> 
> | C-h k ESC * C-h l
> 
> The odd thing is that function-key-map contains this entry
> 
> (kp-multiply . [42])
> 
> but no escape sequence that maps to [kp-multiply] in the way that `ESC [
> 1 1 ~' is bound to [f1] or `ESC O p' is bound to [kp-1].
> 
>  > I do *not* want to use global-set-key but am looking for
>  > a general way to remap non-ascii input events.
> 
> What non-ASCII input event do you think your terminal is sending to
> Emacs?
> 
>  > Using (define-key function-key-map ...) or (define-key key-translation-map 
> ...)
>  > is too late; I can remap the key, but the function pop-tag-mark is not
>  > called.
> 
> Since setting function-key-map and key-translation-map do not change the
> results reported by `C-h k' and `C-h l', I don't think they have
> anything to do with it: I think it means that the xterm is actually
> sending `*' to Emacs, not an escape sequence.
> 
>  > Trying an approach with keyboard-translate drives me nuts because
>  > it does not seem to support non-ascii events.
> 
> What do you want to do?  It seems like you want to bind M-kp-multiply to
> a different command, but for some reason you don't want to use
> global-set-key like this:
> 
> (global-set-key "\M-*" 'whatever)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]