[PATCH] Set the vga cursor even when hidden
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Sat, 5 Nov 2005 21:19:50 +0000 (22:19 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 5 Nov 2005 21:30:03 +0000 (13:30 -0800)
Some visually impaired people use hardware devices which directly read
the vga screen. When newt for instance asks to hide the cursor for
better visual aspect, the kernel puts the vga cursor out of the screen,
so that the cursor position can't be read by the hardware device. This
is a great loss for such people.

Here is a patch which uses the same technique as CUR_NONE for hiding the
cursor while still moving it.

Mario, you should apply it to the speakup kernel for access floppies
asap. I'll submit a 2.4 patch too.

Signed-off-by: samuel.thibault@ens-lyon.org
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/video/console/vgacon.c

index 56cd199..274f905 100644 (file)
@@ -448,7 +448,8 @@ static void vgacon_cursor(struct vc_data *c, int mode)
                vgacon_scrolldelta(c, 0);
        switch (mode) {
        case CM_ERASE:
-               write_vga(14, (vga_vram_end - vga_vram_base - 1) / 2);
+               write_vga(14, (c->vc_pos - vga_vram_base) / 2);
+               vgacon_set_cursor_size(c->vc_x, 31, 30);
                break;
 
        case CM_MOVE: