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
|
#if 0
|
||||||
unsigned long value_mask;
|
unsigned long value_mask;
|
||||||
XKeyboardControl values;
|
XnKeyboardControl values;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
value_mask = KBKeyClickPercent |
|
value_mask = KBKeyClickPercent |
|
||||||
|
|
@ -94,7 +94,9 @@ xnestChangeKeyboardControl(DeviceIntPtr pDev, KeybdCtrl * ctrl)
|
||||||
values.auto_repeat_mode = ctrl->autoRepeat ?
|
values.auto_repeat_mode = ctrl->autoRepeat ?
|
||||||
AutoRepeatModeOn : AutoRepeatModeOff;
|
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;
|
value_mask = KBKey | KBAutoRepeatMode;
|
||||||
|
|
@ -107,7 +109,9 @@ xnestChangeKeyboardControl(DeviceIntPtr pDev, KeybdCtrl * ctrl)
|
||||||
values.led = i;
|
values.led = i;
|
||||||
values.led_mode =
|
values.led_mode =
|
||||||
(ctrl->leds & (1 << (i - 1))) ? LedModeOn : LedModeOff;
|
(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
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -88,3 +88,30 @@ void xnest_configure_window(xcb_connection_t *conn, uint32_t window,
|
||||||
xcb_configure_window(conn, window, mask, value_list);
|
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);
|
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 */
|
#endif /* __XNEST__XCB_H */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue