summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--programs/Xserver/hw/hp/README9
-rw-r--r--programs/Xserver/hw/hp/input/drivers/x_serialdrv.h188
2 files changed, 195 insertions, 2 deletions
diff --git a/programs/Xserver/hw/hp/README b/programs/Xserver/hw/hp/README
index b4f50c14e..57cabad89 100644
--- a/programs/Xserver/hw/hp/README
+++ b/programs/Xserver/hw/hp/README
@@ -1,3 +1,4 @@
+$XConsortium: README,v 1.4 94/06/03 10:47:07 dpw Exp $
README
@@ -56,6 +57,9 @@
HP710L 710 SPU 1024x768 Color, 8 planes
+ HP712 712 SPU 1024x768 Color, 8 planes or
+ 1280x1024 Color, 8 planes
+
=======================
MULTIPLE SCREEN SUPPORT
@@ -63,11 +67,12 @@
The HP X11 sample server supports multiple physical screens
connected to a single server program. The file
- /usr/lib/X11/X*screens is read by the X11 server to determine
+ $(LIBDIR)/X*screens is read by the X11 server to determine
information about the system screen configuration.
+ $(LIBDIR) is /usr/X11R6/lib/X11 by default.
For a complete description of the X*screens file, refer to the
- HP-UX manuals, or view the sample file in /usr/lib/X11.
+ HP-UX manuals, or view the sample file in $(LIBDIR)
==========================
24 PLANE SUPPORT FOR CRX24
diff --git a/programs/Xserver/hw/hp/input/drivers/x_serialdrv.h b/programs/Xserver/hw/hp/input/drivers/x_serialdrv.h
index e69de29bb..6cc787e8b 100644
--- a/programs/Xserver/hw/hp/input/drivers/x_serialdrv.h
+++ b/programs/Xserver/hw/hp/input/drivers/x_serialdrv.h
@@ -0,0 +1,188 @@
+/* $XConsortium: x_serialdrv.h,v 1.1 94/05/28 14:32:51 dpw Exp $ */
+/************************************************************
+Copyright (c) 1992 by Hewlett-Packard Company, Palo Alto, California.
+
+ All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Hewlett-Packard not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+
+********************************************************/
+
+/***************************************************************************
+ *
+ * Constants and structs for dynamically loaded serial input device drivers.
+ *
+ */
+
+#ifndef _X_SERIALDRV_H_
+#include <dl.h>
+
+#define X_KEYMAP_NAME "/etc/kbdlang"
+#define MIN_KEYCODE 8
+#define MAX_NM 64
+#define DATA_IS_8_BITS 0x01
+#define DATA_IS_16_BITS 0x02
+#define DATA_IS_32_BITS 0x04
+#define REPORTS_PROXIMITY 0x08
+#define ABSOLUTE_DATA 0x040
+#define NON_CONTIGUOUS_DATA 0x080
+#define FALSE 0
+#define TRUE 1
+#define KEY_DATA 0x01
+#define BUTTON_DATA 0x02
+#define PROXIMITY_DATA 0x04
+#define MOTION_DATA 0x08
+#define INIT_SUCCESS 0
+#define INIT_FAILURE 1
+#define READ_SUCCESS 0
+#define READ_FAILURE 1
+#define WRITE_SUCCESS 0
+#define WRITE_FAILURE 1
+#define CLOSE_SUCCESS 0
+#define IN_PROXIMITY 0
+#define OUT_OF_PROXIMITY 1
+
+#define SCROLLLOCK_LED (1 << 0)
+#define NUMLOCK_LED (1 << 1)
+#define CAPSLOCK_LED (1 << 2)
+
+#define _XSetDeviceMode 0
+#define _XSetDeviceValuators 1
+#define _XChangeDeviceControl 2
+#define _XChangeFeedbackControl 3
+#define _XChangeKeyboardControl 4
+#define _XChangePointerControl 5
+
+typedef struct {
+ int class;
+ int led_mask;
+ int led_values;
+} HPLedFeedbackControl;
+
+typedef struct {
+ int class;
+ int click;
+ int bell_percent;
+ int bell_pitch;
+ int bell_duration;
+ int autoRepeat;
+ unsigned char autoRepeats[32];
+ int leds;
+} HPKeyboardFeedbackControl;
+
+typedef struct {
+ int class;
+ int num;
+ int den;
+ int threshold;
+} HPPointerFeedbackControl;
+
+typedef struct {
+ int class;
+ int resolution;
+ int min_value;
+ int max_value;
+ int integer_displayed;
+} HPIntegerFeedbackControl;
+
+typedef struct {
+ int max_symbols;
+ int num_symbols_supported;
+ int *symbols_supported;
+} HPStrF;
+
+typedef struct {
+ int class;
+ int max_symbols;
+ int num_symbols_supported;
+ int num_symbols_displayed;
+ int *symbols_supported;
+ int *symbols_displayed;
+} HPStringFeedbackControl;
+
+typedef struct {
+ int class;
+ int percent;
+ int pitch;
+ int duration;
+} HPBellFeedbackControl;
+
+typedef struct {
+ int *valuators;
+ int first_valuator;
+ int num_valuators;
+} HPValuatorControl;
+
+typedef struct {
+ int *resolutions;
+ int first_valuator;
+ int num_valuators;
+} HPResolutionControl;
+
+typedef int (*pfrb)();
+typedef int (*ConfigureProc)();
+typedef int (*InitProc)();
+typedef int (*ReadProc)();
+typedef int (*WriteProc)();
+typedef int (*CloseProc)();
+
+typedef struct _SerialProcs
+ {
+ ConfigureProc configure; /* filled in by driver */
+ ReadProc read; /* filled in by driver */
+ WriteProc write; /* filled in by driver */
+ CloseProc close; /* filled in by driver */
+ shl_t ldr_module_id; /* filled in by X server */
+ int fd; /* filled in by X server */
+ char driver_name[MAX_NM]; /* filled in by X server */
+ char *keymap_name; /* filled in by X server */
+ char *keymap_file; /* filled in by X server */
+ int num_fdbk; /* filled in by X server */
+ u_char *feedbacks; /* filled in by X server */
+ int num_ledf; /* filled in by X server */
+ u_char *ledf; /* filled in by X server */
+ int num_strf; /* filled in by X server */
+ HPStrF *strf; /* filled in by X server */
+ } SerialProcs;
+
+typedef struct _HPInputDeviceHeader
+ {
+ char path[MAX_NM]; /* device path - filled in by X server */
+ char *x_name; /* device name */
+ char *keymap_name; /* keymap name, if device has keys */
+ char *keymap_file; /* keymap file, if device has keys */
+ int resolution; /* resolution in counts/cm */
+ int max_x; /* maximum x value in counts */
+ int max_y; /* maximum y value in counts */
+ int file_ds; /* file descriptor */
+ int num_fdbk; /* length of list that follows */
+ u_char *feedbacks; /* kbd, ptr, bell, and integer feedbacks*/
+ int num_ledf; /* length of list that follows */
+ u_char *ledf; /* led feedbacks */
+ int num_strf; /* length of list that follows */
+ HPStrF *strf; /* string feedbacks */
+ u_char flags; /* device characteristics */
+ u_char ax_num; /* number of axes */
+ u_char num_buttons; /* number of buttons */
+ u_char num_keys; /* number of keys */
+ u_char min_kcode; /* minimum keycode */
+ u_char max_kcode; /* maximum keycode */
+ u_char reset; /* keycode to cause X server reset */
+ u_char reset_mods; /* mask of modifiers for server reset */
+ u_char button_chording;/* interval (ms) if chording enabled */
+ }HPInputDeviceHeader;
+#endif /* _X_SERIALDRV_H_ */