1
0
mirror of https://github.com/aidygus/LinVAM.git synced 2024-11-27 02:58:06 +11:00

Merge pull request #1 from Mte90/master

Few updates
This commit is contained in:
Aidan Gustard 2019-04-21 16:03:19 +01:00 committed by GitHub
commit 592aaff01b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 138 additions and 3 deletions

131
.gitignore vendored Normal file
View File

@ -0,0 +1,131 @@
# Created by https://www.gitignore.io/api/python
# Edit at https://www.gitignore.io/?templates=python
### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
.python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that dont work, or not
# install all needed dependencies.
#Pipfile.lock
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# End of https://www.gitignore.io/api/python

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -1,7 +1,7 @@
# LinVAM # LinVAM
Linux Voice Activated Macro Linux Voice Activated Macro
## Status ## Status
This project is currently a work-in-progress and is minimally functional. This project is currently a work-in-progress and is minimally functional only for english.
Utilising Pocketsphinx, a lightweight voice to text engine you can specify voice commands for the tool to recognise and actions to perform. Utilising Pocketsphinx, a lightweight voice to text engine you can specify voice commands for the tool to recognise and actions to perform.
@ -19,15 +19,16 @@ Known bugs and planned additions
## Install ## Install
- $ pip3 install PyQt5 - $ pip3 install PyQt5
- $ pip3 install python3-xlib - $ pip3 install python3-xlib
- $ pip3 install pyaudio
- $ sudo ln -s /usr/bin/swig3.0 /usr/bin/swig
- $ pip3 install pocketsphinx - $ pip3 install pocketsphinx
- $ sudo apt-get install swig3.0 - $ sudo apt-get install swig3.0
- $ sudo ln -s /usr/bin/swig3.0 /usr/bin/swig
- $ git clone https://github.com/rose-jinyang/LinVAM.git - $ git clone https://github.com/rose-jinyang/LinVAM.git
## Usage ## Usage
This script must be run with root privilege because it must hook and simulate input devices such as keyboard, mouse etc. This script must be run with root privilege because it must hook and simulate input devices such as keyboard, mouse etc.
- $ cd LinVAM - $ cd LinVAM
- $ xhost + - $ xhost +
- $ sudo python3 ./main.py - $ sudo ./main.py
### Profiles ### Profiles
Multiple profiles are supported. To create a new profile for a specific task/game click new and the main profile editor window will be displayed Multiple profiles are supported. To create a new profile for a specific task/game click new and the main profile editor window will be displayed

3
main.py Normal file → Executable file
View File

@ -1,3 +1,4 @@
#!/usr/bin/env python3
from PyQt5.QtCore import * from PyQt5.QtCore import *
from PyQt5.QtGui import * from PyQt5.QtGui import *
from PyQt5.QtWidgets import * from PyQt5.QtWidgets import *
@ -10,6 +11,7 @@ import pickle
import time import time
import keyboard import keyboard
import threading import threading
import signal
class MainWnd(QWidget): class MainWnd(QWidget):
def __init__(self, p_parent = None): def __init__(self, p_parent = None):
@ -25,6 +27,7 @@ class MainWnd(QWidget):
self.ui.listeningChk.stateChanged.connect(self.slotListeningEnabled) self.ui.listeningChk.stateChanged.connect(self.slotListeningEnabled)
self.ui.ok.clicked.connect(self.slotOK) self.ui.ok.clicked.connect(self.slotOK)
self.ui.cancel.clicked.connect(self.slotCancel) self.ui.cancel.clicked.connect(self.slotCancel)
signal.signal(signal.SIGINT, signal.SIG_DFL)
if self.loadFromDatabase() > 0 : if self.loadFromDatabase() > 0 :
# if self.loadTestProfiles() > 0: # if self.loadTestProfiles() > 0: