*BSD News Article 53151


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.uwa.edu.au!classic.iinet.com.au!swing.iinet.net.au!news.uoregon.edu!news.emf.net!overload.lbl.gov!lll-winken.llnl.gov!uwm.edu!chi-news.cic.net!newsfeed.internetmci.com!news.sprintlink.net!EU.net!Austria.EU.net!newsfeed.ACO.net!swidir.switch.ch!scsing.switch.ch!news.belwue.de!News.Uni-Marburg.DE!news.th-darmstadt.de!fauern!lrz-muenchen.de!uni-regensburg.de!faui0n.informatik.uni-erlangen.de!uni-erlangen.de!news.tu-chemnitz.de!irz
401!uriah.heep!not-for-mail
From: j@uriah.heep.sax.de (J Wunsch)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: Alt-keys on text mode applications
Date: 15 Oct 1995 11:12:36 +0100
Organization: Private FreeBSD site, Dresden.
Lines: 43
Message-ID: <45qmqk$imm@uriah.heep.sax.de>
References: <NEWTNews.813635692.20455.jalvarez@sundev.uno.com>
NNTP-Posting-Host: uriah.heep.sax.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit

 <jalvarez@uno.com> wrote:
>
>The linux console returns an escape sequence when pressing Alt plus a
>regular key (e.g. Alt-a produces <ESC>a, Alt-b produces <ESC>b, etc. in
>raw mode). The FreeBSD console driver does not appear to return anything
>special when Alt is pressed.

The FreeBSD console drivers are supposed to do it this way.  pcvt
defaults to the traditional "Meta" key where "Meta" means to add bit 7
to the regular key code, you can force it to change its idea to a
prepended ESC instead by ``options PCVT_META_ESC''.  (Things like
Emacs or emacs-style line editors usually handle both cases similarly
for the non-internationalized case.)

syscons is also supposed to prepend an ESC:

void
scintr(int unit)
{
    static struct tty *cur_tty;
    int c, len;
    u_char *cp;

...
    c = scgetc(1);
...
    switch (c & 0xff00) {
...
    case MKEY:  /* meta is active, prepend ESC */
        (*linesw[cur_tty->t_line].l_rint)(0x1b, cur_tty);
        (*linesw[cur_tty->t_line].l_rint)(c & 0xFF, cur_tty);
        break;
...
    }
}

So i assume you're using the wrong keymap.  (Don't ask me, i'm not
a syscons user.)
-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)