Pointer acceleration in X

2015-12-19 Thread Tati Chevron

When X is configured to enable use of the numeric keypad to simulate a mouse, 
using Pointer_EnableKeys in Xmodmap, the pointer acceleration doesn't work as 
expected.

Specifically, when a directional key is held down, the pointer accelerates up 
to a point, then stops, and begins accelerating again, and stops, repeatedly.

Presumably a counter somewhere is wrapping round to zero instead of reaching 
it's maximum value and stopping.

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: preparing multitouch support - request for tests

2015-12-16 Thread Tati Chevron

On Wed, Dec 16, 2015 at 02:47:10PM -0500, Ted Unangst wrote:

Tati Chevron wrote:

On Wed, Dec 16, 2015 at 11:13:36AM -0700, Theo de Raadt wrote:
>Your emails only contain opinions.

"Questions, comments, suggestions and any kind of help would also be
welcome".

Sorry if I mis-understood the purpose of a mailing list.


Your suggestions aren't helpful. Quoting the mailling list rules isn't making
them more helpful.


I was quoting Ulf's original post!

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: preparing multitouch support - request for tests

2015-12-16 Thread Tati Chevron

On Wed, Dec 16, 2015 at 06:29:23PM +0100, Stefan Sperling wrote:

On Wed, Dec 16, 2015 at 05:10:45PM +, Tati Chevron wrote:

why does it have to be integrated into the same mouse driver that everybody 
else uses?


Since you seem to care about this topic enough to actually contend
with what Ulf has been working on for months, let's phrase it this way:

Ulf's mails have diffs attached, and yours don't. Easy choice.


I don't see the connection.  I don't agree with the idea, nor see any
real-world use or benefit to this change.  Response of any kind on the
list has been very limited too.  Even Ulf has commented that maybe
people are happy with things the way they are.  What diffs would you
expect to see from anyone who wanted no change?

I've had several input layer diffs in my own personal tree for over
four years that were rejected by Miod as not having a general use case.
No problem.  I maintain them, because I use them.  If you and Ulf have
a use for these changes, but nobody else is interested enough to even
test and comment, why are you so worried?


As much as we'd like to keep things stable, we need to make progress, too.


But it has to be progress in a useful direction, surely?  And why can't
this all be done in a separate driver that doesn't touch wsmouse?


And of course the community is not going to accept diffs (from anyone)
which cause major regressions. So I don't see why you're so worried.


To me, the extra and unnecessary code running on every machine that
just has a PS/2 mouse, is a regression.  If we did this with everything,
we'd be Linux.  The good thing about OpenBSD for me is that it supports
a few things very well, rather than trying to support every possible use
case regardless of it's state of readiness or if it has a real value.

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: preparing multitouch support - request for tests

2015-12-16 Thread Tati Chevron

On Wed, Dec 16, 2015 at 12:59:00PM -0500, Ted Unangst wrote:

Tati Chevron wrote:

But I don't see that touch-based devices are ever going to become the most 
common devices to run OpenBSD, that's not realistic.  Even ignoring servers and 
headless devices, and only counting devices that are used interactively in some 
way, I just don't see tablet devices becoming the most widely used.


Progress is not made by people saying they don't like progress.


I'm all for progress, but I don't see any being made, here, or in the
world of touch devices in general.

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: preparing multitouch support - request for tests

2015-12-16 Thread Tati Chevron

On Wed, Dec 16, 2015 at 11:13:36AM -0700, Theo de Raadt wrote:

Your emails only contain opinions.


"Questions, comments, suggestions and any kind of help would also be
welcome".

Sorry if I mis-understood the purpose of a mailing list.

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: Linker changes between 5.7 and 5.8

2015-12-05 Thread Tati Chevron

On Sat, Dec 05, 2015 at 07:33:11AM +0100, Stefan Kempf wrote:

Tati Chevron wrote:

This assembled and linked without problems on 5.7-release, but now when
I try it on 5.8-release, I get an error:

$ as -o charset.o charset.S
$ ld -Bstatic charset.o



