Xnest: replace XChangeKeyboardControl() by xcb_change_keyboard_control()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
parent
1795698202
commit
db2743387b
|
|
@ -81,7 +81,7 @@ xnestChangeKeyboardControl(DeviceIntPtr pDev, KeybdCtrl * ctrl)
|
|||
{
|
||||
#if 0
|
||||
unsigned long value_mask;
|
||||
XKeyboardControl values;
|
||||
XnKeyboardControl values;
|
||||
int i;
|
||||
|
||||
value_mask = KBKeyClickPercent |
|
||||
|
|
@ -94,7 +94,9 @@ xnestChangeKeyboardControl(DeviceIntPtr pDev, KeybdCtrl * ctrl)
|
|||
values.auto_repeat_mode = ctrl->autoRepeat ?
|
||||
AutoRepeatModeOn : AutoRepeatModeOff;
|
||||
|
||||
XChangeKeyboardControl(xnestDisplay, value_mask, &values);
|
||||
uint32_t value_list[16];
|
||||
xnestEncodeKeyboardControl(values, value_mask, value_list);
|
||||
xcb_change_keyboard_control(xnestUpstreamConn(), value_mask, value_list);
|
||||
|
||||
/*
|
||||
value_mask = KBKey | KBAutoRepeatMode;
|
||||
|
|
@ -107,7 +109,9 @@ xnestChangeKeyboardControl(DeviceIntPtr pDev, KeybdCtrl * ctrl)
|
|||
values.led = i;
|
||||
values.led_mode =
|
||||
(ctrl->leds & (1 << (i - 1))) ? LedModeOn : LedModeOff;
|
||||
XChangeKeyboardControl(xnestDisplay, value_mask, &values);
|
||||
|
||||
xnestEncodeKeyboardControl(values, value_mask, value_list);
|
||||
xcb_change_keyboard_control(xnestUpstreamConn(), value_mask, value_list);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
|||
|
|
@ -88,3 +88,30 @@ void xnest_configure_window(xcb_connection_t *conn, uint32_t window,
|
|||
xcb_configure_window(conn, window, mask, value_list);
|
||||
}
|
||||
}
|
||||
|
||||
void xnestEncodeKeyboardControl(XnKeyboardControl ctrl, long mask, uint32_t *value)
|
||||
{
|
||||
if (mask & KBKeyClickPercent)
|
||||
*value++ = ctrl.key_click_percent;
|
||||
|
||||
if (mask & KBBellPercent)
|
||||
*value++ = ctrl.bell_percent;
|
||||
|
||||
if (mask & KBBellPitch)
|
||||
*value++ = ctrl.bell_pitch;
|
||||
|
||||
if (mask & KBBellDuration)
|
||||
*value++ = ctrl.bell_duration;
|
||||
|
||||
if (mask & KBLed)
|
||||
*value++ = ctrl.led;
|
||||
|
||||
if (mask & KBLedMode)
|
||||
*value++ = ctrl.led_mode;
|
||||
|
||||
if (mask & KBKey)
|
||||
*value++ = ctrl.key;
|
||||
|
||||
if (mask & KBAutoRepeatMode)
|
||||
*value++ = ctrl.auto_repeat_mode;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,4 +52,17 @@ typedef struct {
|
|||
|
||||
void xnest_configure_window(xcb_connection_t *conn, uint32_t window, uint32_t mask, XnWindowChanges values);
|
||||
|
||||
typedef struct {
|
||||
int key_click_percent;
|
||||
int bell_percent;
|
||||
int bell_pitch;
|
||||
int bell_duration;
|
||||
int led;
|
||||
int led_mode;
|
||||
int key;
|
||||
int auto_repeat_mode;
|
||||
} XnKeyboardControl;
|
||||
|
||||
void xnestEncodeKeyboardControl(XnKeyboardControl ctrl, long mask, uint32_t *value);
|
||||
|
||||
#endif /* __XNEST__XCB_H */
|
||||
|
|
|
|||
Loading…
Reference in New Issue