|
|
1.1 ! root 1: #include "copyright.h" ! 2: ! 3: /* $Header: XChKeyCon.c,v 11.7 87/09/11 08:01:34 toddb Exp $ */ ! 4: /* Copyright Massachusetts Institute of Technology 1986 */ ! 5: ! 6: #include "Xlibint.h" ! 7: ! 8: XChangeKeyboardControl(dpy, mask, value_list) ! 9: register Display *dpy; ! 10: unsigned long mask; ! 11: XKeyboardControl *value_list; ! 12: { ! 13: unsigned long values[7]; ! 14: register unsigned long *value = values; ! 15: long nvalues; ! 16: register xChangeKeyboardControlReq *req; ! 17: ! 18: LockDisplay(dpy); ! 19: GetReq(ChangeKeyboardControl, req); ! 20: req->mask = mask; ! 21: ! 22: /* Warning! This code assumes that "unsigned long" is 32-bits wide */ ! 23: ! 24: if (mask & KBKeyClickPercent) ! 25: *value++ = value_list->key_click_percent; ! 26: ! 27: if (mask & KBBellPercent) ! 28: *value++ = value_list->bell_percent; ! 29: ! 30: if (mask & KBBellPitch) ! 31: *value++ = value_list->bell_pitch; ! 32: ! 33: if (mask & KBBellDuration) ! 34: *value++ = value_list->bell_duration; ! 35: ! 36: if (mask & KBLed) ! 37: *value++ = value_list->led; ! 38: ! 39: if (mask & KBLedMode) ! 40: *value++ = value_list->led_mode; ! 41: ! 42: if (mask & KBKey) ! 43: *value++ = value_list->key; ! 44: ! 45: if (mask & KBAutoRepeatMode) ! 46: *value++ = value_list->auto_repeat_mode; ! 47: ! 48: ! 49: req->length += (nvalues = value - values); ! 50: ! 51: /* note: Data is a macro that uses its arguments multiple ! 52: times, so "nvalues" is changed in a separate assignment ! 53: statement */ ! 54: ! 55: nvalues <<= 2; ! 56: Data (dpy, (char *) values, nvalues); ! 57: UnlockDisplay(dpy); ! 58: SyncHandle(); ! 59: ! 60: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.