Peter Wu
d1b1be32ca
Make read_battery use set_battery_info
...
This allows battery readouts to generate warnings and debug logs for a given
status and level.
2013-05-02 23:56:08 +02:00
Peter Wu
fbdd923d43
Refactor battery info update
...
- `self[BATTERY_STATUS] = BATTERY_STATUS[battery_status]` should be:
`self[BATTERY_STATUS] = _hidpp20.BATTERY_STATUS[battery_status]`, otherwise
the battery status would be a single char from the string `battery-status`.
- Make `_hidpp20.BATTERY_OK` check against strings instead of a number.
- Move setting battery information to a separate function, `set_battery_info`.
This prepares for notifications when a battery error/warning occurs.
2013-05-02 23:51:40 +02:00
Peter Wu
d8e469a33a
hidpp10: split reg07 (battery) parsing so it can be reused
2013-05-02 23:06:45 +02:00
Peter Wu
a6b89b3ea3
Python3 compatibility for hidconsole
...
`type(u'')` is 'str' in Python 3, it was `unicode` on Python 2 (with
`unicode_literals` from `__future__`).
2013-05-02 22:58:35 +02:00
Daniel Pavel
0f80901bce
quicker detection of matching receivers in udev
2013-05-02 11:11:53 +02:00
Daniel Pavel
8fc45e5590
fix solaar-cli to handle the new Receiver.open() api
2013-05-01 15:51:12 +02:00
Daniel Pavel
c829304e31
use only udev events to detect receiver devices
2013-05-01 15:47:23 +02:00
Daniel Pavel
d3f94ff2fb
detect some HID++1.0 custom battery notifications
...
they're not handled yet
2013-05-01 11:36:15 +02:00
Daniel Pavel
04db6d3838
python 3 fixes for #29
2013-04-30 22:31:06 +02:00
Daniel Pavel
e5a28ac64e
simplified window/icon code, reworked how device updates are signalled
2013-04-30 19:44:03 +02:00
Daniel Pavel
2397c6c0ea
about dialog updated
2013-04-30 17:25:09 +02:00
Daniel Pavel
c3e6c3d1da
more flexible icon loading
2013-04-30 15:45:35 +02:00
Daniel Pavel
22da75cb72
replaced some deprecated GObject calls with GLib
2013-04-30 11:47:30 +02:00
Daniel Pavel
9c621d5816
always try to initialize systray icon and notifications
2013-04-28 15:44:20 +02:00
Daniel Pavel
feedbcf581
some code clean-ups
2013-04-28 15:16:45 +02:00
Daniel Pavel
a57f3be58d
renamed event alert levels to be more clear
2013-04-28 15:12:20 +02:00
Daniel Pavel
897dffc426
only dispatch notification events from the specialized listener thread
2013-04-28 15:09:09 +02:00
Daniel Pavel
6f0b61e6d8
better handling of eq/ne/hash in receiver and device objects
2013-04-28 15:02:17 +02:00
Daniel Pavel
674ee9ac9e
split read_battery in status into its own function
2013-04-28 15:01:27 +02:00
Daniel Pavel
5eab013cf6
more explicit logging
2013-04-28 14:58:40 +02:00
Daniel Pavel
079ef8d800
incipient support for the Nano receiver
2013-04-28 14:27:16 +02:00
Daniel Pavel
1a9be279c6
move the code for single-instance check into its own file
2013-04-28 14:06:41 +02:00
Daniel Pavel
f5d2eba0c4
hidapi: dropped native, slight update to the python implementation
...
added an optional filter for driver name when enumerating devices
2013-04-28 14:05:33 +02:00
Daniel Pavel
e7d19c9084
small fixes to hidconsole
2013-04-28 14:00:46 +02:00
Daniel Pavel
638bf38b25
version increased to 0.8.7.1
2013-04-28 13:59:07 +02:00
Daniel Pavel
c4dc49ac5e
Merge pull request #24 from Lekensteyn/hid10-fnkey
...
Add FN key swap support for K800 (and presumably K710)
2013-04-28 02:03:33 -07:00
Peter Wu
5e58f1e273
Fix battery status reading, add "fully charged"
...
Commit 438c501fae
introduced support for HID++ 1.0
battery information. That accidentally selected the third parameter instead of
the second one. This commit fixes that and additionally adds a "fully charged"
status too that was found on the K800.
2013-04-27 17:07:55 +02:00
Peter Wu
c79ad65d37
Add K710 with FN key swap support ( pwr/Solaar#18 )
...
The K710 keyboard is (according to the issue reporter) part of a MK710 combo
(which also contains a M705 mouse). Observing a succesful 07 register read,
I think that it is a HID++ 1.0 device too that uses the same register for FN
key swapping as K800.
2013-04-27 15:17:05 +02:00
Peter Wu
95a97ad776
Support FN keys swap for K800
2013-04-27 15:13:42 +02:00
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