Compare commits
No commits in common. "f7150056c4b0e1474c17420dd53b4a281f0e55ff" and "61f8b2fa660893f05321dc0ee9d6a570ddb235f4" have entirely different histories.
f7150056c4
...
61f8b2fa66
|
|
@ -941,7 +941,7 @@ static void on_window_focus_event(WINDOW wid, bool focused)
|
|||
MUST(window.send_event(event, FocusChangeMask));
|
||||
}
|
||||
|
||||
static void send_key_button_pointer_event(WINDOW root_wid, BYTE detail, uint32_t event_mask, BYTE event_type, KeyButMask state)
|
||||
static void send_key_button_pointer_event(WINDOW root_wid, BYTE detail, uint32_t event_mask, BYTE event_type)
|
||||
{
|
||||
int32_t root_x, root_y;
|
||||
int32_t event_x, event_y;
|
||||
|
|
@ -986,12 +986,12 @@ static void send_key_button_pointer_event(WINDOW root_wid, BYTE detail, uint32_t
|
|||
.time = static_cast<CARD32>(time(nullptr)),
|
||||
.root = g_root.windowId,
|
||||
.event = wid,
|
||||
.child = static_cast<CARD32>(child_wid == wid ? None : child_wid),
|
||||
.child = child_wid,
|
||||
.rootX = static_cast<INT16>(root_x),
|
||||
.rootY = static_cast<INT16>(root_y),
|
||||
.eventX = static_cast<INT16>(event_x),
|
||||
.eventY = static_cast<INT16>(event_y),
|
||||
.state = state,
|
||||
.state = static_cast<KeyButMask>(s_keymask | s_butmask),
|
||||
.sameScreen = xTrue,
|
||||
}
|
||||
}};
|
||||
|
|
@ -1057,7 +1057,7 @@ static void on_mouse_move_event(WINDOW wid, int32_t x, int32_t y)
|
|||
if (s_butmask & Button3Mask) event_mask |= Button3MotionMask;
|
||||
if (s_butmask & Button4Mask) event_mask |= Button4MotionMask;
|
||||
if (s_butmask & Button5Mask) event_mask |= Button5MotionMask;
|
||||
send_key_button_pointer_event(wid, NotifyNormal, event_mask, MotionNotify, s_keymask | s_butmask);
|
||||
send_key_button_pointer_event(wid, NotifyNormal, event_mask, MotionNotify);
|
||||
}
|
||||
|
||||
static void on_mouse_button_event(WINDOW wid, uint8_t xbutton, bool pressed)
|
||||
|
|
@ -1072,8 +1072,6 @@ static void on_mouse_button_event(WINDOW wid, uint8_t xbutton, bool pressed)
|
|||
case Button5: mask = Button5Mask; break;
|
||||
}
|
||||
|
||||
const auto state = s_keymask | s_butmask;
|
||||
|
||||
if (pressed)
|
||||
s_butmask |= mask;
|
||||
else
|
||||
|
|
@ -1083,8 +1081,7 @@ static void on_mouse_button_event(WINDOW wid, uint8_t xbutton, bool pressed)
|
|||
wid,
|
||||
xbutton,
|
||||
pressed ? ButtonPressMask : ButtonReleaseMask,
|
||||
pressed ? ButtonPress : ButtonRelease,
|
||||
state
|
||||
pressed ? ButtonPress : ButtonRelease
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1106,8 +1103,6 @@ static void on_key_event(WINDOW wid, LibGUI::EventPacket::KeyEvent::event_t even
|
|||
s_pressed_keys[byte] &= ~(1 << bit);
|
||||
}
|
||||
|
||||
const auto state = s_keymask | s_butmask;
|
||||
|
||||
s_keymask = 0;
|
||||
if (event.shift())
|
||||
s_keymask |= ShiftMask;
|
||||
|
|
@ -1122,8 +1117,7 @@ static void on_key_event(WINDOW wid, LibGUI::EventPacket::KeyEvent::event_t even
|
|||
wid,
|
||||
xkeycode,
|
||||
event.pressed() ? KeyPressMask : KeyReleaseMask,
|
||||
event.pressed() ? KeyPress : KeyRelease,
|
||||
state
|
||||
event.pressed() ? KeyPress : KeyRelease
|
||||
);
|
||||
}
|
||||
|
||||
|
|
@ -1294,20 +1288,18 @@ BAN::ErrorOr<void> handle_packet(Client& client_info, BAN::ConstByteSpan packet)
|
|||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
dprintln(" background-pixmap: {8h}", value);
|
||||
if (value == None || value == ParentRelative)
|
||||
background = LibGUI::Texture::color_invisible;
|
||||
else
|
||||
dprintln(" {8h}: {8h}", 1 << i, value);
|
||||
break;
|
||||
case 1:
|
||||
dprintln(" background-pixel: {8h}", value);
|
||||
background = value;
|
||||
break;
|
||||
case 11:
|
||||
dprintln(" event-mask: {8h}", value);
|
||||
event_mask = value;
|
||||
break;
|
||||
case 14:
|
||||
dprintln(" cursor: {8h}", value);
|
||||
cursor_id = value;
|
||||
break;
|
||||
default:
|
||||
|
|
@ -1393,7 +1385,7 @@ BAN::ErrorOr<void> handle_packet(Client& client_info, BAN::ConstByteSpan packet)
|
|||
gui_window_ptr->set_mouse_move_event_callback([wid](auto event) {
|
||||
on_mouse_move_event(wid, event.x, event.y);
|
||||
});
|
||||
gui_window_ptr->set_mouse_button_event_callback([wid](auto event) {
|
||||
gui_window_ptr->set_mouse_button_event_callback([&client_info, wid](auto event) {
|
||||
uint8_t xbutton = 0;
|
||||
switch (event.button)
|
||||
{
|
||||
|
|
@ -1437,8 +1429,8 @@ BAN::ErrorOr<void> handle_packet(Client& client_info, BAN::ConstByteSpan packet)
|
|||
auto request = decode<xChangeWindowAttributesReq>(packet).value();
|
||||
|
||||
dprintln("ChangeWindowAttributes");
|
||||
dprintln(" window: {}", request.window);
|
||||
dprintln(" valueMask: {8h}", request.valueMask);
|
||||
dprintln(" window: {}", request.window);
|
||||
dprintln(" valueMask: {8h}", request.valueMask);
|
||||
|
||||
auto& window = TRY_REF(get_window(client_info, request.window, opcode));
|
||||
|
||||
|
|
@ -1454,23 +1446,21 @@ BAN::ErrorOr<void> handle_packet(Client& client_info, BAN::ConstByteSpan packet)
|
|||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
dprintln(" background-pixmap: {8h}", value);
|
||||
if (value == None || value == ParentRelative)
|
||||
background = LibGUI::Texture::color_invisible;
|
||||
else
|
||||
dprintln(" {8h}: {8h}", 1 << i, value);
|
||||
break;
|
||||
case 1:
|
||||
dprintln(" background-pixel: {8h}", value);
|
||||
background = value;
|
||||
break;
|
||||
case 11:
|
||||
dprintln(" event-mask: {8h}", value);
|
||||
if (value != 0)
|
||||
TRY(window.event_masks.emplace_or_assign(&client_info, value));
|
||||
else
|
||||
window.event_masks.remove(&client_info);
|
||||
break;
|
||||
case 14:
|
||||
dprintln(" cursor: {8h}", value);
|
||||
cursor_id = value;
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -159,9 +159,9 @@ static constexpr uint32_t my_key_to_x_keysym(LibInput::Key key)
|
|||
case Key::Half:
|
||||
return XK_onehalf;
|
||||
case Key::OpenParenthesis:
|
||||
return '(';
|
||||
case Key::CloseParenthesis:
|
||||
return ')';
|
||||
case Key::CloseParenthesis:
|
||||
return '(';
|
||||
case Key::OpenSquareBracket:
|
||||
return '[';
|
||||
case Key::CloseSquareBracket:
|
||||
|
|
|
|||
Loading…
Reference in New Issue