Commit Graph
100 Commits
Author SHA1 Message Date
Vasily 46c8a62565 Make Qmake copy package files instead of OS scripts
Described in commit 97e203fd89e7cb54c7ce96ce779b2e8cb6ac1374

The linux directory in package_files is included even on Windows install
for simplicity and because it takes up less than 1KB.
2019-07-24 10:54:55 +02:00
Vasily 6e088a6ec8 Make Qmake copy licenses instead of OS scripts
Described in commit 97e203fd89e7cb54c7ce96ce779b2e8cb6ac1374

Linux was not including any license files by mistake.
2019-07-24 10:54:55 +02:00
Vasily 9fc22ccbb4 Make Qmake copy Readme instead of OS scripts
Described in commit 97e203fd89e7cb54c7ce96ce779b2e8cb6ac1374
2019-07-24 10:54:55 +02:00
Vasily cbac2f9539 Make Qmake copy res directory instead of OS scripts
Since Qt 5.6 Qmake has supported the (undocumented) file_copies
function.

Moving to an OS independent version is superior for obvious
reasons.

Use in
https://stackoverflow.com/questions/3984104/qmake-how-to-copy-a-file-to-the-output/54162789#54162789

Uses the same interface as the INSTALLS function described here
https://doc.qt.io/qt-5/qmake-advanced-usage.html#installing-files

Implemented in the file_copies.prf file found here
https://code.qt.io/cgit/qt/qtbase.git/log/mkspecs/features/file_copies.prf
2019-07-24 10:54:55 +02:00
Vasily 6e710a75b3 Add docstrings for new Windows build functions 2019-07-24 10:54:55 +02:00
Vasily 7509b8beee Update documentation for building on windows 2019-07-24 10:54:55 +02:00
Vasily 112e611709 Make Windows build script traverse paths for Qt Location
The environment variable still has precedence, and will be used before
all other versions if it exists.
2019-07-24 10:54:55 +02:00
Vasily 275d0813b5 Make whitespace updates to windows build files 2019-07-24 10:54:55 +02:00
Vasily ecfbb6f0ff Remove StatisticsTabController initStage1 function
Function was a noop.
2019-07-20 21:24:03 +02:00
Vasily b6001235f0 Remove FixFloorTabController initStage1 function
The function was a noop.
2019-07-20 21:24:03 +02:00
Vasily 1975192bb1 Remove widget pointer from MoveCenterTabController
The pointer is not needed and is an anti pattern.
2019-07-20 21:24:03 +02:00
Vasily 0c6ed9a68d Remove widget and parent pointers from UtilitiesTabController
The pointers are not needed and are an anti pattern.
2019-07-20 21:24:03 +02:00
Vasily 27b148ae12 Remove widget pointer from ReviveTabController
The pointer is not needed and is an anti pattern.
2019-07-20 21:24:03 +02:00
Vasily 66fd6e6470 Remove widget pointer from SettingsTabController
The pointer is not needed and is an anti pattern.
2019-07-20 21:24:03 +02:00
Vasily 7728744cdd Remove widget pointer from StatisticsTabController
The pointer is not needed and is an anti pattern.
2019-07-20 21:24:03 +02:00
Vasily 7a6c8b662d Remove widget and parent pointer from AudioTabController
The pointers are not needed and are an anti pattern.
2019-07-20 21:24:03 +02:00
Vasily 5f35a11381 Remove widget pointer from FixFloorTabController
The pointer is not needed and is an anti pattern.
2019-07-20 21:24:03 +02:00
Vasily 6a3e22bdd6 Remove widget pointer from ChaperoneTabController
The pointer is not needed and is an anti pattern.
2019-07-20 21:24:03 +02:00
Vasily 5605b9b104 Remove widget pointer from SteamVRTabController
The pointer is not needed and is an anti pattern.
2019-07-20 21:24:03 +02:00
Vasily e712f4aa1f Reduce update rate of chaperone velocity modifiers
Having the application call Sync() every frame led to slowdowns on some
4 core CPUs and instant crashes on some older CPUs.

This makes the chaperone velocity modifier only update on every 101st
frame. This might not be the ideal framerate, but having it update every
frame makes the app crash on start for some users.

On Manjaro with a i7-6700K (4 cores) this led to instant crashes of
SteamVR+Steam+OVRAS, with a SEGFAULT in SteamVR.
Issue here:
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/252
2019-07-19 12:22:56 +02:00
username223 9b3fef2310 Add bug report/feature request issue templates
Having to wait for OPs to respond with details that should have been in the original issue is getting a little annoying.

This will reduce the amount of freeform writing required by people to produce a usable feature request/bug report.
2019-07-18 18:39:19 +02:00
Vasily 872a4a9ed8 Update version string to 3.2.0-dev 2019-07-04 20:26:24 +02:00
Vasily e70f66b2cb Make python version script remove newlines from version string
Previously newlines would remain and foul up the other build tools.
2019-07-04 18:25:44 +02:00
Vasily 696ddfdea4 Fix bug in python version script that lead to error 2019-07-04 17:44:07 +02:00
Vasily c9a85f45f6 Update version string to 3.2.0-release 2019-07-04 17:44:07 +02:00
Vasily 64ee6639ed Update version string to 3.2.0-RC2 2019-07-04 17:44:07 +02:00
Vasily 885c0b2004 Clean up CircleCI config 2019-07-04 16:44:31 +02:00
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