Peter Wu
2327a0012e
descriptors.py: Clarify use of negative values
...
The negative behavior is not obvious, document it in the descriptors.py file
such that people who edit it to add new devices know how it works.
2013-05-04 20:02:37 +02:00
Daniel Pavel
e819265e7e
fix automatic register blacklisting
2013-05-04 19:50:08 +02:00
Daniel Pavel
d7dd9393ff
minor clean-ups
2013-05-04 17:19:48 +02:00
Daniel Pavel
64c36a1562
updated descriptors table and the devices doc
2013-05-04 17:18:39 +02:00
Daniel Pavel
13a54565ba
cleaned-up the descriptors table
2013-05-04 15:09:50 +02:00
Daniel Pavel
ad577d22d0
handle sleep in udev monitoring, fixes #35
2013-05-04 12:19:29 +02:00
Daniel Pavel
2ee2a5dc46
Merge remote-tracking branch 'origin/master'
2013-05-03 17:08:32 +02:00
Daniel Pavel
430fdf4fcf
initial support for the MOUSE_POINTER hid++2.0 feature
2013-05-03 17:08:26 +02:00
Daniel Pavel
a0a76f738b
assert that data read/written on the receiver handle is of type bytes
2013-05-03 16:35:28 +02:00
Peter Wu
266edd80f3
Process reg07 battery notification
2013-05-03 00:10:58 +02:00
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
Daniel Pavel
0f80901bce
quicker detection of matching receivers in udev
2013-05-02 11:11:53 +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
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
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
7707c5e558
don't notify on device disconnection
2013-01-18 17:41:45 +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
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
79a9048db5
fixed names for NamedInts numerical values
2013-01-09 15:31:19 +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
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
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