summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons/scmouse.c
diff options
context:
space:
mode:
authoryokota <yokota@FreeBSD.org>2000-01-12 12:30:33 +0000
committeryokota <yokota@FreeBSD.org>2000-01-12 12:30:33 +0000
commitd7a68849c148b5b010836c7f0204f35e8c609465 (patch)
tree0bb4b6407b3d6a985d895dff3260d28e567fa771 /sys/dev/syscons/scmouse.c
parent639e3cda8a1ad1f67c22408c63e3a929b4d7ebb2 (diff)
downloadFreeBSD-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.c18
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;
}
OpenPOWER on IntegriCloud