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.
Manually creating an RC file was the Qt 4 way. The Qt 5 way is just
giving it an icon.
When an RC_FILE isn't manually created Qt will attempt to create one. If
there are non-integers in the version number the compilation will crash.
AdvancedSettings_resource.rc is a build artifact on Windows.
This allows Qmake to use the version number as well as not requiring all
other uses of the version string to strip double quotes from it. This
also reduces the fragility of the version string as it was required to
be a valid C++ char*, even in contexts where that wouldn't matter.
Users do not care about commit numbers and it only serves to confuse
them. Release builds should not contain build metadata since there
should only be one definitive version.
SemVer 2.0.0 requires a plus for build metadata.
https://semver.org/
`Build metadata MAY be denoted by appending a plus sign and a series of
dot separated identifiers immediately following the patch or pre-release
version. Identifiers MUST comprise only ASCII alphanumerics and hyphen
[0-9A-Za-z-]. Identifiers MUST NOT be empty. Build metadata SHOULD be
ignored when determining version precedence. Thus two versions that
differ only in the build metadata, have the same precedence. Examples:
1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85.`
It does not work in the init section for some reason, with python giving
python .\\build_scripts\\append_to_version_file.py
%APPVEYOR_REPO_COMMIT%
python: can't open file '.\\build_scripts\\append_to_version_file.py':
[Errno 2] No such file or directory
While the initial idea of having cmd/PS/bash actually write the changes
to file, the integration with the AppVeyor YAML just made it really
frustrating.
It is not strictly necessary in the Python version because it's being
appended to a batch command, but in order to have things make sense if
the mechanism of dispatching commands changes the program will strip
double quotes.
This is definitely not a pretty thing. Double quotes are required around
the string which means they'll need to be removed in the NSIS and Python
scripts.
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.
On Ubuntu 16.04 and 18.04 it is not possible to get Qt 5.12 from the
official repo. You will need to get it from
https://launchpad.net/~beineri/+archive/ubuntu/opt-qt-5.12.2-bionic
which places the files in /opt. This leads qmake to including the files
as non system headers, which makes them spam errors. Adding them as
-isystem headers first prevents this.
The implementation is simple 3D vector scaling and addition. The
HmdMatrix34_t consists of a 3x3 rotation matrix and a 3D vector for
position.
The overlay position is only updated whenever a new overlay is changed
because we need the old overlay position in order to modify it. The
openvr call to get the position is only updated whenever you open the
menu.
A new page was created due to lack of space on the utilities page.
The `QMessageLogContext` is only filled out in debug builds. Release
builds will have null pointers in `file` and `line`. This causes any
error attempted to be logged to result in a null pointer dereference.
Since we never use debug builds anyway, simply removing the uses of
`file` and `line` makes sense.
Github issue
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/139
* Fix indentation in action manifest
* Rename action sets to drop unnecessary prefix notation
Since the variable is in the action_sets namespace it does not make
sense to prepend it with an identifier for it being constant, or a set.
* Rename input keys to drop prefix notation
The vars are in a namespace that only contains constant inputs, it
doesn't make sense to prepend it to every var.
* Rename actions to drop prefixes
It is implicit that actions are const values for sets, therefore the
prefix is not needed.
* Remove unneeded action set member func
* Move active action set in preparation for more action sets
* Move action strings above class
Class is not able to use variables in namespaces, which is stupid.
* Move sets into member variable
* Split music into separate action set
* Convert action_manifest.json to spaces only
* Refactor actions into separate action sets
* Rename main set to haptic
* Reorder action sets
The haptics and misc sets are misc bindings.
* format
* fixed manifest path issue
* Change path concat to use QDir
The old way was not platform independent.
* Move accessibility actions to motion set
* Remove "(Held)" from action name
Might be confusing for end users.
* Replace slash with platform independent separator
* Make paths output native paths
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.