Commit Graph
100 Commits
Author SHA1 Message Date
Róbert Kiss 0b69d01a0d style: add missing semicolon (#526)
* fix(updater): check updater error is exists or not

* set default error message

* style: add missing semicolon

* style: add missing semicolon
2017-12-22 21:38:44 +01:00
Róbert Kiss 500ccc296b fix(device): use tmp path to run setup-rules.sh (#523) 2017-12-22 19:58:54 +01:00
Róbert Kiss 8bb9f7f839 fix(updater): handle undefined error when updater not provide error content (#524)
* fix(updater): check updater error is exists or not

* set default error message
2017-12-22 19:50:31 +01:00
Róbert Kiss c11658f1fc fix(device): check privilege on Linux (#519)
* fix(device): check privilege on Linux

* device connected if also have permission

* fix rules sh path

* refactor permission detection

* fic hasPermission condition

* fix return value
2017-12-21 20:33:40 +01:00
Róbert Kiss b32c93f0f8 feat(agent): automatically write user configuration after app started (#516)
* auto write userconfig

* fix load success action

* exit from app

* add electron:auto-write-config script
2017-12-14 23:36:43 +01:00
Róbert Kiss 711d3c0690 add electron:auto-write-config script 2017-12-14 23:22:13 +01:00
Róbert Kiss 42b4465230 exit from app 2017-12-14 23:19:34 +01:00
Róbert Kiss 2bf7d545a2 fix load success action 2017-12-14 22:50:24 +01:00
Róbert Kiss d09c46af42 Merge branch 'master' into auto-write-config 2017-12-14 22:01:12 +01:00
Róbert Kiss d57ba81d10 auto write userconfig 2017-12-14 21:59:44 +01:00
Róbert Kiss 40b72e8903 feat(scripts): Add write-userconfig (#511) 2017-12-09 20:37:14 +01:00
Róbert Kiss 2d416e7668 fix(device): use module import in uhk-usb (#509)
* fix(device): use module import in uhk-usb

* fix getTransferBuffers import
2017-12-09 18:02:39 +01:00
Róbert Kiss 3de9181687 feat(device): Ensure serial the device communication (#508) 2017-12-09 16:11:03 +01:00
Róbert Kiss 19d7b8ebfe chore(release): 1.4.1 2017-12-05 22:29:02 +01:00
Róbert Kiss 75ab0e2977 test(user-config): fix unit tests (#506) 2017-12-05 22:27:27 +01:00
Róbert Kiss 777832068d chore(release): 1.4.0 2017-12-05 21:02:27 +01:00
Róbert Kiss 58b1b9b1dc fix(device): fix IpcRenderer empty data messages (#503)
* fix(device): fix IpcRenderer empty data messages

If IpcRenderer send null / undefined data as argument then IpcMain parse
it as empty array and not a NULL object

* fix else line break
2017-12-02 22:40:54 +01:00
Róbert Kiss 95d1d7f8b5 chore: Upgrade node => 5.9.1 and npm => 5.6.0 (#502)
The npm upgrade maybe solve the cross-platform package-lock.json problem.
2017-12-02 13:31:34 +01:00
Róbert Kiss 13f2b65a7c fix(rendered): Double scrollbar 2017-11-30 00:09:03 +01:00
Róbert Kiss 297fd3be79 feat(device): flash device firmware from Agent (#499)
* add dataModelVersion, usbProtocolVersion, slaveProtocolVersion

* read the package.json at appstart

* flash firmware

* update firmware

* fix extra resource path

* fix import modules

* update lock files

* fix imports

* terminal window

* exclude tmp folder from git repo

* ok button

* auto scroll in xterm

* fix maxTry count calculation

* optimize logging

* optimize timeout

* readSync

* Add extra delay

* fix async call

* fix error message in log

* fix ok button disable state

* retry

* list devices

* close device after reenumeration

* retry snooze

* kboot maxtry 10

* retry 100

* remove deprecated toPayload ngrx helper

* flash firmware with custom file

* fix tslint
2017-11-27 22:12:43 +01:00
Róbert Kiss 62c5e9d88a fix(keymap): Handle more than 35 same keymap abbreviation (#497) 2017-11-12 15:29:30 +01:00
Róbert Kiss 9e69098ad2 fix(keymap): Secondary role show 'None' value if not set (#496)
* fix(keymaps): Secondary role show 'None' value if not set

* style: move else in the same line with the close if }
2017-11-12 15:11:01 +01:00
Róbert Kiss e61f6ef106 chore(release): 1.3.7 2017-11-07 23:26:06 +01:00
Róbert Kiss 30890fca0d ci: install yarn on travis osx 2017-11-07 23:25:40 +01:00
Róbert Kiss 555688f7d4 Revert "ci: try to build ARM7"
This reverts commit e842bae
2017-11-07 21:47:52 +01:00
Róbert Kiss d80de77b2f chore(release): 1.3.6 2017-11-07 21:28:20 +01:00
Róbert Kiss e842baefa8 ci: try to build ARM7 2017-11-07 21:26:35 +01:00
Róbert Kiss 8703664118 chore(release): 1.3.5 2017-11-07 18:26:43 +01:00
Róbert Kiss 89b45de11a chore(release): 1.3.4 2017-11-06 23:25:19 +01:00
Róbert Kiss 40eb2ca9a2 ci: install electron-builder only when releasing 2017-11-06 23:24:27 +01:00
Róbert Kiss b7cca0a082 chore(release): 1.3.3 2017-11-05 13:35:42 +01:00
Róbert Kiss e8f755af70 ci: use the same build dependencies than node-hid (#492) 2017-11-05 12:52:35 +01:00
Róbert Kiss e7d6913984 chore(release): 1.3.2 2017-11-04 23:42:41 +01:00
Róbert Kiss 8e0ab4f71c ci: Add g++-multilib to travis (#491) 2017-11-04 23:38:28 +01:00
Róbert Kiss 3313fad9e6 chore(release): 1.3.1 2017-11-04 17:40:33 +01:00
Róbert Kiss d9417eaa89 fix(config): Remove userConfigurationLength from json serialization (#490) 2017-11-04 17:38:04 +01:00
Róbert Kiss 78e27c3688 build: user-config-json-to-bin.ts runnable from other directory (#489)
* new setup

* make run able ts file from other directory

* do not build project
2017-11-04 17:26:34 +01:00
Róbert Kiss 8660a9ae50 chore(release): 1.3.0 2017-11-04 11:14:39 +01:00
Róbert Kiss ec4505cead chore: mark package as private 2017-11-04 11:14:30 +01:00
Róbert Kiss 47b589b3d8 build: stop travis if any script failed 2017-11-04 11:14:04 +01:00
Róbert Kiss ea700852bc fix(config): Add userConfigurationLength to the user-config.json 2017-11-02 23:58:47 +01:00
Róbert Kiss 217d78a85f chore: add lint precommit hook (#488) 2017-11-02 23:29:48 +01:00
Róbert Kiss f6ea327813 build(usb): run chmod u+x after build (#487) 2017-11-02 23:20:53 +01:00
Róbert Kiss 0c30eccaca feat(device): Read only filled user configuration and fix app close on mac (#486)
* feat(device): Save user configuration length

* feat(device): Read only filled user configuration from EEPROM

* fix(agent): Close device connections and quit from app on Mac
2017-11-02 23:06:53 +01:00
Róbert Kiss fe6cd68c55 build: upgrade nodejs => 8.9.0 (#485)
* build: upgrade nodejs => 8.9.0

* ci: remove npm upgrade from CI files
2017-11-02 21:22:43 +01:00
Róbert Kiss e394f8483e build: Add watch script to usb module 2017-11-02 20:20:14 +01:00
Róbert Kiss 009dd8e963 fix(usb): user-config-json-to-bin compile 2017-11-02 19:56:21 +01:00
Róbert Kiss 5318b2a2e1 chore(release): 1.2.4 2017-10-30 20:36:07 +01:00
Róbert Kiss 1f634f98f3 fix(usb): remove extra first 0 from USB transfer data 2017-10-30 20:35:41 +01:00
Róbert Kiss eac9341c99 chore(release): 1.2.3 2017-10-29 09:45:15 +01:00
Róbert Kiss d876203d27 ci: remove appveyor x64 platform entry 2017-10-29 09:45:08 +01:00
Róbert Kiss 2d1fcded0f chore(release): 1.2.2 2017-10-29 09:33:50 +01:00
Róbert Kiss 48567d420b build: fix node-hid version number in deploy package.json 2017-10-29 09:33:33 +01:00
Róbert Kiss 90ab458d5f chore(release): 1.2.1 2017-10-29 09:30:13 +01:00
Róbert Kiss b3475992b1 Merge branch 'master' of https://github.com/UltimateHackingKeyboard/agent 2017-10-29 09:25:11 +01:00
Róbert Kiss 3f2ded819e chore(release): 1.2.0 (#481) 2017-10-29 00:59:55 +02:00
Róbert Kiss 115544c62c chore(release): 1.2.0 2017-10-29 00:53:30 +02:00
Róbert Kiss 053352467d build: platform specific builds (#480)
* build: upgrade electron-builder and updater

* build: pack or publish managed by ENV

* fix typo

* ci: appveyor y64 build

* style: fix indent in release.js

* build: upgrade package version

* build: upgrade node-hid => 0.5.7

* build: upgrade node-hid => 0.5.7

* build: setup new release script

* build: setup new release script
2017-10-29 00:52:09 +02:00
Róbert Kiss cdc4a169de feat(config): Add deviceName to the user config (#474)
* add device name to configuration

* feat(config): Rename user configuration

* style: fix tslint error

* test: Fix unit tests

* test: Add UserConfiguration device name test

* set device name if faild the user-config read from device

* feat(device): Remove the first 0 from USB[W] dump
2017-10-28 20:16:59 +02:00
Róbert Kiss 9885439b10 feat(ui): macro ui improvement (#473)
* Remove the "Input the text you want to type with this macro action." sentence from the type text macro action.

* Move pointer and Scroll enhancement

* remove the extra vertical space above the mouse buttons

* macro delay enhancement

* not allow user select on a few elements

* fill the macro, keymap name the all space in the header
2017-10-28 16:54:08 +02:00
Róbert Kiss bd49e26978 build: upgrade node to 8.8.1 (#471)
* build: upgrade to nodejs 8.8.1 and npm 5.5.1

* ci: upgrade the npm to the latest version in ci files

* build: remove duplication from clean script
2017-10-27 00:44:55 +02:00
Róbert Kiss 2f459a88c6 feat(agent): remove routing animation from keymaps (#468)
* feat(agent): remove routing animation from keymaps

* fix(agent): stylelint warning

* fix(web): Align center the keyboard in init state
2017-10-26 23:49:30 +02:00
Róbert Kiss 6c6e2af047 refactor: Change name of actions (#470)
* style: shorter import in key-macro-action.ts

* refactor: rename 'press' macro key action to 'tap'

* refactor: rename 'hold' macro key action to 'press'

* refactor: rename 'press' macro mouse action to 'click'

* style: fix stylelint
2017-10-26 23:25:19 +02:00
Róbert Kiss 277e3d2ded build: upgrade node to 8.7.0 (#469) 2017-10-19 21:51:05 +02:00
Róbert Kiss 8c652a427f feat(agent): change header styles (#464) 2017-10-18 21:34:29 +02:00
Róbert Kiss 3ffaf918cd refactor(agent): Rename 'LongKeypressAction' to 'SecondaryRoleAction' (#462)
* refactor(agent): Rename 'LongKeypressAction' to 'SecondaryRoleAction'

* build: Change the build order of the modules

* fix(user-config): Fix hasSecondaryRoleAction() calculation

* fix(user-config): fix stylelint warnings
2017-10-18 21:16:56 +02:00
Róbert Kiss ab88d8a2e7 feat(agent): Add 'Device' menu and submenus (#461) 2017-10-18 01:28:02 +02:00
Róbert Kiss 041d4debb6 fix(app): Rename the title property of the uhk-message component (#460)
Renaming eliminate the default behaviour of the title attribute of the
HTML elements.
2017-10-18 01:19:40 +02:00
Róbert Kiss 69101d73a8 build: upgrade @angular => 4.4.5 (#451) 2017-10-15 14:52:24 +02:00
Róbert Kiss a4056a8b8b feat(device): Add confirmation question before reset the configuration (#449)
* feat(device): Add confirmation question before reset the configuration

* feat(device): text change

* style: fix ts-lint error
2017-10-14 16:49:13 +02:00
Róbert Kiss 6b46c85ca6 feat(device): Add save config buttons to the Device settings page (#447)
* feat(device): Add save config buttons to the Device settings page

* feat(device): Set danger style to the reset user-config buttone
2017-10-14 16:04:50 +02:00
Róbert Kiss 737897b40e feat(agent): Add loading screen (#444)
* feat(uhk-message): Add spin animation

* feat(agent): Add loading page

* fix device connected / disconnected events
2017-10-14 01:22:44 +02:00
Róbert Kiss 01b07a3ab7 feat(device): Wait for read user/hardware config until device is ready (#443)
* feat(device): Wait for read user/hardware config until device is ready

* ci: remove uhk-web test runners until not I will fix the chome on mac
2017-10-14 00:55:16 +02:00
Róbert Kiss 235034bc68 ci: fix the chrome setup on travis mac (#445)
* ci: fix chrome config on mac

* ci: fix chrome config on mac

* ci: fix chrome config on mac
2017-10-14 00:33:05 +02:00
Róbert Kiss 7baf9ad009 fix(user-config): Layer switcher key behaviour on non-base layers (#440)
* refactor(user-config): Optimize imports

* feat(user-config): Clone SwitchLayerAction to destination layer

* fix(user-config): Fix Keymap SwitchLayerAction normalization

* test(user-config): Remove spy callThrough

* build: Add uhk-common test runner

* build: delete test serialization files

* fix(user-config): Add missing "type": "basic" properties to the user-config.json

* test(user-config): Add KeyMacroAction tests

* fix(user-config): Delete SwitchLayerAction from non destination layer

* fix(user-config): Keymap normalize delete SwitchLayerActions from non base layers

* ci: turn of uhk-web tests

* ci: turn off karma watch mode in uhk-web test
2017-10-13 12:25:57 +02:00
Róbert Kiss 46b97a9b62 feat(user-config): Add ISO key scancode (#441)
close: #437
2017-10-11 22:22:34 +02:00
Róbert Kiss 0e5d6d1a25 refactor(device): Rename UserConfigSize => MaxUserConfigSize (#436)
Rename SystemPropertyIds.UserConfigSize => SystemPropertyIds.MaxUserConfigSize because it better describe which date will return from device
2017-10-09 23:20:06 +02:00
Róbert Kiss ba1fff788d feat(device): Reset user configuration on device (#435) 2017-10-08 00:23:46 +02:00
Róbert Kiss 23af522a48 fix(user-config): Fix user configuration savings (#433)
* test(user-config): Fix saveAs functionality

* feat(user-config): Add 2 space indent when save user-config to json file

* refactor(user-config): Move user config savings into user config effect

* build: Remove unused package
2017-10-07 16:19:32 +02:00
Róbert Kiss 35c0d98cd2 test(serializer): Add KeystrokeAction tests (#430)
* test: add basis of the unit testing of the uhk-common package

* test(serializer): Add KeystrokeAction tests

* fix(serializer): Fix KeystrokeAction scancode mapping

* test(serializer): Add NoneAction test cases

* test(serializer): Add MouseAction test cases

* test(serializer): Add PlayMacroAction test cases

* test(serializer): Add SwitchKeymapAction test cases

* test(serializer): Add UserConfiguration test cases

fix KeyAction mapping

* test(serializer): Add SwitchLayerAction test cases
2017-10-06 22:24:33 +02:00
Róbert Kiss 9294bede50 feat(config): Read / write hardware configuration area (#423)
* add write-hca.js

* refactor: Move config serializer into the uhk-common package

* refactor: Move getTransferBuffers into the uhk-usb package

* refactor: delete obsoleted classes

* build: add uhk-usb build command

* refactor: move eeprom transfer to uhk-usb package

* fix: Fix write-hca.js

* feat: load hardware config from the device and

* style: fix ts lint errors

* build: fix rxjs dependency resolve

* test: Add jasmine unit test framework to the tet serializer

* fix(user-config): A "type": "basic", properties to the "keystroke" action types

* feat(usb): set chmod+x on write-hca.js

* feat(usb): Create USB logger

* style: Fix type

* build: Add chalk to dependencies.

Chalk will colorize the output
2017-09-26 16:57:27 +00:00
Róbert Kiss 8f85254b5c fix(tooltip): Uncomment JQuery tooltip codes (#420) 2017-09-17 13:26:11 +00:00
Róbert Kiss 73ce1dfa67 fix(keymap): Should not automatically capitalize keymap name (#421) 2017-09-17 12:51:14 +00:00
Róbert Kiss 96e968729d feat(device): Read user config from eeprom (#413)
* feat(device): Read user config from eeprom

* read data from eeprom

* fix user config serialization

* fix device connected detection

* not allow override default config is eeprom is empty

* add error handling to eeprom parsing

* colorize log output

* add USB[T] feature

* add class name to USB[T] log

* remove redundant error log msg

* Add USB[T] to Apply user config
2017-09-17 12:45:20 +00:00
Róbert Kiss d621b1e5e6 feat(device): Write user configuration into the eeprom (#411)
* feat(device): Write user configuration into the eeprom

* when save user config settings wait until is not keyboard busy
2017-09-14 22:13:00 +00:00
Róbert Kiss 901a5eb5d1 refactor: Add UhkHidDevice wrapper that unified the USB communication (#414)
* refactor: Add UhkHidDevice wrapper that unified the USB communication

* fix(log): Hack Replace console.debug to console.log
2017-09-13 22:58:41 +00:00
Róbert Kiss 8d7269a998 feat(device): Add 'Save to keyboard' button (#402)
* feat(device): Add 'Save to keyboard' button

Created a 'Progress Button' that have 2 state in progress or not.
Able to set different text for different state:
- baseText for normal state
- progressText for in progress state
close: #377

* fix 'Save to keyboard' button visibility in web version

* remove success notification when save to keyboard success

* feat(notifier): Turn off auto hide of the notifier

* feat(device): Show saved state of 'Save to keyboard button'

* style: Format import in app.component.ts

* feat(device): Auto hide 'Save to Keyboard' button

* fix(device): Fix saving animation

* fix(device): Fix saving animation

* fix(device): Fix tslint
2017-09-10 23:22:54 +00:00
Róbert Kiss 30c74c06d3 refactor(usb): Use hid-api instead of lib-usb (#404)
* refactor(usb): Rewrite jump-to-bootloder to node-hid

* refactor(usb): Rewrite the whole usb packages to HID-API

* refactor(usb): Deleted not valid usb command files

* refactor(usb): Deleted not supported usb commands

* Remove obsolete script.

* Remove obsolete script.

* Fix script.

* Fix script.

* No need to assign the silent property because it has been removed.

* This workaround may work on other platforms, but it certainly doesn't work on Linux. It makes some scripts not work, so I'm commenting it out.

* Fix bootloader VID and PID.
2017-09-06 14:32:58 +02:00
Róbert Kiss ee93466a08 build: Fix reflection and minification conflict (#399)
The minification change the class name so constructor.name not give back the correct class name.
Introduced getName() method in KeyAction and MacroAction Abstract class
2017-08-27 02:38:55 +02:00
Róbert Kiss be3e116130 build: Configure AOT (#394)
* build: Configure AOT

* build: Fix appveyor ENV settings
2017-08-26 00:56:28 +02:00
Róbert Kiss 015d110c2b fix(keymap): Hide horizontal scrollbar (#392)
close #391
2017-08-20 19:22:22 +02:00
Róbert Kiss b2466f01aa fix(keymap): Add new keymap scrolling (#390)
close #389
2017-08-20 15:37:06 +02:00
Róbert Kiss 0f558e4132 refactore: create feature modules (#387)
* add @angular/cli to the project

* increase nodejs version -> 8.2.1

* add lerna

* merge web and shared module

* move electron module into packages as uhk-agent

Electron agent functionality is not working

* delete symlinker

* convert private properties to public of component if used in html

* revert uhk-message.component

* fix component path

* fix the correct name of the uhk-message.component.scss

* building web and electron module

* delete uhk-renderer package

* handle device connect disconnect state

* add privilege detection

* fix set privilege functionality

* turn back download keymap functionality

* add bootstrap, select2 js and fix null pointer exception

* turn back upload data to keyboard

* fix send keymap

* fix test-serializer

* add missing package.json

* merging

* fix appveyor build

* fix linting

* turn back electron storage service

* commit the missing electron-datastorage-repository

* update node to 8.3.0 in .nvmrc and log node version in appveyor build

* set exact version number in appveyor build

* vertical align privilege and missing device components

* set back node version to 8 in appveyor

* move node-usb dependency from usb dir to root

maybe it is fix the appveyor build

* revert usb to root

* fix electron builder script

* fix electron builder script

* turn off electron devtools

* remove CTRL+U functionality

* fix CTRL+o

* fix lint error

* turnoff store freeze

* start process when got `Error: EPERM: operation not permitted` error

* move files from root usb dir -> packages/usb
2017-08-19 20:02:17 +02:00
Róbert Kiss ee248e9c93 fix(keymap): Fix 'Capture keystroke' button in FF (#375)
Close #374
2017-07-25 21:00:25 +02:00
Róbert Kiss 817daafd18 feat: Set no wrap on Delete Keymap and Delete Macro icons (#371)
close #369
2017-07-25 00:38:43 +02:00
Róbert Kiss ec085d574c ci: Travis do not use cache (#372) 2017-07-25 00:30:35 +02:00
Róbert Kiss 803ae8bb8f build: update dev dependencies (#370) 2017-07-24 22:17:25 +02:00
Róbert Kiss aad0c155dd fix(keymap): Change keymap name and abbr algorithm (#365)
* feat(keymap): Change keymap name and abbr algorithm

Close #363

* feat(keymap): When rename a keymap or macro and the new name is exists do nothing
2017-07-23 22:30:19 +02:00
Róbert Kiss 42683e32f9 feat(notification): Add undoable notification, close #318 (#338)
* feat(notification): Add undoable notification

* feat(notification): Add undoable notification

* feat(notification): Use uhk-header to the notification

* half ready solution

* - fix: "Keymap has been deleted" is displayed for macros.
- When a keymap/macro deletion gets undone, please set the route of the restored keymap/macro.
- When the user switches to another route, please make the undo notification disappear.

* fix(keymap): Store prev user configuration in the application reducer

Store the previous state in application reducer, because refactoring the
user-config reducer is not easy

* feat(keymap): Fix review request
2017-07-23 22:17:53 +02:00
Róbert Kiss ce55cac380 fix(keymap): Add tooltips to action icons (#366)
* fix(keymap): Add tooltips to action icons

* fix(keymap): Remove console.log write

* feat(tooltip): New design of the tooltip

* feat(keymap): Show the tooltip of "Long press action" downward

* style(tooltip): Fix linting issues
2017-07-19 23:27:25 +02:00