Vasily
dbecf100b8
Change CircleCI to use g++-9 instead of g++-7
2019-07-04 16:44:31 +02:00
Vasily
614278d7ec
Add compiler check for g++-9 to qmake
2019-07-04 16:44:31 +02:00
Vasily
b68ce1a583
Remove clang --version from CircleCI
...
It is not guaranteed that the `clang` binary is used (`clang-8` instead,
for example) and versions are output by QMAKE anyway.
2019-07-04 16:44:31 +02:00
Vasily
8df1eb6f19
Add versioning to Linux artifacts and change CI image
...
The circleci/buildpack-deps:xenial contains python, which is needed for
the version changing script.
2019-07-04 16:44:31 +02:00
Vasily
329b4e7331
Add SVG support to AppImage, move files instead of copying
2019-07-04 16:44:31 +02:00
Vasily
0121e75947
Manually add QtQuick.Dialogs to Linux AppImage
...
https://github.com/probonopd/linuxdeployqt/issues/25
As detailed there QtQuick/Dialogs and QtQuick/LocalStorage are not
automatically packaged.
2019-07-04 16:44:31 +02:00
Vasily
ad05b29392
Add qml path to AppImage
...
This should solve problem
https://github.com/probonopd/linuxdeployqt/issues/25
with error message
QML Error:
file:///tmp/.mount_OpenVRtQNnT6/usr/bin/res/qml/common/mainwidget.qml:1:1:
module "QtQuick" is not installed
2019-07-04 16:44:31 +02:00
Vasily
c08ab71e63
Remove AppImage new glibc switch
2019-07-04 16:44:31 +02:00
Vasily
6a7e5804bf
Add CircleCI AppImage building
...
This builds on GCC for no reason in particular.
2019-07-04 16:44:31 +02:00
Vasily
201cb40359
Add variable for clang-tidy name when building on Linux
...
Travis has the correct clang-tidy version of 7, while CircleCI needs
clang-tidy-7.
2019-06-24 19:21:14 +02:00
Vasily
ec5a575d93
Add g++-8 specific version support.
2019-06-24 19:21:14 +02:00
Vasily
e8af73db28
Make CircleCI have feature parity with TravisCI and update docs
...
Unnecessary line from Bionic 18.04 was removed.
A proper version guard was included for clang. Xenial currently ships
3.8.
2019-06-24 19:21:14 +02:00
Vasily
89eb37ed15
Add clang-tidy to circleci
2019-06-24 19:21:14 +02:00
Vasily
b65657b371
Add clang passing build
...
CircleCI Xenial does not come with an up to date version of Clang. It is
therefore required to get the newest version (8). The .pri file has
quickly been edited to be similar to the g++ version check.
2019-06-24 19:21:14 +02:00
Vasily
aade86ed47
Add circleci g++ passing build
...
CircleCI does not compile with --jobs.
2019-06-24 19:21:14 +02:00
Vasily
73e1878e59
Remove X11 logging calls
2019-06-15 10:00:46 +02:00
Vasily
97009aa39a
Convert KeySym to KeyCode
...
Previously KeySyms were sent when KeyCodes should have been sent.
2019-06-15 10:00:46 +02:00
Vasily
e2f41fce37
Remove unused param for X11 input sender
2019-06-15 10:00:46 +02:00
Vasily
589b759c77
Linux Keyboard Input: Make KeySym conv explicit
2019-06-15 10:00:46 +02:00
Vasily
9703917a19
Fix bug in Linux keyboard input sender
...
Held modifiers weren't being released again.
2019-06-15 10:00:46 +02:00
Vasily
061509eff6
Add casts to logging calls
2019-06-15 10:00:46 +02:00
Vasily
f68413d651
Add logging calls to X11 key sending
2019-06-15 10:00:46 +02:00
Vasily
674a28eb96
Add general readme fixes
2019-06-14 20:58:01 +02:00
Vasily
9f0790e1d2
Update SteamVR input guide
2019-06-14 20:58:01 +02:00
Vasily
adf2f33c3c
Fix types and weirdly capitalized words in SteamVR Input Guide
2019-06-14 20:58:01 +02:00
Vasily
182b6ec6b4
Update Readme feature list
...
Some of the bullets do not make sense without context.
2019-06-14 20:58:01 +02:00
Vasily
d7deb4ae8c
Move TOC in readme above initial header
2019-06-14 20:58:01 +02:00
Vasily
a0c3b1f92a
Remove colons from TOC in readme
2019-06-14 20:58:01 +02:00
Vasily
b60f4eb254
Remove colons from some headers
2019-06-14 20:58:01 +02:00
Vasily
f3895f223e
Convert readme Table Of Contents to not use HTML tags
...
GitHub works fine with just headers and the tags are a pain to maintain.
TOC created with https://ecotrust-canada.github.io/markdown-toc/ .
2019-06-14 20:58:01 +02:00
Vasily
4118885821
Update documentation on keyboard input
2019-06-14 20:58:01 +02:00
Vasily
8e34e9edca
Update documentation for DBUS on Linux
2019-06-05 19:57:44 +02:00
Vasily
f958026453
Add DBUS support for media keys
2019-06-05 19:57:44 +02:00
Vasily
a228cf0d5b
Change .txt to .md
2019-05-25 18:49:42 +02:00
Vasily
0b16eeffa7
Add further explanation to docs on keyboard input
2019-05-25 18:49:42 +02:00
Vasily
f70e66277b
Add dereference to logging call
2019-05-25 18:49:42 +02:00
Vasily
3f8f757ead
Add error logging for keyboard input
2019-05-25 18:49:42 +02:00
Vasily
6009fcbfd0
Change keyboard_manager spec extension to .md
...
It's actually markdown, not text.
2019-05-25 18:49:42 +02:00
Vasily
c88b1db92b
Create documentation for keyboard input
2019-05-25 18:49:42 +02:00
Vasily
66d2a77cfb
Make VR->keyboard bindings appear in .ini on startup
2019-05-25 18:49:42 +02:00
Vasily
1429e833fe
Update readme for bindings->keyboard keys
2019-05-25 18:49:42 +02:00
Vasily
7d37ec9c0d
Add bindings to keyboard shortcuts
...
The default binding for keyboardOne is the default combination
for muting on Discord. This was explicitly chosen as a use case, and it
might make people not have to tangle with creating custom
keybindings in the .ini file.
2019-05-25 18:49:42 +02:00
Vasily
ef124ee225
Add dummy media_keys file
...
This allows Linux (and MacOS) to compile correctly again. The previous
behavior was an intended middle step.
2019-05-25 18:49:42 +02:00
Vasily
5f30095ec8
Readd media keys for Windows
...
This intentionally does not compile on Linux.
2019-05-25 18:49:42 +02:00
Vasily
9fe1f3dc50
Separate media keys from keyboard shortcuts
...
The media keys were only in the keyboard shortcuts file because their
implementation was the same. With Linux support incoming their
implementations are not necessarily the same.
2019-05-25 18:49:42 +02:00
Vasily
55a3830787
Fix keyboard input implementation error and replace old system
2019-05-25 18:49:42 +02:00
Vasily
d48f74b314
Fix clang-tidy errors
2019-05-25 18:49:42 +02:00
Vasily
1cd259bf9b
Add inline to sendStringAsInput
...
Definition in function header led to linker errors.
2019-05-25 18:49:42 +02:00
Vasily
2d8f5a1b40
Add Enter button to spec and keyboard_input
...
It was mistakenly left out.
2019-05-25 18:49:42 +02:00
Vasily
eb25656eeb
Fix typo in keyboard_input function name
2019-05-25 18:49:42 +02:00
Vasily
6a3a58361d
Add Linux keyboard_input support
2019-05-25 18:49:42 +02:00
Vasily
9fa42842cd
Add top level stringToInput sender in header
...
This is the same for all platforms, so thers' no reason to duplicate it
in platform specific sections.
2019-05-25 18:49:42 +02:00
Vasily
0c7c339e3e
Add sending inputs for keyboard_input on Windows
2019-05-25 18:49:42 +02:00
Vasily
6290221853
Remove AltGr support from keyboard input
...
Was removed in spec for being Alt + Ctrl.
2019-05-25 18:49:42 +02:00
Vasily
3173c4999c
Remove AltGr button from keyboard input spec
...
AltGr is just implemented as Alt + Ctrl. This means it's unnecessary and
is only going to complicate the spec.
2019-05-25 18:49:42 +02:00
Vasily
b4cf5d3cb7
Add removing duplicate tokens to input_parser
2019-05-25 18:49:42 +02:00
Vasily
bc060bec96
Add removing extra new-sequence tokens
2019-05-25 18:49:42 +02:00
Vasily
2c0f49d8d6
Add noexcept specifiers to keyboard_input functions
2019-05-25 18:49:42 +02:00
Vasily
f72e1b2541
Add capital literal parsing and tests
2019-05-25 18:49:42 +02:00
Vasily
d5cb19cea1
Add tests for capital literals
2019-05-25 18:49:42 +02:00
Vasily
ef0e679344
Add support for space token to keyboard_input
2019-05-25 18:49:42 +02:00
Vasily
e40058e58a
Fix keyboard_input SEGFAULT
2019-05-25 18:49:42 +02:00
Vasily
d6c7b52a47
Add initial keyboard_input parser and tests
...
The current implementation SEGFAULTs when F characters are followed by
end of string.
2019-05-25 18:49:42 +02:00
Vasily
49b16ebc8f
Remove F10, F11 and F12 function keys from keyboard spec
...
There is no way to tell if they are meant to be one or two keys and in
this case simplicity of use wins out.
2019-05-25 18:49:42 +02:00
Vasily
d2127e53aa
Add specification for keyboard input parser
2019-05-25 18:49:42 +02:00
Vasily
bf5ccd69ca
Update Linux build docs for Ubuntu 19.04
2019-04-22 09:56:50 +02:00
Vasily
f6c2bab116
Add Linux build docs describing qtchooser for official installer
...
The official installer does not add itself to qtchooser.
2019-04-22 09:56:50 +02:00
Vasily
dafc977bbe
Add Linux sendKeyboardInput
...
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.
2019-04-22 09:56:50 +02:00
Vasily
4ec1fbf201
Add noX11 flag to Linux compilations
...
This allows users that are not using X11 to still compile the
application.
2019-04-22 09:56:50 +02:00
Vasily
d0a2e15dbf
Remove run-with-library.sh file from Linux builds
...
No longer necessary after adding '-Wl,-rpath,\'\$$ORIGIN\''.
2019-04-22 09:56:50 +02:00
Vasily
b60113fb8e
Replace GCC version regex with simpler solution
2019-04-22 09:56:50 +02:00
Vasily
9cfaf68a92
Update GCC compiler to not use hardcoded g++-7
...
Newer versions of Ubuntu ship with >g++-7, so there will be less of a
need as time goes on to perform this hack.
2019-04-22 09:56:50 +02:00
Vasily
d139c34a67
Give clang/gcc explicit path to third-party libs
...
Qt Creator on Linux does not recognize the previous solution. Adding the
$$PWD makes the IDE work.
2019-04-22 09:56:50 +02:00
Vasily
bdf66a658b
Make Linux look in current folder for OpenVR lib
2019-04-22 09:56:50 +02:00
Vasily
381fe3aee3
Add Ctrl+C/Ctrl+V keybinds to X11 version
2019-04-22 09:56:50 +02:00
Vasily
1536059a4b
Replace X11 enter key
...
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.
2019-04-22 09:56:50 +02:00
Vasily
30ef80d19c
Update X11 package on Travis, clarify qt build specs
...
macx is also unix, apparently meaning it's necessary to distinguish
between the two.
2019-04-22 09:56:50 +02:00
Vasily
86ec4975fc
Add Linux impl of some keyboard inputs
2019-04-22 09:56:50 +02:00
Vasily
860eca1956
Add compiling on Ubuntu for X11 funcs
2019-04-22 09:56:50 +02:00
Vasily
7a3737e0de
Initial X11 groundwork
2019-04-22 09:56:50 +02:00
Vasily
78d715ed4c
Update documentation for version strings
2019-04-20 09:52:18 +02:00
Vasily
b4e7b4cc8d
Change version hash suffix to be first 8 characters
...
Github shows the first 8 instead of the last 8, this will make
comparison easier.
2019-04-20 09:12:56 +02:00
Vasily
7bf53cf081
Add more documentation on version strings
2019-04-20 08:57:36 +02:00
Vasily
13b3ba7a56
Update docs on version numbers for new system
2019-04-19 22:30:04 +02:00
Vasily
0e8e26d553
Change version name to 3.1.0-dev
...
The previous -new appendix was just to make sure the old name wasn't
being used instead.
2019-04-19 22:30:04 +02:00
Vasily
4450b9b38a
Add version number to Windows exe file description
...
The "real" version number doesn't accept non-integers. This should make
debugging easier.
2019-04-19 22:30:04 +02:00
Vasily
bb1d3e16fb
Convert executable icon to new method
...
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.
2019-04-19 22:30:04 +02:00
Vasily
164158330e
Convert C++ version string to be define instead of include
...
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.
2019-04-19 22:30:04 +02:00
Vasily
9bebfe3067
Add build directory to .gitignore
...
The Linux build process creates this directory and uses it. It should
not be committed.
2019-04-19 22:29:21 +02:00
Vasily
5c4e8a3486
Make version append script respect release builds
...
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.
2019-04-19 22:29:21 +02:00
Vasily
c36dd70f60
Change build metadata separator from - to +
...
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.`
2019-04-19 22:29:21 +02:00
Vasily
5eea5d7e93
Make AppVeyor only use last 8 digits of hash
2019-04-19 22:29:21 +02:00
Vasily
0ec39f7714
Add double quotes around new version string
2019-04-19 22:29:21 +02:00
Vasily
3d13c68303
Move AppVeyor version string script to build section
...
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
2019-04-19 22:29:21 +02:00
Vasily
72a319bc1e
Make Python replace version file responsible for file writes
...
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.
2019-04-19 22:29:21 +02:00
Vasily
4e781fa74a
Make append version file more cross platform
2019-04-19 22:29:21 +02:00
Vasily
af98c357fc
Add version number to start of build script
2019-04-19 22:29:20 +02:00
Vasily
9303d93f27
Make appveyor able to inject git commit into version
2019-04-19 22:29:20 +02:00
Vasily
a74f0cad49
Make NSIS and Win build scripts remove " character
...
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.
2019-04-19 22:29:20 +02:00
Vasily
6cf009e915
Convert C++ code to read version string from file
...
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.
2019-04-19 22:29:20 +02:00