Commit graph

29 commits

Author SHA1 Message Date
Jonathan Marler
337b6ce626 win32 gui: rework startup/hwnd sync 2025-01-07 22:02:16 +01:00
Jonathan Marler
ff7bdeef6b win32 gui: render unicode replacement_char on invalid chars 2025-01-07 19:02:33 +01:00
0c7f19b5dd feat: support matching of shifted keybindings
This allows us to bind things like alt+F and ctrl+?. Binding
with and explicit shift modifier is still allowed, such as alt+shift+f.
2025-01-07 14:53:34 +01:00
689b2ca410 feat(win32 gui): send both shifted and un-shifted input keycodes/codepoints
Also, send input text only for non-modified events.
2025-01-07 14:53:34 +01:00
Jonathan Marler
d90d82a4b7 win32 gui: remove bespoke/incorrect key translation
I played around with the API a bit and I tried out the other approach
where instead of trying to implement our own keyboard translation, instead
I just clear the "control key" before calling ToUnicode.  This fixes any
weird translation the OS was doing.

With this change, we no longer need to skip calling ToUnicode if the
control or alt keys are down, so keys will always work the same way whether
or not these modifiers are down.
2025-01-07 14:53:34 +01:00
4c73948068
feat(win32 gui): send terminal background updates to gui 2025-01-07 10:31:17 +01:00
Jonathan Marler
c7d6bd6805 win32 gui: unbreak window icon
woops, accidently broke the window icon by moving the code that loads
it after calling RegisterClass, here's the fix
2025-01-06 20:27:56 +01:00
cd2aba6a74
fix(win32 gui): don't panic on bad unicode result and reduce info logging 2025-01-06 17:03:02 +01:00
93d6ee2626
fix(win32 gui): set window title after gui window is created 2025-01-06 16:49:57 +01:00
e4fef98fcd
fix(win32 gui): add mapping for left_super 2025-01-06 16:00:17 +01:00
a6b29e4fe9
feat(win32 gui): issue quit command on window close and exit cleanly 2025-01-06 10:56:36 +01:00
Jonathan Marler
21a7106fe3 win32 gui: mouse drag
initial implementation for left mouse drag
2025-01-06 08:35:16 +01:00
Jonathan Marler
592e812bf4 win32 gui: implement window placement and higher DPI icons 2025-01-06 07:42:18 +01:00
Jonathan Marler
2af5cc9774 win32 gui: don't center text 2025-01-06 07:40:58 +01:00
Jonathan Marler
67613c5bc4 win32 gui: decide on aligning cells to pixel boundary 2025-01-06 07:40:58 +01:00
Jonathan Marler
456ec8535b win32 gui: fix some issues with cell sizing/alignment 2025-01-06 07:40:58 +01:00
Jonathan Marler
f2a9cb0d6a win32 gui: performance fix, don't call DrawText for space characters 2025-01-05 22:11:58 +01:00
Jonathan Marler
ff04602d1c win32: fix backspace 2025-01-05 20:32:37 +01:00
Jonathan Marler
d3159bf334 win32: fix keyboard issues
closes #114
closes #113
closes #108

Co-authored-by: CJ van den Berg <cj@vdbonline.com>
2025-01-05 20:05:15 +01:00
9d9372bfe0 fix(win32 gui): send initial resize event on window creation
closes #115
2025-01-05 15:17:25 +01:00
6257c9d721 feat(win32 gui): add indexed color support 2025-01-04 22:42:15 +01:00
Jonathan Marler
5bc3cd6a6d win32 gui: implement set_terminal_title 2025-01-04 13:13:13 -07:00
Jonathan Marler
38f7cbcaab win32 gui: key translation fixes 2025-01-04 12:01:41 -07:00
Jonathan Marler
67ca29f2c8 win32 gui: handle DPI changes 2025-01-04 11:02:42 -07:00
9be68a2206
fix(win32): translate win32 virtual key codes 2025-01-04 18:01:04 +01:00
3d0bc59b0c
fix(win32): cell size calculation and don't recalculate as often 2025-01-04 17:37:52 +01:00
68d2c4d053
feat(win32): add mouse wheel support 2025-01-04 17:20:52 +01:00
33e36c080d
fix: win32 renderer event tag 2025-01-04 15:27:05 +01:00
Jonathan Marler
1a595871dd
win32 standalone gui 2025-01-04 15:18:49 +01:00