ld: charset.o: relocation R_X86_64_32S against `a local symbol' can not
be used when making a shared object; recompile with -fPIC
charset.o: could not read symbols: Bad value


Try it with ld -Bstatic -nopie charset.o


Ahhh, I was using -no-pie and wondering why it didn't work :-).

Great, so compiling with -nopie produces a working executable, excellent, 
thanks.

But I thought that amd64 was already using static pie by default in 5.7?

The release notes at http://www.openbsd.org/57.html suggest this:


All architectures have been transitioned to static PIE


--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Linker changes between 5.7 and 5.8

2015-12-04 Thread Tati Chevron

This assembled and linked without problems on 5.7-release, but now when
I try it on 5.8-release, I get an error:

$ as -o charset.o charset.S
$ ld -Bstatic charset.o

ld: charset.o: relocation R_X86_64_32S against `a local symbol' can not
be used when making a shared object; recompile with -fPIC
charset.o: could not read symbols: Bad value

What's changed?

charset.S is fairly trivial:

.section ".note", "a"
.p2align 2
.long 0x08
.long 0x04
.long 0x01
.ascii "OpenBSD\0"
.long 0x00
.p2align 2

.section .data
bytestore: .quad 0x20
welcome: .ascii "Characterset generator by Tati Chevron,  27/4/2015."
.byte 0x0A
newline: .quad 0x0A

.section .text
.globl _start

_start:

mov $welcome, %rsi
mov $1, %rdi
mov $4, %rax
mov $53, %rdx
syscall

_loop:

push bytestore
pop %rax
cmp $0xFF, %rax
jz _exit
cmp $0x80, %rax
jnz _skip
call _nl
push bytestore
pop %rax
_skip:

inc %rax
mov %rax, bytestore

mov $4, %rax
mov $1, %rdi
mov $bytestore, %rsi
mov $1, %rdx
syscall

jmp _loop

_exit:
call _nl
mov $1, %rdi
mov $1, %rax
syscall

_nl:
mov $4, %rax
mov $1, %rdi
mov $newline, %rsi
mov $1, %rdx
syscall
ret

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: Linker changes between 5.7 and 5.8

2015-12-04 Thread Tati Chevron

ld ignores the -fno-pie option and produces the same error.  Presumably
it's because I'm trying to build a static executable.

I've tried passing every option I can think of to ld, but I can't work
it out.  The output from the assembler is fine, can be linked on a machine
running 5.7, and the resulting binary executes on a 5.8 box.

I'm not sure where else to look...

On Fri, Dec 04, 2015 at 03:55:09PM -0700, Theo de Raadt wrote:

Most architectures went to 'static PIE' by default in 5.8.

You will probably need something like -fno-pie.

The entire exercise of writing asm which bootstraps without
the c runtime means you are very much on your own.


This assembled and linked without problems on 5.7-release, but now when
I try it on 5.8-release, I get an error:

$ as -o charset.o charset.S
$ ld -Bstatic charset.o

