Quantum
8c3a2d01bc
[idd] helper/PipeClient: use event and async I/O to interrupt read
...
An event, `m_signal`, is created and signalled when either `m_running` or
`m_connected` is changed by another thread, so that the pipe thread knows
to interrupt the read.
The pipe is now opened as async to allow interruption, and the I/O
operations now use overlapped I/O.
Other changes include:
* Changing `m_pipe` to `HandleT<HANDLETraits>` since `CreateFile` returns
`INVALID_HANDLE_VALUE` instead of `NULL` on error.
* Remove the call to `WaitNamedPipeA` because it's useless and returns
immediately without waiting if the pipe doesn't exist.
2025-09-14 17:17:21 +10:00
Quantum
eff8555f9b
[idd] helper: wait on parent process directly
2025-09-14 17:16:23 +10:00
Quantum
c873aa4c4e
[idd] helper: use separate log for child process
2025-09-14 17:16:23 +10:00
Quantum
5c1d604a22
[idd] helper: correctly pump message and destroy window
2025-09-14 17:16:23 +10:00
Quantum
67e1574d20
[idd] helper: add notification icon
2025-09-14 09:49:39 +10:00
Quantum
94550e09b4
[idd] helper: use CWindow helper to avoid global state
2025-09-14 09:49:39 +10:00
Quantum
9d48e70983
[idd] helper: switch to fully Unicode to avoid encoding issues
2025-09-14 09:49:39 +10:00
Quantum
4ff5ce02d7
[idd] helper: add icon to resource
2025-09-14 09:49:39 +10:00
Quantum
ff8650829c
[idd] install: create NSIS installer script
2025-09-13 00:32:00 +10:00
Quantum
6e00dedc2b
[idd] helper: enable per-monitor DPI awareness
2025-09-11 18:45:43 +10:00
Quantum
e816847fb1
[idd] all: use UTF-8 source code
2025-09-11 17:00:35 +10:00
Geoffrey McRae
0feaa716c5
[idd] helper: implement enable/disable priv
...
Implements `EnablePriv` and `DisablePriv` so the helper can now
interact with the desktop. Fixes issues with setting cursor position
2025-09-07 13:07:15 +00:00
Geoffrey McRae
7afb9b93eb
[idd] driver: improve display mode support and resolution switch
2025-03-29 22:42:49 +00:00
Geoffrey McRae
db1dda00c8
[idd] all: update to sdk 10.0.26100 and iddcx 1.10
2025-03-29 22:42:48 +00:00
Geoffrey McRae
91e8440c9d
[idd] vs: remove dynamically generated VersionInfo.h from the repo
2025-03-28 14:13:34 +00:00
Geoffrey McRae
6a4edfc6b6
[idd] helper: added new helper service
...
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Waiting to run
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Waiting to run
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Waiting to run
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Waiting to run
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Waiting to run
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Waiting to run
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Waiting to run
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Waiting to run
build / module (push) Waiting to run
build / host-linux (push) Waiting to run
build / host-windows-cross (push) Waiting to run
build / host-windows-native (push) Waiting to run
build / obs (clang) (push) Waiting to run
build / obs (gcc) (push) Waiting to run
build / docs (push) Waiting to run
As the IDD itself runs in a WUMDF sandbox, it doesn't have enough
access to perform interactive operations such as moving the cursor.
This helper service communicates with the IDD over a named pipe,
so that we can perform these things, as well as in the future provide
a configuration GUI.
2025-03-28 12:05:02 +00:00