MCPcopy Create free account
hub / github.com/KangLin/RabbitRemoteControl / HandleEvent

Method HandleEvent

Src/Unix/NativeEventFilterUnix.cpp:123–161  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

121}
122
123bool CNativeEventFilterUnix::HandleEvent(xcb_generic_event_t* event)
124{
125 bool bRet = false;
126
127 switch (event->response_type & ~0x80) {
128 case XCB_KEY_PRESS: {
129 xcb_key_press_event_t *ke = (xcb_key_press_event_t *)event;
130 //print_modifiers(ke->state);
131 int nRet = 0;
132 xcb_keysym_t keysym;
133 nRet = GetKeySym(ke, keysym);
134 if(nRet)
135 break;
136 /*
137 qDebug(log) << "Press Key:" << ke->detail << keysym << GetModifiers(ke->state) << "pressed in window " << ke->event
138 << "root:" << ke->root;//*/
139 bRet = HandleKey(keysym, QEvent::KeyPress, GetModifiers(ke->state));
140 break;
141 }
142 case XCB_KEY_RELEASE: {
143 xcb_key_release_event_t *ke = (xcb_key_release_event_t *)event;
144 //print_modifiers(ke->state);
145 int nRet = 0;
146 xcb_keysym_t keysym;
147 nRet = GetKeySym(ke, keysym);
148 if(nRet)
149 break;
150 /*
151 qDebug(log) << "Release Key:" << ke->detail << keysym << GetModifiers(ke->state) << "pressed in window " << ke->event
152 << "root:" << ke->root;//*/
153 bRet = HandleKey(keysym, QEvent::KeyRelease, GetModifiers(ke->state));
154 break;
155 }
156 default:
157 break;
158 }
159
160 return bRet;
161}
162
163int CNativeEventFilterUnix::GetKeySym(xcb_key_press_event_t *event, xcb_keysym_t &keysym)
164{

Callers

nothing calls this directly

Calls 1

GetModifiersFunction · 0.85

Tested by

no test coverage detected