diff options
author | yokota <yokota@FreeBSD.org> | 2000-01-12 12:30:33 +0000 |
---|---|---|
committer | yokota <yokota@FreeBSD.org> | 2000-01-12 12:30:33 +0000 |
commit | d7a68849c148b5b010836c7f0204f35e8c609465 (patch) | |
tree | 0bb4b6407b3d6a985d895dff3260d28e567fa771 /sys/dev/syscons/scmouse.c | |
parent | 639e3cda8a1ad1f67c22408c63e3a929b4d7ebb2 (diff) | |
download | FreeBSD-src-d7a68849c148b5b010836c7f0204f35e8c609465.zip FreeBSD-src-d7a68849c148b5b010836c7f0204f35e8c609465.tar.gz |
Make the mouse cursor char code configurable via the CONS_MOUSECTL
ioctl.
By popular demand.
Diffstat (limited to 'sys/dev/syscons/scmouse.c')
-rw-r--r-- | sys/dev/syscons/scmouse.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/dev/syscons/scmouse.c b/sys/dev/syscons/scmouse.c index ecaa329..b0663a0 100644 --- a/sys/dev/syscons/scmouse.c +++ b/sys/dev/syscons/scmouse.c @@ -31,6 +31,7 @@ #if NSC > 0 +#include <limits.h> #include <sys/param.h> #include <sys/systm.h> #include <sys/conf.h> @@ -954,6 +955,23 @@ sc_mouse_ioctl(struct tty *tp, u_long cmd, caddr_t data, int flag, #endif /* SC_NO_CUTPASTE */ break; + case MOUSE_MOUSECHAR: + if (mouse->u.mouse_char < 0) { + mouse->u.mouse_char = scp->sc->mouse_char; + } else { + if (mouse->u.mouse_char >= UCHAR_MAX - 4) + return EINVAL; + s = spltty(); + sc_remove_all_mouse(scp->sc); +#ifndef SC_NO_FONT_LOADING + if (ISTEXTSC(cur_scp) && (cur_scp->font_size != FONT_NONE)) + copy_font(cur_scp, LOAD, cur_scp->font_size, cur_scp->font); +#endif + scp->sc->mouse_char = mouse->u.mouse_char; + splx(s); + } + break; + default: return EINVAL; } |