ld: charset.o: relocation R_X86_64_32S against `a local symbol' can not
be used when making a shared object; recompile with -fPIC
charset.o: could not read symbols: Bad value

What's changed?

charset.S is fairly trivial:

.section ".note", "a"
.p2align 2
.long 0x08
.long 0x04
.long 0x01
.ascii "OpenBSD\0"
.long 0x00
.p2align 2

.section .data
bytestore: .quad 0x20
welcome: .ascii "Characterset generator by Tati Chevron,  27/4/2015."
.byte 0x0A
newline: .quad 0x0A

.section .text
.globl _start

_start:

mov $welcome, %rsi
mov $1, %rdi
mov $4, %rax
mov $53, %rdx
syscall

_loop:

push bytestore
pop %rax
cmp $0xFF, %rax
jz _exit
cmp $0x80, %rax
jnz _skip
call _nl
push bytestore
pop %rax
_skip:

inc %rax
mov %rax, bytestore

mov $4, %rax
mov $1, %rdi
mov $bytestore, %rsi
mov $1, %rdx
syscall

jmp _loop

_exit:
call _nl
mov $1, %rdi
mov $1, %rax
syscall

_nl:
mov $4, %rax
mov $1, %rdi
mov $newline, %rsi
mov $1, %rdx
syscall
ret

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com





--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Building flavors with dpb

2015-12-03 Thread Tati Chevron

I'm trying to build the no_ada flavour of gcc 4.9 using dpb on a
machine running 5.8-release, and it fails:

# export FLAVOR=no_ada
# dpb -D BUILD_USER=ports -D CDROM_ONLY -D FTP_ONLY -F 0 -L /portswork/logs -l 
/portswork/locks lang/gcc/4.9

Fatal: Unknown flavor(s) no_ada (in test/a)
 (No flavors for this port). (in test/a)
*** Error 1 in / (/usr/ports/infrastructure/mk/bsd.port.mk:3567 '.BEGIN': @exit 
1)
dpb: Can't obtain vital information from the ports tree
Usage: dpb [-aceimqrRsuUvx] [-A arch] [-B chroot] [-C plist] [-f m] [-F m]
 [-I pathlist] [-J p] [-j n] [-p parallel] [-P pathlist] [-h hosts]
 [-L logdir] [-l lockdir] [-b log] [-M threshold] [-X pathlist]
 [pathlist ...]

Infact, trying to build other flavoured ports fails in a similar way.

What am I doing wrong here?

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: Debugging cardbus issues

2015-11-28 Thread Tati Chevron

On Sat, Nov 28, 2015 at 07:18:25PM +0100, Mark Kettenis wrote:

Date: Sat, 28 Nov 2015 17:12:03 +
From: Tati Chevron <chev...@swabsit.com>

cbb0 at pci1 dev 9 function 0 "ENE CB-1410 CardBus" rev 0x01: apic 1 int 22, 
CardBus support disabled
cardslot0 at cbb0 slot 0 flags 0
pcmcia0 at cardslot0

The host interface attaches, but my understanding is that the
CardBus support disabled message means that no driver attached to
the connected device.  Or am I wrong?


It means that the BIOS didn't configure the cardbus controller
properly, and that OpenBSD didn't succeed in patching things up.


Ah, OK, interesting...


Since your ccb0 attaches to pci1, you should try the ppb diff I mailed
to tech@ earlier today.


This machine is running 5.8-release, so I updated ppb.c to the latest revision 
from CVS and applied your attached patch.

The kernel compiles and boots successfully, but the dmesg and lspci output 
remains exactly the same.

Does this patch rely on other changed code between 5.8-release and 5.8-current?



Index: ppb.c
===
RCS file: /cvs/src/sys/dev/pci/ppb.c,v
retrieving revision 1.64
diff -u -p -r1.64 ppb.c
--- ppb.c   19 Oct 2015 19:24:54 -  1.64
+++ ppb.c   28 Nov 2015 12:44:06 -
@@ -66,6 +66,7 @@ struct ppb_softc {
pcitag_t sc_tag;/* ...and tag. */
pci_intr_handle_t sc_ih[4];
void *sc_intrhand;
+   struct extent *sc_busex;
struct extent *sc_ioex;
struct extent *sc_memex;
struct extent *sc_pmemex;
@@ -106,6 +107,8 @@ struct cfdriver ppb_cd = {
NULL, "ppb", DV_DULL
};

+void   ppb_alloc_busrange(struct ppb_softc *, struct pci_attach_args *,
+   pcireg_t *);
voidppb_alloc_resources(struct ppb_softc *, struct pci_attach_args *);
int ppb_intr(void *);
voidppb_hotplug_insert(void *);
@@ -151,6 +154,7 @@ ppbattach(struct device *parent, struct
pci_intr_handle_t ih;
pcireg_t busdata, reg, blr;
char *name;
+   int sec, sub;
int pin;

sc->sc_pc = pc;
@@ -158,6 +162,16 @@ ppbattach(struct device *parent, struct

busdata = pci_conf_read(pc, pa->pa_tag, PPB_REG_BUSINFO);

+   /*
+* When the bus number isn't configured, try to allocate one
+* ourselves.
+*/
+   if (busdata  == 0 && pa->pa_busex)
+   ppb_alloc_busrange(sc, pa, );
+
+   /*
+* When the bus number still isn't set correctly, give up.
+*/
if (PPB_BUSINFO_SECONDARY(busdata) == 0) {
printf(": not configured by system firmware\n");
return;
@@ -175,6 +189,19 @@ ppbattach(struct device *parent, struct
pa->pa_bus, PPB_BUSINFO_PRIMARY(busdata));
#endif

+   sec = PPB_BUSINFO_SECONDARY(busdata);
+   sub = PPB_BUSINFO_SUBORDINATE(busdata);
+   if (sub > sec) {
+   name = malloc(PPB_EXNAMLEN, M_DEVBUF, M_NOWAIT);
+   if (name) {
+   snprintf(name, PPB_EXNAMLEN, "%s pcibus", 
sc->sc_dev.dv_xname);
+   sc->sc_busex = extent_create(name, 0, 0xff,
+   M_DEVBUF, NULL, 0, EX_NOWAIT | EX_FILLED);
+   extent_free(sc->sc_busex, sec + 1,
+   sub - sec, EX_NOWAIT);
+   }
+   }
+
/* Check for PCI Express capabilities and setup hotplug support. */
if (pci_get_capability(pc, pa->pa_tag, PCI_CAP_PCIEXPRESS,
>sc_cap_off, ) && (reg & PCI_PCIE_XCAP_SI)) {
@@ -313,6 +340,7 @@ ppbattach(struct device *parent, struct
pba.pba_dmat = pa->pa_dmat;
pba.pba_pc = pc;
pba.pba_flags = pa->pa_flags & ~PCI_FLAGS_MRM_OKAY;
+   pba.pba_busex = sc->sc_busex;
pba.pba_ioex = sc->sc_ioex;
pba.pba_memex = sc->sc_memex;
pba.pba_pmemex = sc->sc_pmemex;
@@ -338,6 +366,12 @@ ppbdetach(struct device *self, int flags

rv = config_detach_children(self, flags);

+   if (sc->sc_busex) {
+   name = sc->sc_busex->ex_name;
+   extent_destroy(sc->sc_busex);
+   free(name, M_DEVBUF, PPB_EXNAMLEN);
+   }
+
if (sc->sc_ioex) {
name = sc->sc_ioex->ex_name;
extent_destroy(sc->sc_ioex);
@@ -485,6 +519,25 @@ ppbactivate(struct device *self, int act
}

void
+ppb_alloc_busrange(struct ppb_softc *sc, struct pci_attach_args *pa,
+pcireg_t *busdata)
+{
+   pci_chipset_tag_t pc = sc->sc_pc;
+   u_long busnum, busrange;
+
+   for (busrange = 8; busrange > 0; busrange >>= 1) {
+   if (extent_alloc(pa->pa_busex, busrange, 1, 0, 0,
+   EX_NOWAIT, ))
+   continue;
+   *busdata |= pa->pa_bus;
+   

Debugging cardbus issues

2015-11-28 Thread Tati Chevron
non-parity PC2-4200CL4 SO-DIMM
spdmem1 at iic0 addr 0x52: 512MB DDR2 SDRAM non-parity PC2-3200CL5 SO-DIMM
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
pms0: Synaptics touchpad, firmware 6.2
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on wd0a (3c339ffd90931f05.a) swap on wd0b dump on wd0b

06:09.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller (rev 01)
Subsystem: Acer Incorporated [ALI] Device 006a
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- Reset+ 16bInt+ PostWrite+
16-bit legacy interface ports at 0001
Capabilities: [a0] Power Management version 1
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Unknown cardbus ethernet controller

2015-11-25 Thread Tati Chevron
 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at ichpcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
pms0: Synaptics touchpad, firmware 6.2
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on wd0a (3c339ffd90931f05.a) swap on wd0b dump on wd0b

06:09.0 CardBus bridge: ENE Technology Inc CB1410 Cardbus Controller (rev 01)
Subsystem: Acer Incorporated [ALI] Device 006a
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- SERR- Reset+ 16bInt+ PostWrite+
16-bit legacy interface ports at 0001
    Capabilities: [a0] Power Management version 1
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Bridge: PM- B3+

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: pledge for tetris

2015-11-17 Thread Tati Chevron

On Tue, Nov 17, 2015 at 12:21:32AM -0500, Michael McConville wrote:

Ted Unangst wrote:

Theo Buehler wrote:
> drop the score file support

No way! this is critical functionality. :)


Seconded.  :P


I disagree - the obvious solution is to move tetris to ports for anyone
who needs score file support, and for Ted to write a new cut down
alternative version to go in base.

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: [PATCH] add F13-F24 and colour support to console terminfo

2015-11-09 Thread Tati Chevron

On Mon, Nov 09, 2015 at 08:23:08AM +, Nicholas Marriott wrote:

On Sun, Nov 08, 2015 at 09:01:52PM +, Tati Chevron wrote:

Is there any reason why the OpenBSD installer still defaults to a
terminal type of vt-220 for the VGA framebuffer console, and doesn't
even suggest pccon as an alternative?


In the installer itself? vt220 works fine and reliably and - importantly
- is small and fits on the ramdisks. Who needs to press F13 in the
installer?


Agreed, I didn't mean the installer itself, that does work fine with vt220.


If you mean in /etc/ttys, this has been discussed before and mostly the
reason it has stayed is that terminfo entries propagate very slowly and
vt220 is available everywhere, no matter if the user ssh to some ancient
OS. It's easy to change anyway.


Ah, then this is a documentation issue - I always assumed that the terminal 
type specified in the installer was propogated to /etc/ttys during the install, 
and used as a default for the console.

It is indeed easy to change, but the existance of pccon isn't exactly widely 
documented.  To be honest, I knew about it, but seeing that it was broken and 
not used by default in the installer, nor on the console after installation, I 
assumed that it was abandoned and unmaintained.

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: [PATCH] add F13-F24 and colour support to console terminfo

2015-11-08 Thread Tati Chevron

Hi,

On Sun, Nov 08, 2015 at 08:18:55PM +, Nicholas Marriott wrote:

Hi

I think it should be Shift-F1 etc, but since this is a general problem
with the xterm entry not just on OpenBSD, I suggest you discuss it with
upstream. The terminfo database is maintained as part of ncurses.


OK, I'll look into that, and maintain a local patch here for X for the time 
being.

Is there any reason why the OpenBSD installer still defaults to a terminal type 
of vt-220 for the VGA framebuffer console, and doesn't even suggest pccon as an 
alternative?

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: [PATCH] add F13-F24 and colour support to console terminfo

2015-11-08 Thread Tati Chevron

On Sun, Nov 08, 2015 at 02:09:03PM +, Nicholas Marriott wrote:

If this is different from pccon*, you should fix those or add a variant
rather than adding completely new entries.


OK.  The attached diff does the following:

* Add F13-F24 to pccon.
 These were previously undefined.
* Change the sgr definition to match the vt220 entry.
 This makes the, 'intense', colours work, giving us 16 instead of 8.
* Define the bold sequence.
 Otherwise, E.G. 'echo foo | less', the ~ in column 0 are displayed as
 reverse video instead of bold, (as they do in xterm).
* Add a new entry, 'pcconX', that adds F13-F24 to the standrd xterm entry

--- termtypes.master.1.55.dist  Sun Nov  8 15:20:37 2015
+++ termtypes.masterSun Nov  8 15:42:04 2015
@@ -2184,13 +2184,16 @@
kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
kf9=\E[20~, khome=\E[7~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
krfr=^R,
+   kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+   kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
+   kf21=\E[35~, kf22=\E[36~, kf23=\E[37~, kf24=\E[38~,
pccon+sgr+acs0|sgr and simple ASCII pseudographics for OpenBSD PC console,
acsc=+>\,<-\^.v0#`+a\:f\\h#i#j+k+l+m+n+o~p-q-r-s_t+u+v+w+x|y#z#{*|!}#~o,
sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m,
pccon+sgr+acs|sgr and default ASCII pseudographics for OpenBSD PC console,
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
enacs=\E)0$<5>, rmacs=\E(B$<5>,
-   sgr=\E[0%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<5>,
+   
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>,
sgr0=\E[m\E(B$<5>, smacs=\E(0$<5>,
pccon+colors|ANSI colors for OpenBSD PC console,
bce,
@@ -2199,7 +2202,7 @@
pccon+base|base capabilities for OpenBSD PC console,
am, km, mc5i, msgr, npc, nxon, xenl, xon,
cols#80, it#8, lines#24,
-   bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
+   bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
dch1=\E[P, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
@@ -2214,6 +2217,11 @@
use=pccon+base, use=pccon+sgr+acs, use=pccon+keys,
pccon|OpenBSD PC console,
use=pccon-m, use=pccon+colors,
+pcconX|xterm-like entry that fixes behaviour of F13-F24 in X on OpenBSD,
+   kf13=\E[25~, kf14=\E[26~,
+   kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+   kf19=\E[33~, kf20=\E[34~, kf21=\E[42~, kf22=\E[43~,
+   kf23=\E[44~, kf24=\E[45~, khlp=, krdo=, use=xterm,

 NetBSD consoles
#

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



Re: [PATCH] add F13-F24 and colour support to console terminfo

2015-11-08 Thread Tati Chevron

On Sun, Nov 08, 2015 at 04:50:21PM +, Nicholas Marriott wrote:

Can you please send these upstream to Thomas Dickey or
bug-ncur...@gnu.org?


Done.


* Add a new entry, 'pcconX', that adds F13-F24 to the standrd xterm entry


Not this though - pccon* is for the console, not for use in xterm. I
think you might want xterm-vt220?


Hu, no, xterm-vt220 doesn't define F21-F24, and also has an incorrect 
definition for the, 'home', key.

I can make a diff for this, obviously, should I just add it as a variation?


Although I don't know why our xterm function keys should be different
from stock xterm.


Since F13-F24 don't exist on standard PC keyboards, traditionally terminal 
emulators have mapped shift-F1 to F13, shift-F2 to F14, etc.

In recent times, some 122-key terminal keyboards, which are designed to be used 
with terminal emulators like that, actually send sequences such as Shift-F1 
when the physical F13 key is pressed, instead of the, 'real', sequence.

If you look in xterm+pcf2, which is the fragment included in the default xterm 
terminfo entry that we use, you'll see that F13-F24 are indeed defined as 
Shift-F1 - Shift-F12.

Unfortunately, even this doesn't work correctly for us, because F1-F4 don't 
follow the normal sequence for historical reasons.

So, we should do something to make sure that the default terminal emulation 
used for xterm on a default install, has a sensible configuration for F13-F24.  
Either support the, 'real', sequences from a 122-key keyboard, or support the 
shifted F1-F12 keys as F13-F24, or preferably, both.

Shall I make a diff to fix this?

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com



[PATCH] add F13-F24 and colour support to console terminfo

2015-11-08 Thread Tati Chevron

The terminfo entries used for X and for the console by a default install,
are broken for keyboards with function keys beyond F12, and for keyboards
with five cursor movement keys instead of the more common four.

In addition, the VGA console supports colour, but the terminfo entry used
by default does not define the necessary escape sequences.

Please find attached a patch against -current which defines three new
terminfo entries to fix these problems.

--- termtypes.master.1.55.dist  Sun Nov  8 11:40:24 2015
+++ termtypes.master.1.55.customSun Nov  8 11:43:06 2015
@@ -291,6 +291,51 @@
# There are no guarantees anywhere.  Svaha!
#

+ CUSTOM ENTRIES FOR OPENBSD-5.8
+#
+# Three entries to allow the use of F1-F5, F13-F24 and colour on the
+# OpenBSD VGA framebuffer console, and the use of F13-F24 with the default
+# X config.
+#
+# In addition, the, 'home', key on a PC-122 keyboard is defined as, 'home',
+# on the console, to match the definition in X:
+#
+# On a standard PC keyboard, there are four cursor keys in an inverted, 'T',
+# whereas on a PC-122 keyboard there are five cursor keys:
+#
+#  --- --- Legend
+#  |^| |^| --
+#  --- ---
+#  --- --- --- --- --- --- ^ - UP
+#  |<| |V| |>| |<| |H| |>| V - DOWN
+#  --- --- --- --- --- --- < - LEFT
+#  --- > - RIGHT
+#  |V| H - HOME
+#  ---
+#
+#  PC Keyboard   PC-122 Keyboard
+#
+# The new entries in this file are as follows:
+# tati - OpenBSD console with F1-F24, 5-key cursor-key block, and colour.
+# tatimono - As above, but without colour support
+# tatiX - X11 xterm with F1-F24, (colour and 5-key cursor-key block were
+# already supported by the existing xterm entry.
+
+tatimono|OpenBSD console with F1-F24 without colour support,
+   kf1=\E[11~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+   kf15=\E[28~, kf16=\E[29~, kf21=\E[35~, kf22=\E[36~,
+   kf23=\E[37~, kf24=\E[38~, khome=\E[7~, khlp=, krdo=, use=vt220,
+
+tati|OpenBSD console with F1-F24 and colour,
+   use=tatimono, use=ecma+color,
+
+tatiX|vt220-like entry that fixes behaviour of F13-F24 in X on OpenBSD,
+   kf13=\E[25~, kf14=\E[26~,
+   kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+   kf19=\E[33~, kf20=\E[34~, kf21=\E[42~, kf22=\E[43~,
+   kf23=\E[44~, kf24=\E[45~, khlp=, krdo=, use=xterm,
+
+
 ANSI, UNIX CONSOLE, AND SPECIAL TYPES
#
# This section describes terminal classes and brands that are still

--
Tati Chevron
Perl and FORTRAN specialist.
SWABSIT development and migration department.
http://www.swabsit.com