|
|
1.1 root 1: #include "copyright.h"
2:
3: /* $Header: XSetPntMap.c,v 11.3 87/09/11 08:10:00 toddb Exp $ */
4: /* Copyright Massachusetts Institute of Technology 1986 */
5:
6: #define NEED_REPLIES
7:
8: #include "Xlibint.h"
9: /* returns either DeviceMappingSuccess or DeviceMappingBusy */
10:
11: int XSetPointerMapping (dpy, map, nmaps)
12: register Display *dpy;
13: unsigned char map[];
14: int nmaps;
15: {
16: register xSetPointerMappingReq *req;
17: xSetPointerMappingReply rep;
18:
19: LockDisplay(dpy);
20: GetReq (SetPointerMapping, req);
21: req->nElts = nmaps;
22: req->length += (nmaps + 3)>>2;
23: Data (dpy, (char *)map, (long) nmaps);
24: if (_XReply (dpy, (xReply *)&rep, 0, xFalse) == 0)
25: rep.success = MappingSuccess;
26: UnlockDisplay(dpy);
27: SyncHandle();
28: return ((int) rep.success);
29: }
30:
31: XChangeKeyboardMapping (dpy, first_keycode, keysyms_per_keycode,
32: keysyms, nkeycodes)
33: register Display *dpy;
34: int first_keycode;
35: int keysyms_per_keycode;
36: KeySym *keysyms;
37: int nkeycodes;
38: {
39: register int nbytes;
40: register xChangeKeyboardMappingReq *req;
41:
42: LockDisplay(dpy);
43: GetReq (ChangeKeyboardMapping, req);
44: req->firstKeyCode = first_keycode;
45: req->keyCodes = nkeycodes;
46: req->keySymsPerKeyCode = keysyms_per_keycode;
47: req->firstKeyCode = first_keycode;
48: req->length += nkeycodes * keysyms_per_keycode;
49: nbytes = keysyms_per_keycode * nkeycodes * sizeof (CARD32);
50: Data (dpy, (char *)keysyms, nbytes);
51: UnlockDisplay(dpy);
52: SyncHandle();
53: return;
54: }
55:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.