From: ghod@drycas.club.cc.cmu.edu Subject: [PATCH] Non-blinking cursor (updated for 0.99 pl10) Date: 12 Jun 1993 20:57:07 GMT
Greetings:
On the off chance that more than one or two of you decided to use my lowly
non-blinking cursor patch, I have re-worked it slightly to patch cleanly
into 0.99 pl10. The console driver in pl10 includes some added code for
hardware scrollback which changed things sufficiently to cause patch to
reject some of my mods. In addition taking care of this, I did the
following:
1) Fixed a tiny buglet that sometimes caused a stray cursor
to be left on the screen when the display was un-blanked after
a keypress. (This happened only once in a blue moon which
could explain why noone else reported it.)
2) Added an extra #define to make it easier to select the default
cursor type. You will see NOBLINK and HCURSTYPE defined early on
in the code. #defining NOBLINK sets all the VCs to non-blinking
cursors by default. #undefing it sets them to the standard
hardware cursor. HCURSTYPE lets you set the default hardware
cursor type: it can be any value from 0 to 15. 0 is a blinking
block cursor. 13 is the usual blinking underline. 15 is nothing
(invisible). The default setup is NOBLINK #defined with
HCURSTYPE set to 0.
As before, each VC's cursor state is maintained independently and can be
changed dynamically with a VT220 escape code as follows:
<ESC>[?33h switch to blinking cursor
<ESC>[?33l switch to non-blinking cursor
Of late, I've become increasingly worried that these codes are completely
bogus, but I don't have a VT-220 escape code list to check against. Noone
wrote to correct me after the last time, which leads me to believe I either
picked the right codes by sheer coincidence or the fact that they might be
bogus doesn't bother you. :) If anyone has a VT-220 manual out there and can
set me straight, I'd be glad to here from you.
Immediately following is the patch. It's a gzipped and uuencoded context diff
against /linux/kernel/chr_drv/console.c. As always, bug reports, praise,
flames, virgins and American Express Cards are welcome.
Share and enjoy!
-Bill Paul
ghod@drycas.club.cc.cmu.edu
=====8<=====8<=====8<=====8<=====8<=====8<=====8<=====8<=====8<=====8<=====8<=
begin 644 noblink.diff.z
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
?!X0RGEF#?NS0XTJZG"?1`8WV.LUG_P0.%8)\5R<``-O6
`
end