[comp.windows.x] keyboard reset on Vaxstation II with Ultrix 3.0

envbvs@epb2.lbl.gov (Brian V. Smith) (05/06/89)

The problem with the qvss (qv.o) driver on a Vaxstation II under Ultrix 3.0
is that when any output goes to /dev/console, the keyboard is re-initialized.

This means that, for some reason, one must hit tab or return twice to get
a tab or return (respectively), and keyclick is turned on if it was off before.

The fix is to remove the call to _qvkbdreset in the routine _qvopen.
This may be "nop"ed out by the following:

FIRST, VERY IMPORTANTLY: locate the call to _qvkbdreset in the routine _qvopen.
It should be at offset 0x110:

example:
unix> adb /vmunix

_qvopen+110?i
8006e574:       calls   $0,_qvkbdreset

________________________________________________________________________________
NOW TO PATCH THE FILES:

>>> For the qv.o file:

unix> adb -w qv.o

_qvopen+110?W 01010101
_qvopen+113?W 01010101
^D
unix>

(note that this inserts 7, not 8 nops because the second write overlaps the first)

________________________________________________________________________________
>>> For the kernel /vmunix file:

unix> adb -w /vmunix

_qvopen+110?W 01010101
_qvopen+113?W 01010101
^D

unix>

________________________________________________________________________________
>>> Finally, if you want to change the running kernel (/dev/mem):

unix> adb -w -k /vmunix /dev/mem

_qvopen+110/W 01010101  <<<----- NOTE the '/' instead of '?'
_qvopen+113/W 01010101  <<<----- NOTE the '/' instead of '?'
^D

unix>

________________________________________________________________________________
If there is a more "correct" fix for this problem, feel free to send mail to me
or post your fix to the net.

_____________________________________
Brian V. Smith    (bvsmith@lbl.gov)
Lawrence Berkeley Laboratory

We don't need no signatures!