clamen@CLAMEN.AVALON.CS.CMU.EDU (Stewart Clamen) (04/26/89)
One of my users has rebound ^F, but wants the rightarrow key to still
map to 'forward-char. Problem is, the GNU Emacs/X interface
translates the arrow keys DIRECTLY into ^F/^B/^P/^N. Here's the code,
from internal_socket_read() in src/x11term.c .
-----
if (IsFunctionKey(keysym) ||
IsMiscFunctionKey(keysym)) {
strcpy(mapping_buf,"[");
strcat(mapping_buf,stringFuncVal(keysym));
#ifdef sun
strcat(mapping_buf,"z");
#else
strcat(mapping_buf,"~");
#endif /* sun */
nbytes = strlen(mapping_buf);
}
else {
switch (keysym) {
case XK_Left:
strcpy(mapping_buf,"\002");
nbytes = 1;
break;
case XK_Right:
strcpy(mapping_buf,"\006");
nbytes = 1;
break;
case XK_Up:
strcpy(mapping_buf,"\020");
nbytes = 1;
break;
case XK_Down:
strcpy(mapping_buf,"\016");
nbytes = 1;
break;
}
}
-----
A similar thing is done in the X10 support (src/xterm.c). I realize
that an easy fix would be to remove the test and map all non-standard
keys to the funny escape sequences. Any opinions on whether this is a
good thing to do?
--
------------------------------------------------------------------------------
Stewart M. Clamen
School of Computer Science, Carnegie Mellon University
Pittsburgh, PA 15213-3890
INTERNET: clamen@CS.CMU.EDU
USENET: ...!uunet!"clamen@cs.cmu.edu"
-- piet@cs.ruu.nl (Piet van Oostrum) (04/27/89)
In article <CLAMEN.89Apr25184123@CLAMEN.AVALON.CS.CMU.EDU>, clamen@CLAMEN (Stewart Clamen) writes:
`
`One of my users has rebound ^F, but wants the rightarrow key to still
`map to 'forward-char. Problem is, the GNU Emacs/X interface
`translates the arrow keys DIRECTLY into ^F/^B/^P/^N. Here's the code,
`from internal_socket_read() in src/x11term.c .
`
`-----
` if (IsFunctionKey(keysym) ||
` IsMiscFunctionKey(keysym)) {
` strcpy(mapping_buf,"[");
` strcat(mapping_buf,stringFuncVal(keysym));
`#ifdef sun
` strcat(mapping_buf,"z");
`#else
` strcat(mapping_buf,"~");
`#endif /* sun */
Another problem that I have with this code is that it binds the function
keys to "^[[..." which is difficult to use as "^[[" is not a prefix.
Also some other keys cannot be used, they are simply thrown away.
--
Piet van Oostrum, Dept of Computer Science, University of Utrecht
Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands
Telephone: +31-30-531806. piet@cs.ruu.nl (mcvax!hp4nl!ruuinf!piet)