This implementation has several problems.
1) It only really deals with Latin1 characters. This is the same as the
Windows implementatino.
2) It doesn't handle modifier keys at all. This is also a problem with
the Win implementation.
This is an interim solution until a unified strategy can be made for
both Windows/Linux.
Tester @Goofybud on Debian reported that the enter button did not work.
There are apparently 4 different enter buttons in X11:
XK_Linefeed
XK_Return
XK_KP_Enter
XK_ISO_Enter
I am attempting XK_Return because it seems like the most obvious next
attempt.
AppVeyor automatically updated to LLVM 8 while everything else was on 7.
It is not possible to downgrade to LLVM 7 on AppVeyor, so we'll update
everything else to LLVM 8.
* Add checks for seated improve shutdown state
Seated mode chaperone update is still broken. Normal standing mode space motion needs testing on WMR and Rift
* Fix updating chaperone on room setup completion
* Implement seated universe recenter/offsets/motion
Addresses #145
* Add Option "Allow External App Chaperone Edits"
This option is added to the settings tab. It allows external apps to modify the chaperone but only if the current offset is 0,0,0 and rotation is 0. The option is disabled by default.
* Test removal of HideWorkingSetPreview for issue #133
* Update WorkingSetPreview on apply reset data for issue #133
* fixed bug to apply floor fix offsets properly
* updated version to 3.0.1
* format
* Prevent space offsets effect on fix floor measurement
* Reorder chaperone commit timing on reset
This is an attempt to smooth apparent ~0.1sec lag on first movement after using a reset.
* Fix space fix tab (todo: reimplement undo button)
* Improve reset function and velocity timing
* fixed PTT checkbox error
* Rewrite of chaperone adjust. Make drift impossible
* Formatting
* fixed mic mute on exit
* format
* Clean up interactions with new chaperone adjust
* Remove commented code
* Implement height toggle action and ui
Them being in the overlay controller required them to be static, which
forces the compiler to give them a memory location at compile time. They
also don't really fit into the overlaycontroller.
The old version waited for a set amount of time (2 seconds) before
checking and then exiting. The new logic checks every second for up to 7
seconds. This should deal with variances in startup time across
machines. On my machine the desktop overlay seems to be initialized
after 2-3 seconds.
The 2 seconds is arbitrarily chosen. The problem seems to be that
Valve's own overlays are not being initialized before custom overlays,
leading to the Desktop overlay sometimes not being present when our
overlay initializes.
The second if statement inside the first one checking a second time is
definitely a little disgusting, but for now it gets the job done.
The 4.0 default was arbitrarily chosen by whoever decided to initialize
the variable in the class.