MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / keyNotify

Method keyNotify

source/x11/xwindow.cpp:1345–1383  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1343}
1344
1345void 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
1385void XWindow::buttonNotify(const DisplayDataPtr& data, U32 button, S32 x, S32 y, bool pressed) {
1386 S32 window_x = x;

Callers

nothing calls this directly

Calls 7

klogFunction · 0.85
getNextEventSerialMethod · 0.80
getEventTimeMethod · 0.80
putEventMethod · 0.80
getInputModifiersMethod · 0.45
appendMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected