home *** CD-ROM | disk | FTP | other *** search
/ PC Shareware 1999 March / PCShareware-3-99.iso / IMPLE / DJGPP.RAR / DJGPP2 / XLIB-SR0.ZIP / SRC / XLIBEMU / CHKEYCON.C < prev    next >
C/C++ Source or Header  |  1994-01-30  |  1KB  |  64 lines

  1. /* $Id: chkeycon.c 1.1 1994/01/30 18:44:03 ulrich Exp $ */
  2. /*
  3.  * X library function XChangeKeyboardControl.
  4.  */
  5. #include "Xlibemu.h"
  6.  
  7. int
  8. XChangeKeyboardControl(dpy, mask, value_list)
  9.     register Display *dpy;
  10.     unsigned long mask;
  11.     XKeyboardControl *value_list;
  12. {
  13.   int i;
  14.  
  15.   if (mask & KBKeyClickPercent) {
  16.     i = value_list->key_click_percent;
  17.     if (i < 0)
  18.       _KeyboardState.key_click_percent = 0;    /* default */
  19.     else if (i > 100)
  20.       _KeyboardState.key_click_percent = 100;
  21.     else
  22.       _KeyboardState.key_click_percent = i;
  23.   }
  24.     
  25.   if (mask & KBBellPercent) {
  26.     i = value_list->bell_percent;
  27.     if (i < 0)
  28.       _KeyboardState.bell_percent = 50;        /* default */
  29.     else if (i > 100)
  30.       _KeyboardState.bell_percent = 100;
  31.     else
  32.       _KeyboardState.bell_percent = i;
  33.   }
  34.  
  35.   if (mask & KBBellPitch) {
  36.     i = value_list->bell_pitch;
  37.     if (i < 0)
  38.       _KeyboardState.bell_pitch = 400;    /* (Hz) default value */
  39.     else
  40.       _KeyboardState.bell_pitch = i;
  41.   }
  42.  
  43.   if (mask & KBBellDuration) {
  44.     i = value_list->bell_duration;
  45.     if (i < 0)
  46.       _KeyboardState.bell_duration = 100;    /* (ms) default value */
  47.     else
  48.       _KeyboardState.bell_duration = i;
  49.   }
  50. /*
  51.   if (mask & KBLed)
  52.     ??? = value_list->led;
  53.  
  54.   if (mask & KBLedMode)
  55.     ??? = value_list->led_mode;
  56.  
  57.   if (mask & KBKey)
  58.     ??? = value_list->key;
  59. */
  60.   if (mask & KBAutoRepeatMode)
  61.     _KeyboardState.global_auto_repeat = value_list->auto_repeat_mode;
  62.   return 0;
  63. }
  64.