diff options
author | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-09-01 05:46:03 +0000 |
---|---|---|
committer | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-09-01 05:46:03 +0000 |
commit | 3792ae36e016293db570ba44569964b6f1958cf1 (patch) | |
tree | db694f9e74727ef1d7aecfc1af5a4ff2f0bef847 /sys/arch/i386/isa/pcvt/pcvt_hdr.h | |
parent | 001402bb9c907b93d531c87f15f4ce0f9f4bdc4c (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.h | 28 |
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 ----------------------------------*/ |