Commit Graph

1090 Commits

Author SHA1 Message Date
Peter Wu 6c28cedf23 Make BooleanValidator accept bytes too besides int
Previously, only the first parameter byte can be read or written. After this
patch, it is possible to select/write more bytes by specifying a mask of type
bytes with the appropriate length.
2013-04-27 15:12:55 +02:00
Peter Wu 438c501fae Parse battery status of HID++ 1.0 devices
This applies to K800 but it seems also to apply to M510. The numbers are based
on the HID++ 2.0 spec that state the following for GetBatteryCapability:

    If number of levels < 10 or if mileage is disabled then report are
    mapped to 4 levels this way.

    0%->10%     critical
    11%->30%    low
    31%->80%    good
    81%->100%   full

    i.e. to report battery low, FW send 25%, to report battery good, FW send 50%.
2013-04-27 11:58:09 +02:00
Daniel Pavel 6ff30f2a0e release 0.8.7 2013-01-18 18:37:06 +02:00
Daniel Pavel 7707c5e558 don't notify on device disconnection 2013-01-18 17:41:45 +02:00
Daniel Pavel 9b7a920e0d fix for systray visibility (gihub #14) 2013-01-18 17:18:35 +02:00
Daniel Pavel 2e51380be5 log value of register 0x07 when register 0x0D not available 2013-01-18 12:41:01 +02:00
Daniel Pavel b82c89c582 release 0.8.6.2 2013-01-09 21:47:59 +02:00
Daniel Pavel 581d6747ad Merge branch 'nano' into 0.9
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2013-01-09 21:10:39 +02:00
Daniel Pavel 00a1aa7628 release 0.8.6.1 2013-01-09 15:36:15 +02:00
Daniel Pavel 79a9048db5 fixed names for NamedInts numerical values 2013-01-09 15:31:19 +02:00
Daniel Pavel 2bfba2e399 fixed application quit icon 2013-01-09 13:47:30 +02:00
Daniel Pavel 484419e526 release 0.8.6 2013-01-08 00:59:30 +02:00
Daniel Pavel 653d370a85 fixed locating application icons when running in a custom prefix 2013-01-08 00:40:54 +02:00
Daniel Pavel 316e91cfcf fixed some icon names 2013-01-08 00:39:13 +02:00
Daniel Pavel bb52c13f9a only allow a single instance of solaar to run at a time 2013-01-07 21:34:47 +02:00
Daniel Pavel 738d43fd83 fix for gihub issue #10
http://github.com/pwr/Solaar/issues/10
2013-01-07 20:14:31 +02:00
Daniel Pavel 60405abf58 dropped unnecessary #! in lib/ python files 2013-01-07 11:54:52 +02:00
Daniel Pavel 36f34da227 proper debian packaging, dropper stdeb 2013-01-05 11:48:35 +02:00
Daniel Pavel 064a7a113c added setup.py for python and debian packaging 2012-12-18 05:03:43 +02:00
Daniel Pavel 430a2d71e3 read all device features as soon as the application is idle 2012-12-14 19:51:18 +02:00
Daniel Pavel e43e92f2b0 commented-out testing register for M705 2012-12-14 16:57:10 +02:00
Daniel Pavel cc6c0ee7df fix for python3 2012-12-14 16:25:46 +02:00
Daniel Pavel f0c5046ccf re-worked the settings classes 2012-12-14 06:44:44 +02:00
Daniel Pavel 9db2a65b31 solaar-cli: return on the first match when searching for device name
results may be occasionally ambiguous, but the command runs faster
2012-12-13 15:12:51 +02:00
Daniel Pavel b39016df7c small clean-ups in device status handling 2012-12-13 14:54:31 +02:00
Daniel Pavel c22fe6320d properly slice NamedInts 2012-12-13 05:26:56 +02:00
Daniel Pavel b99ccdf612 support slices in FeaturesArray and KeysArray 2012-12-13 03:34:39 +02:00
Daniel Pavel 2d338ffbfb better __str__ of Setting instances 2012-12-13 03:33:19 +02:00
Daniel Pavel 954fc29613 fix event storm when toggling a device's property 2012-12-12 22:55:04 +02:00
Daniel Pavel 27f10cd10e small clean-up in FeaturesArray, should be slightly faster 2012-12-12 21:44:37 +02:00
Daniel Pavel f4b92ee690 print () clean-ups 2012-12-12 21:43:55 +02:00
Daniel Pavel 1c4d3d5f13 simpler NamedInt, more logical NamedInts 2012-12-12 21:42:43 +02:00
Daniel Pavel 7bb7a092a4 descriptors update (new device K230)
also assume by default all devices have battery info in register 0x0D,
and blacklist them when that's not the case
2012-12-12 21:41:29 +02:00
Daniel Pavel 0ed623caf9 made notifications handling clearer in status.py 2012-12-12 21:39:04 +02:00
Daniel Pavel 19cd40cfdd renamed 'events' to 'notifications'
in order to match the name in Logitech's documentation
2012-12-12 21:03:07 +02:00
Daniel Pavel 17698bfeae minor clean-ups in texts 2012-12-12 20:44:29 +02:00
Daniel Pavel fa72b89b3a release 0.8.3 2012-12-08 05:29:50 +02:00
Daniel Pavel 80c36a02a9 improved notifications detection 2012-12-08 01:49:59 +02:00
Daniel Pavel d38bec39b6 improved hid++ support 2012-12-08 00:41:43 +02:00
Daniel Pavel 33a9ca060d made hidconsole more user-friendly 2012-12-08 00:41:10 +02:00
Daniel Pavel 30fedf418c re-read device settings when they come back online 2012-12-07 21:00:36 +02:00
Daniel Pavel ee16892481 fixed registers access 2012-12-07 20:38:24 +02:00
Daniel Pavel e2909f6165 fixed event detection 2012-12-07 20:37:13 +02:00
Daniel Pavel b86dcce381 I come from the __future__, come with me if you want to live. 2012-12-07 17:10:22 +02:00
Daniel Pavel c4be58f074 dropped bin/scan as deprecated, bin/solaar-cli completely replaces it 2012-12-07 15:31:19 +02:00
Daniel Pavel b3f0bfa4fb fixed obsolete import 2012-12-07 14:41:00 +02:00
Daniel Pavel 37daf3a192 better handling of terminal in hidconsole 2012-12-07 14:40:48 +02:00
Daniel Pavel 7ada4af31b hidconsole has to be run in unbuffered mode 2012-12-07 14:29:30 +02:00
Daniel Pavel 67db483b0b dropped the unittests, they've been obsolete and nonfunctional for a long time now 2012-12-07 14:00:28 +02:00
Daniel Pavel 3569489ce7 added registers and settings to device descriptors 2012-12-07 13:54:03 +02:00
Daniel Pavel 9066003240 named ints act like proper sequences now 2012-12-07 13:50:44 +02:00
Daniel Pavel f0007d0a13 updates to the command lines 2012-12-07 13:41:07 +02:00
Daniel Pavel ff6db1d00a fix for python 3 2012-12-06 14:15:28 +02:00
Daniel Pavel 27403a08d2 improved hid++ 1.0 support 2012-12-05 21:41:02 +02:00
Daniel Pavel 6d70d2aada improved support for hid++ 1.0 devices 2012-12-05 15:10:41 +02:00
Daniel Pavel 5a99e55309 readme updates 2012-12-03 15:07:35 +02:00
Daniel Pavel 116ba72f37 fixed possible dangling weakrefs on start-up 2012-12-03 12:51:22 +02:00
Daniel Pavel 3fe9caf0e6 added solaar-cli for command-line operations 2012-12-03 11:34:35 +02:00
Daniel Pavel 2a44b0bb5b fixed scan not seeing the devices 2012-12-01 22:34:52 +02:00
Daniel Pavel 1cc532d600 fixed orphaned weakrefs when unpairing a device 2012-12-01 19:12:53 +02:00
Daniel Pavel 8f5fa0cf9a code clean-ups, the app starts faster now 2012-12-01 15:49:52 +02:00
Daniel Pavel 89c6904d69 fixed pairing (again), this time also tested it 2012-11-30 20:28:22 +02:00
Daniel Pavel 14663ca204 re-wrote loading of icons for devices 2012-11-30 15:23:16 +02:00
Daniel Pavel 64d2b35ace some clean-ups 2012-11-30 15:20:41 +02:00
Daniel Pavel ab5e09db93 pairing fixes 2012-11-29 21:26:03 +02:00
Daniel Pavel 932a015e49 better battery icon in the systray 2012-11-29 20:13:53 +02:00
Daniel Pavel d6b18cd426 python 3 fixes 2012-11-29 12:34:20 +02:00
Daniel Pavel 84540fb087 re-wrote most of the app, based on latest HID++ docs from Logitech 2012-11-29 04:10:16 +02:00
Daniel Pavel 5b8c983ab3 some speed tweaks to hidconsole batch mode 2012-11-24 22:49:15 +02:00
Daniel Pavel 13a11e78f0 added more known device names and kinds 2012-11-13 09:48:52 +02:00
Daniel Pavel 4c5cf85091 re-worked the UI a bit to give better info on devices status 2012-11-12 15:28:38 +02:00
Daniel Pavel 6db4deafee python 3 fixes 2012-11-11 22:37:42 +02:00
Daniel Pavel bcc2bf123e fixed initialization sequence for newly detected devices 2012-11-11 20:11:30 +02:00
Daniel Pavel 50fedab19e re-worked how fd handles are used in multi-threading 2012-11-11 17:03:13 +02:00
Daniel Pavel 4b2d8a8d5a addded custom swids to feature calls 2012-11-09 09:20:28 +02:00
Daniel Pavel ec6a2d892a improved hidconsole in tty and batch mode 2012-11-08 12:01:00 +02:00
Daniel Pavel a59ad221a1 improved support for HID 1.0 devices 2012-11-08 11:41:09 +02:00
Daniel Pavel c9843e4408 properly implemented pinging a device 2012-11-08 11:39:56 +02:00
Daniel Pavel 8ae8d4502d fixed some log messages 2012-11-07 22:32:55 +02:00
Daniel Pavel 5f6fd5a333 added codename for Performance MX mouse 2012-11-07 21:51:07 +02:00
Daniel Pavel 89205f0bbc better matching of task replies 2012-11-07 21:29:06 +02:00
Daniel Pavel f172ceebd1 when input is not a tty, wait a second before exiting 2012-11-07 21:28:42 +02:00
Daniel Pavel d5dec5f7ec logging fix 2012-11-07 21:14:50 +02:00
Daniel Pavel f8d0beb471 don't forget the 6th device on scan 2012-11-07 20:41:14 +02:00
Daniel Pavel 6e939e9485 small documentation updates 2012-11-06 18:44:24 +02:00
Daniel Pavel 4cb9b30466 use the first python version found when starting the scripts 2012-11-05 20:52:51 +02:00
Daniel Pavel 5c38c33374 notify in case of permissions problem on the hidraw device 2012-11-04 15:30:39 +02:00
Daniel Pavel d5f8a4bc45 cleanup in the pyudev hidapi implementation, incremented app version 2012-11-03 07:49:10 +02:00
Daniel Pavel 39855408ed added pyudev-based implementation of hidapi 2012-11-02 22:09:31 +02:00
Daniel Pavel 8fc078bdaf hidapi.enumerate() returns an iterable 2012-11-02 22:09:04 +02:00
Daniel Pavel 6e06e39612 fixed loading readline history when the file does not exist 2012-11-02 09:57:08 +02:00
Daniel Pavel 802da6a21a clean-ups 2012-11-02 07:21:55 +02:00
Daniel Pavel 1d8ac27614 clean-up and simpler monitoring of receiver state 2012-11-01 13:47:11 +02:00
Daniel Pavel a8a72f7ae5 dropped the watcher thread
now the receiver is looked for and initialized on the application's main
thread
2012-11-01 06:30:29 +02:00
Daniel Pavel e7bb599689 reworked the way tasks are processed by the listener 2012-10-27 18:40:54 +03:00
Daniel Pavel 62a91b56d2 logging and python3 cleanups 2012-10-24 15:09:39 +03:00
Daniel Pavel 60c13270f9 ui and pairing updates 2012-10-24 01:50:57 +03:00
Daniel Pavel 7354429316 fix for python3 2012-10-23 09:06:19 +03:00
Daniel Pavel 4f183b2826 added info box for the unifying receiver 2012-10-22 20:59:21 +03:00
Daniel Pavel b10ade4430 initial implementation of pairing 2012-10-22 10:03:26 +03:00
Daniel Pavel f2dac70131 reworked the receiver and devices into classes 2012-10-18 14:19:20 +03:00
Daniel Pavel ec7ebb0939 fix a double-free when the receiver is removed 2012-10-13 19:55:44 +03:00
Daniel Pavel 371b874986 Packet __str__ fix 2012-10-13 18:30:00 +03:00
Daniel Pavel e6d1244ed5 use a fully async model for updating the device statuses 2012-10-13 18:21:47 +03:00
Daniel Pavel bca21a7220 use specialized namedtuple for events 2012-10-13 18:13:05 +03:00
Daniel Pavel 0255194b46 dropped firmware from standard device info 2012-10-12 04:36:13 +03:00
Daniel Pavel 5da2d43b1c expanded devices database, commented out some unnecessary logging 2012-10-12 04:24:35 +03:00
Daniel Pavel bc9f39873e api function to query receiver info 2012-10-11 22:02:13 +03:00
Daniel Pavel cbfcd8416a re-organized the directories a bit 2012-10-11 19:19:27 +03:00
Daniel Pavel c9f06aa5da clean-ups in LUR library 2012-10-11 18:38:57 +03:00
Daniel Pavel f295d1d90e tweaked the ui a bit 2012-10-11 16:46:49 +03:00
Daniel Pavel e52bfe53a5 reorganized the app files a bit 2012-10-10 17:24:13 +03:00
Daniel Pavel e34ad5104f reworked the event listener 2012-10-10 06:37:03 +03:00
Daniel Pavel 9111afcd6b small updates to the app 2012-10-09 15:13:31 +03:00
Daniel Pavel 9b2c1bdef6 fixes for python3 2012-10-09 12:31:46 +03:00
Daniel Pavel 377d7c844d made hidconsole work in python2 and 3 2012-10-08 15:03:36 +03:00
Daniel Pavel 257f74b496 cleaned-up the app a bit 2012-10-08 14:12:38 +03:00
Daniel Pavel 882332256b made hidconsole read events properly 2012-10-08 14:10:56 +03:00
Daniel Pavel 058d81a767 improvements to the hid console 2012-10-07 20:20:36 +03:00
Daniel Pavel 8ee2940106 cleanups in api 2012-10-07 20:19:57 +03:00
Daniel Pavel 4f8e983843 some cleanups in base 2012-10-07 16:45:44 +03:00
Daniel Pavel c6427ab4a6 better logging in cli tools 2012-10-06 14:48:42 +03:00
Daniel Pavel ecf3539ba2 cleanups 2012-10-05 13:26:52 +03:00
Daniel Pavel cb3a42c04e greatly simplified loading of icons 2012-10-05 02:39:32 +03:00
Daniel Pavel 9ba6aa1c31 added a devices status window 2012-10-04 01:36:43 +03:00
Daniel Pavel 7ba3a6fe70 made hidapi a package 2012-10-03 08:42:40 +03:00
Daniel Pavel 73460c2541 fixed some typos 2012-09-28 14:10:56 +03:00
Daniel Pavel d65c1dbf59 some clean-ups in the logitech library 2012-09-28 13:58:17 +03:00
Daniel Pavel 0fe3151051 added a cli tool for scanning the UR devices 2012-09-28 10:34:49 +03:00
Daniel Pavel 407c41756d added a hid console tool 2012-09-28 02:18:10 +03:00
Daniel Pavel 42ef44e2e2 forget about devices that have been disconnected for too long 2012-09-28 01:19:23 +03:00
Daniel Pavel 4100e8c625 small clean-ups 2012-09-28 00:59:03 +03:00
Daniel Pavel 4da3c09949 updated lib and application to work both python 2 and 3 2012-09-27 21:17:49 +03:00
Daniel Pavel 216c9eafe7 added proper icons for the receiver and K750 keyboard 2012-09-27 17:44:03 +03:00
Daniel Pavel 51bdea32d5 some library cleanups 2012-09-27 16:05:41 +03:00
Daniel Pavel 692ea58937 raise NoReceiver if the receiver is removed during read 2012-09-27 15:52:42 +03:00
Daniel Pavel 0dc02af78d properly distinguish between read error and no data read 2012-09-27 15:16:43 +03:00
Daniel Pavel 05560d8af4 solaar app functional now 2012-09-27 14:55:38 +03:00
Daniel Pavel 2c5a3b0ed2 small doc changes 2012-09-25 13:47:37 +03:00
Daniel Pavel 6c68f47597 small updates to hidapi, mostly cosmetic 2012-09-25 07:56:32 +03:00