summaryrefslogtreecommitdiff
path: root/sys/arch/i386/isa/pcvt/pcvt_hdr.h
diff options
context:
space:
mode:
authorAaron Campbell <aaron@cvs.openbsd.org>2000-09-01 05:46:03 +0000
committerAaron Campbell <aaron@cvs.openbsd.org>2000-09-01 05:46:03 +0000
commit3792ae36e016293db570ba44569964b6f1958cf1 (patch)
treedb694f9e74727ef1d7aecfc1af5a4ff2f0bef847 /sys/arch/i386/isa/pcvt/pcvt_hdr.h
parent001402bb9c907b93d531c87f15f4ce0f9f4bdc4c (diff)
Kernel support for new PCVT console mouse features.
- Basic cut/paste functionality. - Wheel mouse support (wheel rolls page-by-page through scrollback buffer). - Copybuffer ownership. i.e., if User X logs in the console and selects text, when User Y logs in later the buffer cannot be pasted. Big thanks to Jean-Baptiste Marchand, Julien Montagne, and Jerome Verdon for implementing this.
Diffstat (limited to 'sys/arch/i386/isa/pcvt/pcvt_hdr.h')
-rw-r--r--sys/arch/i386/isa/pcvt/pcvt_hdr.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/sys/arch/i386/isa/pcvt/pcvt_hdr.h b/sys/arch/i386/isa/pcvt/pcvt_hdr.h
index 04b8d41d762..be63f60719a 100644
--- a/sys/arch/i386/isa/pcvt/pcvt_hdr.h
+++ b/sys/arch/i386/isa/pcvt/pcvt_hdr.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcvt_hdr.h,v 1.36 2000/06/08 22:25:20 niklas Exp $ */
+/* $OpenBSD: pcvt_hdr.h,v 1.37 2000/09/01 05:46:01 aaron Exp $ */
/*
* Copyright (c) 1992, 1995 Hellmuth Michaelis and Joerg Wunsch.
@@ -703,6 +703,18 @@ typedef struct video_state {
unsigned vt_status; /* state of the vt */
/* becoming active */
int kbd_state; /* keyboard raw or translated */
+
+ unsigned short mouse; /* mouse cursor position */
+ unsigned short cpy_start; /* position of the copy start mark*/
+ unsigned short cpy_end; /* position of the copy end mark */
+ unsigned short cpy_orig; /* original copy position */
+#define MOUSE_VISIBLE (1 << 0) /* flag, the mouse cursor is visible */
+#define SEL_EXISTS (1 << 1) /* flag, a selection exists */
+#define SEL_IN_PROGRESS (1 << 2) /* flag, a selection is in progress */
+#define IS_MOUSE_VISIBLE(vsp) ((vsp)->mouse_flags & MOUSE_VISIBLE)
+#define IS_SEL_EXISTS(vsp) ((vsp)->mouse_flags & SEL_EXISTS)
+#define IS_SEL_IN_PROGRESS(vsp) ((vsp)->mouse_flags & SEL_IN_PROGRESS)
+ unsigned char mouse_flags; /* flags, status of the mouse */
} video_state;
EXTERN video_state vs[PCVT_NSCREENS]; /* parameters for screens */
@@ -1113,4 +1125,18 @@ static __inline void vt_selattr(struct video_state *svsp)
#define PCVT_KBD_DELAY() delay(7)
#endif /* PCVT_PORTIO_DELAY */
+/* mouse console support prototype */
+
+char *Copybuffer; /* buffer that contains mouse selections */
+uid_t Copyowner; /* uid of the owner of the selection, useful for verifying
+ permissions on it
+ */
+char Paste_avail; /* flag, to indicate whether a selection is in the
+ Copy buffer */
+
+int mouse_ioctl(Dev_t, u_long, caddr_t, int, struct proc *);
+void remove_selection(void);
+void mouse_hide(void);
+void scrollback_mouse(int);
+
/*---------------------------------- E O F ----------------------------------*/