[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 56cd199605f4fa9cfa587389d1d21a9f47e3e9e1..274f90543e323b7014e6c61d25a555bd6aa180f6 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: