| 1343 | } |
| 1344 | |
| 1345 | void XWindow::keyNotify(const DisplayDataPtr& data, U32 key, S32 x, S32 y, bool pressed) { |
| 1346 | S32 window_x = x; |
| 1347 | S32 window_y = y; |
| 1348 | screenToWindow(window_x, window_y); |
| 1349 | |
| 1350 | // winex11 doesn't seem to use subwindow |
| 1351 | XEvent event = {}; |
| 1352 | |
| 1353 | event.type = pressed ? KeyPress : KeyRelease; |
| 1354 | event.xkey.serial = data->getNextEventSerial(); |
| 1355 | event.xkey.display = data->displayAddress; |
| 1356 | event.xkey.window = id; |
| 1357 | event.xkey.root = data->root; |
| 1358 | event.xkey.subwindow = 0; |
| 1359 | event.xkey.time = XServer::getServer()->getEventTime(); |
| 1360 | event.xkey.x = window_x; |
| 1361 | event.xkey.y = window_y; |
| 1362 | event.xkey.x_root = x; |
| 1363 | event.xkey.y_root = y; |
| 1364 | event.xkey.state = XServer::getServer()->getInputModifiers(); |
| 1365 | event.xkey.keycode = key; |
| 1366 | event.xkey.same_screen = True; |
| 1367 | |
| 1368 | if (XServer::getServer()->trace) { |
| 1369 | BString log; |
| 1370 | log.append(data->displayId, 16); |
| 1371 | log += " Event"; |
| 1372 | log += pressed ? " KeyPress" : " KeyRelease"; |
| 1373 | log += " key="; |
| 1374 | log.append(key, 16); |
| 1375 | log += " root="; |
| 1376 | log.append(XServer::getServer()->getRoot()->id, 16); |
| 1377 | log += " state="; |
| 1378 | log.append(event.xkey.state, 16); |
| 1379 | klog(log.c_str()); |
| 1380 | } |
| 1381 | |
| 1382 | data->putEvent(event); |
| 1383 | } |
| 1384 | |
| 1385 | void XWindow::buttonNotify(const DisplayDataPtr& data, U32 button, S32 x, S32 y, bool pressed) { |
| 1386 | S32 window_x = x; |
nothing calls this directly
no test coverage detected