NetBSD Problem Report #10326
Received: (qmail 14636 invoked from network); 8 Jun 2000 16:26:00 -0000
Message-Id: <200006081625.RAA10347@fs7.liv.ac.uk>
Date: Thu, 8 Jun 2000 17:25:57 +0100 (BST)
From: R.S.Brooks@liverpool.ac.uk
Reply-To: R.S.Brooks@liverpool.ac.uk
To: gnats-bugs@gnats.netbsd.org
Subject: Can't map shifted cursor keys in wscons
X-Send-Pr-Version: 3.95
>Number: 10326
>Category: kern
>Synopsis: Can't map shifted cursor keys in wscons
>Confidential: no
>Severity: non-critical
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Thu Jun 08 16:27:00 +0000 2000
>Closed-Date:
>Last-Modified: Sat Jun 10 13:16:00 +0000 2000
>Originator: Roger Brooks
>Release: NetBSD-current
>Organization:
The University of Liverpool
>Environment:
<machine, os, target, libraries (multiple lines)>
System: NetBSD tallis 1.4 NetBSD 1.4 (TALLIS) #10: Sat Mar 4 23:52:12 GMT 2000 root@tallis:/usr2/src/sys/arch/i386/compile/TALLIS i386
>Description:
The wsemul->translate() function of a wscons emulation cannot see the current
modifiers (Shift/Ctrl/Alt etc).
>How-To-Repeat:
Try to write a new emulation for HP 700/44 HP-pcterm, which sends
different escape sequences on
CurL
Shift+CurL
Ctrl+CurL
Shift+Ctrl+CurL
and so on for all cursor and function keys. Find that no information
about the current shift state appears to be avilable where you need it.
>Fix:
I'd like to add an additional parameter to wsemul->translate() containing
the shift bits. I'm prepared to do this myself, but could whoever "owns"
the code contact me as I'd like to discuss a couple of issues?
>Release-Note:
>Audit-Trail:
From: Matthias Drochner <M.Drochner@fz-juelich.de>
To: R.S.Brooks@liverpool.ac.uk
Cc: gnats-bugs@gnats.netbsd.org
Subject: Re: kern/10326: Can't map shifted cursor keys in wscons
Date: Sat, 10 Jun 2000 15:14:57 +0200
R.S.Brooks@liverpool.ac.uk said:
> could whoever "owns" the code contact me as I'd like to discuss a
> couple of issues?
I wouldn't call it "own", but at least the part where the
keysyms are passed to the terminal emulation code was done
by me. The keyboard mapping code was done by Juergen Hannken-
Illes (hannken@netbsd.org).
To get what you want, you could easily pass the modifier states
to the terminal emulation's "translate" function, as you said.
It is not a really nice solution as it violates the abstraction
between the keyboard layer which produces "keysyms" where the
modifier state is already contained and the emulation where
character sequences are made of the "keysyms". We have to
worry about table sizes and speed however, so it could turn
out that some abstraction violation is still the best way
because a clean implementation causes to much bloat.
It would be cleaner to have columns for the Ctrl-modified
keys in the mapping tables, but if done simply orthogonally,
this would double the table space.
There is another feature of pcvt which people would like
to have in wscons: The ability to switch screens by a
single keypress (F9..F12 or so). As the mapping code looks
now, this is not possible - the "command" property is
completely separate and the need to press one or two
command modifiers is hardwired.
Perhaps you have some ideas how to get the overall swinging
and dancing mapping code?
best regards
Matthias
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.