Peter Wu
ade2fbacec
Merge pull request #399 from Valantin/patch-1
...
Add MX Master 2S descriptor
2018-08-11 16:03:18 +02:00
Ben Wolsieffer
a59368f3e7
Fix issues with HID++ >= 2.0 devices (particularly related to sleep).
...
* Don't assume 0x41 messages only occur when a device is first paired
(prevents errors when waking from sleep or turning a device on)
* Delay reads/writes when a device is powered on, to prevent broken pipe
errors (hacky solution).
* Don't clear status when a device connects, preventing settings from being
cleared when a device sleeps or is turned off.
* Fix typos.
2018-08-10 23:15:37 -04:00
Jason Tibbitts
d021d87656
Python 3.7 compatibility fixes
...
This fixes the python 3.7 incompatibilities arising from 'async'
becoming a reserved word.
The file lib/solaar/async.py is renamed to asks.py. I picked the name
because it defines the TaskRunner class and it's the best I could come
up in fifteen seconds.
The async function in solar/ui/__init__.py is renamed to ui_async, and
the various imports of that function are changed to match.
Without this patch it doesn't build at all. I am running with this
patch applied and everything appears to work as expected.
Signed-off-by: Jason Tibbitts <tibbs@math.uh.edu>
2018-08-07 12:51:32 -04:00
Ben Wolsieffer
5d0d353c74
Add support for new version of M705 (M-R0073).
2018-08-05 00:10:59 -04:00
Peter Wu
1a67b33860
Merge pull request #382 from mchehab/fix_solaar_start_issues
...
Fix solaar start issues
2018-01-12 18:11:45 +01:00
Roberto Valentini
f8079f4f9d
Add MX Master 2S descriptor
...
Add descriptor for MX Master 2S to support High Resolution Wheel, correct charge level and DPI configuration
2017-11-16 14:53:27 +01:00
Anton Krivenko
47e7f997d5
Added Logitech K375s support
2017-10-14 22:08:40 +03:00
Josenivaldo Benito Jr
aeb943fc9e
Descriptor for K270 and M185
...
This K270 is the non unifying version and we know that it has, at
least, one variation (unifying) out there.
M185 mouse is also older, as per PR #337 there is at least two newer
versions of this mouse.
Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2017-09-25 14:57:11 -03:00
Peter Wu
10f3421021
Merge pull request #345 from jrbenito/M510_v4.5
...
Add M510 (new version) to descriptors
2017-09-21 00:30:31 +01:00
Mauro Carvalho Chehab
632d8804be
listener: don't add elements if queue is full
...
When Solaar is loaded, if a large number of events happen,
it will lose the register events, as the queue size is too
small (16). So, check if the queue is full, in order to
avoid losing those important events.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-11 10:36:12 -03:00
Mauro Carvalho Chehab
a4b7194490
listener: fix device registration logic
...
The "already_known" var actually doesn't track if the device was
already registered or not.
That causes race issues at Solaar, causing it to sometimes not
detect a device.
Change the logic to always call register_new_device if the
corresponding events happen, and updating already_known
to reflect it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-11 10:34:23 -03:00
Mauro Carvalho Chehab
ea80c6d639
ui: notify.py: disable python Notify extension
...
For whatever reason, this doesn't work on Fedora 26:
06:47:05,925 DEBUG [ReceiverListener:hidraw1] logitech_receiver.base: (13) => r[20 02 0100 0000000000000000000000]
06:47:05,925 DEBUG [ReceiverListener:hidraw1] logitech_receiver.notifications: <PairedDevice(2,2011,K520)> (1.0) custom notification Notification(2,01,00,000000000$
06:47:05,925 WARNING [ReceiverListener:hidraw1] logitech_receiver.notifications: <PairedDevice(2,2011,K520)>: unrecognized Notification(2,01,00,000000000000000000000$
06:47:08,806 ERROR [MainThread] solaar.ui.notify: showing <Notify.Notification object at 0x7f82c2484640 (NotifyNotification at 0x556fa0fc5a40)>
Traceback (most recent call last):
File "./devel/solaar/lib/solaar/ui/notify.py", line 145, in show
n.show()
Error: g-io-error-quark: Error calling StartServiceByName for org.freedesktop.Notifications: Timeout was reached (24)
So, disable it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-11 07:02:48 -03:00
Mauro Carvalho Chehab
a01e4b2efe
hidpp20.py: handle gracefully errors at REPROG_CONTROLS_V4
...
At least with Anywhere Mouse MX 2, one reprogrammed key
fails to read:
ERROR [MainThread] logitech_receiver.base: (3) device 3 error on feature request {0829}: 2 = invalid argument
That causes "solaar show" to crash. Instead, let's handle
errors there gracefully, reporting it as:
7: unknown:00C3 , default: unknown:009C => unknown:00C3
virtual, pos:0, group:4, gmask:0
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-10 22:53:19 -03:00
Mauro Carvalho Chehab
801bdfa224
Remove the hid++ high-res wheel notification
...
The best is to make the logitech-hidpp driver to switch to
hid++ notification mode when it starts. As we don't want users
to mangle with it, let's remove support from it.
PS.: I opted to keep this as a separate patch. This way, if
anyone needs to add support for it, in order to debug the
driver, it is just a matter of reverting this patch.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-10 21:49:18 -03:00
Mauro Carvalho Chehab
410d100dc6
Add notification for high-resolution Wheel events
...
The event at address 0 is only produced while in HID++ mode.
The rachet event (address 0x10) happens on both HID and
HID++ modes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-10 21:49:18 -03:00
Mauro Carvalho Chehab
7078750a3f
MX Anywhere2: Correct feature Smooth Scrool
...
Set wrongly to HI_RES_SCROLLING. Correct it to HIRES_WHEEL as reported
by MX Anywhere2.
relates to #283
Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2017-09-10 21:49:18 -03:00
Mauro Carvalho Chehab
360c92f6b0
Add support for CLI show to display High Res Wheel settings
...
Add support for the high resolution wheel found on MX Anywhere 2.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2017-09-10 21:44:30 -03:00
Peter Wu
684afa871e
Merge pull request #337 from doctor64/m185
...
Basic support for M185 mouse
2017-07-17 00:08:19 +02:00
Alex Cherkayev
f9618dd0ab
Add M185 keys reporting using REPROG CONTROLS V4 in cli
...
Add smooth scrolling using LOWRES_WHEEL
Add mouse speed selection using POINTER_SPEED
2017-03-21 18:02:59 +02:00
Alex Cherkayev
db0656967b
Add basic 0xc534 receiver and M185 mouse support
...
Fix connection notification protocol for M185
Fixes from review
2017-03-21 18:00:44 +02:00
Peter Wu
53ec751cf1
Merge pull request #343 from jrbenito/K270-unifying
...
Wireless Keyboard K270 unifying
2017-03-21 00:07:26 +01:00
Josenivaldo Benito Jr
d9d37edc2f
MK220 Combo descriptor for Mouse M150 and new docs
...
Thanks to @FabioBeneditto for providing information.
Depends on #337
fixes #222
Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2017-03-10 10:47:23 -03:00
Josenivaldo Benito Jr
ae405871fb
Add M510 (new version) to descriptors
...
Depends on #337
fixes #279
Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2017-03-08 19:48:23 -03:00
Josenivaldo Benito Jr
d2d19a615d
Wireless Keyboard K270 unifying
...
Descriptor and docs for K270 unifying version.
Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2017-03-08 16:23:30 -03:00
Dimitriy Ryazantcev
197ff7365d
Add Russian translation
2016-12-21 00:18:01 +02:00
Dimitriy Ryazantcev
934ecb821d
Update l10n strings in code
2016-12-21 00:18:01 +02:00
Peter Wu
f0cf949336
Merge pull request #322 from jrbenito/anywhere2
...
Anywhere MX 2 device information and descriptor
2016-12-20 21:29:10 +01:00
Josenivaldo Benito Jr
3b60f205f7
K780 add descriptor support and device information
...
Device information provided by @faassen
Tests provided by @ralphdd
relates to #298
Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2016-11-30 14:38:44 -02:00
Josenivaldo Benito Jr
d6c93cfcfe
Anywhere MX 2 device information and descriptor
...
Information from mouse Anywhere MX 2 as provided by @fropeter
Descriptor for mouse based on dump provided
Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2016-11-30 14:24:50 -02:00
Josenivaldo Benito Jr
d83530bee3
pt-br: Improve translations
...
Some pt-br translation where ambiguous or too missing 'not' statement.
Add original translator, Mr. Drovetto, to the documentation.
Signed-off-by: Josenivaldo Benito Jr <jrbenito@benito.qsl.br>
2016-11-21 17:25:22 -02:00
muzena
fb1442dbcb
Add croatian translation
2016-11-15 16:34:20 +01:00
muzena
0b8141f092
Logitech G700 and G700s Gaming mouse support
2016-11-14 16:39:23 +01:00
Peter Wu
4c1f568fab
Merge pull request #141 from ghost
...
Italian translations
2016-11-10 13:04:42 +01:00
Jhonny Oliveira
9a9a82016f
Add support to G700 Gaming Mouse receiver
2016-11-10 12:25:54 +01:00
Jhonny Oliveira
aa03cef61f
Add support to MK320 mouse and keyboard combo
2016-11-08 09:17:02 +01:00
Peter Wu
c14e30b6f5
Fix crash when AppIndicator3 is unavailable
...
Convert ValueError to an ImportError (hack!) to allow the fallback code
to function.
Fixes https://github.com/pwr/Solaar/pull/276
2016-11-06 19:50:32 +01:00
cschreib
b5d43cdc3c
Added support for MintX icon set (for Linux Mint integration)
2016-10-22 13:49:50 +02:00
vbs
358e0958bb
fixed wrong interpretation of bit 6 of the notification byte which indicates if the link could be established (bit cleared) or not (bit set)
...
https://lekensteyn.nl/files/logitech/logitech_hidpp10_specification_for_Unifying_Receivers.pdf
2016-09-17 18:05:03 +02:00
Javier Torres
ba540338e2
Add smart shift feature for MX master
2016-06-09 19:46:03 +02:00
Javier Torres
2442fee341
Add support for range features in GUI
2016-06-09 19:46:03 +02:00
Javier Torres
bbadd3e755
Add support for range features in CLI
2016-06-09 19:46:03 +02:00
Javier Torres
2fdce2f938
Add range features
2016-06-09 19:46:03 +02:00
Javier Torres
f1fad2d16b
Add range validator
2016-06-09 19:46:03 +02:00
Chris Mayo
e046455a05
Fix: "AppIndicator3 was imported without specifying a version first"
...
PyGIWarning: AppIndicator3 was imported without specifying a version
first. Use gi.require_version('AppIndicator3', '0.1') before import to
ensure that the right version gets loaded.
2016-05-03 20:20:46 +01:00
Peter Wu
ddbc27486c
Merge pull request #136 from erik-smit/gobject_not_allow_None
...
Fixes a TypeError on older GObject libraries (as evident with Ubuntu 12.04 and OpenSUSE 12.3).
2016-04-17 14:11:15 +02:00
Peter Wu
2041007b38
Merge branch 'features'
...
Automatically detect FN swap feature and DPI adjustment on some newer
devices. DPI adjustment partially addresses support for the MX Master
(#208 ), Smart shift is still missing.
2016-04-17 12:43:15 +02:00
Peter Wu
883ed9549d
Fix DPI list assertion
2016-03-25 00:06:00 +01:00
Peter Wu
d1858f747b
Assume 7 words for the DPI list response
...
HID++ 2.0 responses are 20 bytes, once you strip the 4 byte common
header and 1 byte sensorIdx, you have 15 bytes left. Since DPI values
are 16-bit words, only 14 bytes should be used.
2016-03-24 16:59:05 +01:00
Peter Wu
aa7d1b6410
Skip sensorIdx in getSensorDpiList response
2016-03-24 15:13:06 +01:00
Peter Wu
5b01f375e0
Merge pull request #254 from emerham/master
...
Adding Logitech mx 1100 cordless laser mouse to discriptors
2016-03-24 14:56:55 +01:00
Peter Wu
dd2755909d
cli/config: fix error message
...
Attempt to fix:
$ bin/solaar config master dpi higher
solaar: error: coercing to Unicode: need string or buffer, int found
The DPI choices are integers, therefore cast it to a str.
2016-03-18 12:27:16 +01:00
Peter Wu
b052ab9ef0
Fix thinko in Adjustable DPI setting
...
There are three bytes forming the parameter, the sensor ID is the MSB,
not LSB.
2016-03-18 12:14:15 +01:00
Peter Wu
9c768d60a1
Add full support for adjustable DPI
...
Feature 0x2201 as used by the MX Master. Valid DPI values are read
directly from the device. Based on Logitech specifications.
2016-03-15 23:37:39 +01:00
Matthew Brabham
d1d0ab85ff
Updated mouse device settings and deffinition. Added docs for the MX 1100
2016-03-14 13:05:05 -07:00
Peter Wu
e1eee2e078
Fix "Gtk was imported without specifying a version first"
...
Fixes the following warnings:
sys:1: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
sys:1: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.
2016-03-14 11:33:05 +01:00
Peter Wu
5c38f90cd6
Merge branch 'issue/199'
...
Fixes #136 .
2016-03-14 11:10:49 +01:00
Peter Wu
45d49b9de8
settings: fix Python 3 compat for boolean values
...
As observed for the fn-swap setting.
2016-03-14 01:48:56 +01:00
Peter Wu
ab162583e4
cli: do not die on missing description
...
The DPI setting has no description, do not try to display it.
2016-03-13 23:59:21 +01:00
Hugo Osvaldo Barrera
63a98819a6
Don't open a main window when battery is critical
...
The main window suddenly opening when a battery is critical is very
disruptive. It can pop up on all sort of undesirable scenarios.
Rather than catch users of guard, merely show a notification that the
battery is critical.
2016-02-19 03:25:55 -03:00
Stephen Lyons
478381a994
add: wpid for M 175 to distinguish between it and M185 wireless mouse
...
I own the former and wanted to correct this detail which caused the wrong
model to be shown in GUI.
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
2016-02-10 19:09:25 +00:00
Matthew Brabham
51a15a960f
Adding Logitech mx 1100 cordless laser mouse to discriptors
2016-01-26 11:04:47 -08:00
Peter Wu
92967eed23
Merge pull request #249 from mulkieran/master-pyudev
...
Fix some bugs in udev.get_indexed_string.
2016-01-13 15:24:51 +01:00
mulhern
d75b6d2f2b
Fix some bugs in udev.get_indexed_string.
...
* from_device_number raises an exception if no device found, rather than
returning None. So, instead of checking the result, catch the exception.
* Use Attributes.get() method instead of checking containment and using the
index operator. This is really the only correct way, see rhbz#1267584.
Effect of the changes:
Previously, if no device was found this method would raise an exception.
Now it returns None instead.
Previously this method read the value of the attribute corresponding to key
twice, once via 'key in attributes' and again when accessing the key.
Now, it just reads it the one time.
Reason for noticing all these problems:
In pyudev-0.18 the Attributes class is fixed, and no longer has the []
operator or __contains__ method or other methods which require a total
mapping. This patch fixes several bugs while simultaneously avoiding these
removed operators.
Signed-off-by: mulhern <amulhern@redhat.com>
2015-12-23 09:22:48 -05:00
Marc Belmont
15f97681ef
Add setting for K400 Plus keyboard
...
The new_fn_swap works on the K400 Plus model.
2015-08-24 19:01:21 +02:00
Peter Wu
5ba816dd38
[WIP] Support MX Master with DPI adjustment support ( #208 )
...
It's not known whether the DPI ranges can be queried, so let's set
hard-code some values for now. Step size is 200. Does this need to
be changed?
TODO: need a capture of whether this is really a read function.
2015-05-31 15:53:26 +02:00
Peter Wu
a515cc3860
Auto-detect FN swap feature for newer devices
2015-05-31 10:56:57 +02:00
Peter Wu
73344cbf26
Simplify feature checking
...
Make mapping features to settings more readable. No functional changes.
2015-05-31 10:38:49 +02:00
Peter Wu
cf27328d13
Merge branch 'updates'
...
Documentation updates.
2015-05-27 23:43:10 +02:00
Peter Wu
e2d65a690e
hidpp20: update features list
...
Based on SetPoint6.65.62_32.exe and Options_2.10.73.exe (features.xml,
defaults.xml, LogiOptionsMgr.exe).
The names are based on the named next to the feature ID. For duplicates,
_2 is appended to the name.
This commands helps parsing numbers from debug prints:
strings LogiOptionsMgr.exe |
sed -nr 's/.*(Feature[0-9a-fA-F]{4})/\1 /p' | sort |
awk 'tolower(a)!=tolower($1){print"";a=$1}1;' | less -S
2015-05-27 23:20:43 +02:00
Peter Wu
3141f06472
Fix crash due to non-locatable icon names ( #199 )
2015-05-27 23:16:39 +02:00
CzBiX
76e327d2fa
update docs for M325
2015-05-08 13:27:29 +08:00
CzBiX
0ae0ef195a
support switch smooth scroll feature
2015-05-08 13:20:46 +08:00
Daniel Serpell
3ea51fe1a2
Add support for MK220 mouse-keyboard combo device.
...
The MK220 receiver has usbid 046d:c52e, adding this id as a generic
receiver is enough to show the mouse and keyboard charge status.
2015-03-06 08:07:22 -03:00
Mikkel Munch Mortensen
66296265ba
Descriptor for k830.
2015-03-05 19:15:12 +01:00
Mikkel Munch Mortensen
952495ce04
Support for NEW_FN_INVERSION.
2015-03-05 19:14:28 +01:00
Tristin Celestin
2b08c5e0c9
Added border around tree view.
2014-01-01 21:45:44 -05:00
Michele Olivo
437e17cf37
Added Italian translation
2013-12-13 18:09:46 +01:00
erik-smit
9a6cdd9cee
TypeError: Argument 3 does not allow None as a value
2013-10-31 11:16:38 +01:00
David Plassmann
8485494ea7
It should check for None specificly
2013-09-25 14:12:53 +02:00
David Plassmann
7a75813a84
level is returned as None in hidpp10.py when the performanceMX mouse is
...
charging. Since the battery state is unknown when beeing recharged it
will now return "N/A".
Before it would crash becasue level was None and could not be inserted
using %d.
2013-09-24 16:56:50 +02:00
Peter Wu
1434b2a50d
Update features and keys list
...
Updated to information available from SetPoint 6.61.15.
2013-08-27 17:55:45 +02:00
Daniel Pavel
c3fdbfb643
translate battery alerts ( fixes #119 )
2013-08-25 23:03:25 +03:00
Peter Wu
b193b39701
Fix missing reprogrammable keys
...
The assumption that the Features IDs are in increasing order does not
hold. This causes the feature check for REPROG CONTROLS (1B00) to fail,
therefore remove the micro-optimisation.
While at it, rename variables and document the functions better.
2013-08-23 21:33:45 +02:00
Peter Wu
9c465cd998
Fix wrong register name for illumination (hidpp10)
...
Broken since 9a2a28e
, this causes a lot of exceptions for every move.
2013-08-21 21:47:24 +02:00
Peter Wu
024a71b618
solaar: add --hidraw option again
...
This options allows the devices list to be restricted which got removed
in:
commit 3b75b69970
Author: Daniel Pavel <daniel.pavel@gmail.com>
Date: Fri Aug 9 12:25:47 2013 +0200
merged solaar-cli functionality into main solaar binary
solaar-cli is still busted, but since it is deprecated, it's probably
fine.
2013-08-21 21:47:24 +02:00
Peter Wu
f144816256
solaar-cli: fix argument parsing in Python 3 again
...
Fix from e3a887f36c
, this got removed
in:
commit 3b75b69970
Author: Daniel Pavel <daniel.pavel@gmail.com>
Date: Fri Aug 9 12:25:47 2013 +0200
merged solaar-cli functionality into main solaar binary
2013-08-21 21:47:24 +02:00
Daniel Pavel
69febfcea5
don't rely on upower to check devices after wake-up ( #111 )
...
still use upower resume events to ping devices, just in case
the old behaviour is available with a command-line option
2013-08-12 15:22:34 +02:00
Daniel Pavel
9934755566
more translation fixes ( #108 )
2013-08-12 00:32:19 +02:00
Daniel Pavel
3b75b69970
merged solaar-cli functionality into main solaar binary
2013-08-09 12:25:47 +02:00
Daniel Pavel
a4f0eab855
updated descriptors with a few more devices
2013-08-08 22:44:23 +02:00
Daniel Pavel
f54ea27d97
updated translator credits in about dialog
2013-08-08 22:43:32 +02:00
Daniel Pavel
db48fe1b40
re-formatted translation files
2013-08-08 22:41:57 +02:00
Daniel Pavel
5faecbf4f3
some strings were untranslated; fixes #100
2013-08-08 21:50:04 +02:00
Daniel Pavel
5af1719384
tray: always pick the lowest battery, if the user hasn't already
2013-08-08 21:49:59 +02:00
Daniel Pavel
6a66370ffe
scrolling over the tray icon switches among devices; fixes #101
...
It now works for the standard systray as well, not just the
appindicator.
2013-08-08 21:49:54 +02:00
Daniel Pavel
c0874220d2
don't str() translated device status; fixes #108
2013-08-08 21:49:50 +02:00
Daniel Pavel
22656d5b82
use Gtk.Application properly
2013-08-08 21:49:35 +02:00
Daniel Pavel
d55963caba
clean-up in usb IDs
2013-08-08 21:49:35 +02:00
Daniel Pavel
413cebe40f
delay some UI initialization until necessary
2013-08-08 21:49:35 +02:00
Daniel Pavel
edc563e0e4
release 0.9.2
2013-07-24 11:40:54 +02:00
Daniel Pavel
969ca59948
translation credits: order languages alphabetically
2013-07-24 11:39:45 +02:00
Daniel Pavel
c97f4082dd
translation credits updated
2013-07-23 22:49:47 +02:00
Daniel Pavel
3d4570cd1f
check the Gtk bindings version at start-up
2013-07-20 06:22:15 +02:00
Daniel Pavel
b6bc35ed3e
K800: added support for hand detection
2013-07-19 11:49:30 +02:00
Daniel Pavel
5d4d0c07ad
use () instead of [] where possible
2013-07-19 11:48:40 +02:00
Daniel Pavel
15cb97c56e
udev devices may not have all the attributes; fixes #93
2013-07-19 11:46:50 +02:00
Daniel Pavel
fcfc7cd6fc
a few more asserts in descriptors
...
just testing stuff...
2013-07-18 20:38:05 +02:00
Daniel Pavel
c3718d22d6
minor clean-ups
2013-07-18 20:36:27 +02:00
Daniel Pavel
2829acd6f5
added side-scrolling toggle setting
2013-07-18 20:35:39 +02:00
Daniel Pavel
c35ae8ffc9
added wpid to T650 descriptor
2013-07-18 20:34:29 +02:00
Daniel Pavel
f7159e9338
properly mask flags when writing device settings; fixes #86
2013-07-18 20:33:52 +02:00
Daniel Pavel
4074fb7750
trim the codename to the declared length ( fixes #90 )
2013-07-18 16:23:34 +02:00
Daniel Pavel
444169d84b
added descriptor for V550 Nano
2013-07-18 15:26:53 +02:00
Daniel Pavel
5d5f97a776
Gtk.Application.get_dbus_object_path my be missing
2013-07-18 14:06:51 +02:00
Daniel Pavel
a8c5d3bc24
Nano receivers were unsupported on kernel 3.2; fixes #88
2013-07-18 14:01:36 +02:00
Daniel Pavel
a3f9860181
added descriptor for V450 Nano; fixes #89
2013-07-17 20:02:31 +02:00
Daniel Pavel
1fed000855
added wpid to M515 desccriptor
2013-07-17 19:54:28 +02:00
Daniel Pavel
61dfefde94
internationalized most strings; fixes #79
...
some might have slipped through the cracks
2013-07-17 19:53:21 +02:00
Daniel Pavel
a4c0ad3d73
added M345 descriptor info
2013-07-16 12:51:01 +02:00
Daniel Pavel
38c76393b1
added copyright notices to all source files
2013-07-15 17:54:42 +02:00
Daniel Pavel
ce9b10dc2d
started i18n support
2013-07-15 17:16:44 +02:00
Daniel Pavel
16af3a9acc
version 0.9.1
2013-07-13 11:24:41 +02:00
Daniel Pavel
c690b2c9e9
minor descriptors clean-up
2013-07-13 11:15:23 +02:00
Daniel Pavel
43ab629a26
moved logitech.unifying_receiver package to logitech_receiver
2013-07-12 22:48:09 +02:00
Daniel Pavel
b83a14e16f
minor clean-ups and formatting
2013-07-12 22:39:17 +02:00
Daniel Pavel
a966bbff6f
fixed handling of protocol version when the device is offline
2013-07-12 22:23:03 +02:00
Daniel Pavel
141a5c3dee
don't ping devices known to be offline
2013-07-12 22:07:58 +02:00
Daniel Pavel
994bb07bc4
descriptors updated
2013-07-12 21:55:32 +02:00
Daniel Pavel
24f658d8fe
support multiple Wireless PIDs for same device model
2013-07-12 21:53:23 +02:00
Daniel Pavel
49d77a2f90
handle unknown devices slightly better
2013-07-12 20:30:46 +02:00
Daniel Pavel
d78c7ed9be
make sure items in window tree are sorted by number ( fixed #73 )
2013-07-12 15:24:49 +02:00
Daniel Pavel
51d0ccf654
only popup the window once per device on battery alerts
2013-07-12 14:35:16 +02:00
Daniel Pavel
9c8252b59f
on alert popups, selected the device that triggered the popup
2013-07-12 14:10:26 +02:00
Daniel Pavel
488a78cc52
fixed #75 (pair button disappearing)
2013-07-12 10:35:28 +02:00
Daniel Pavel
0e6d088372
fixed some awkward path joining stuff
2013-07-11 22:46:29 +02:00
Daniel Pavel
948b4c4d51
updated descriptors and devices doc for Anywhere MX
2013-07-11 15:34:36 +02:00
Daniel Pavel
85efe92d30
replaced appinstance with GtkApplication
2013-07-09 17:52:07 +02:00
Daniel Pavel
c0a7838429
version 0.9.0
2013-07-09 14:42:46 +02:00
Daniel Pavel
eda4112501
removed obsolete old window code
2013-07-08 21:21:53 +02:00
Daniel Pavel
dbb9025e26
replaced _ dummies with _ignore
2013-07-08 21:21:14 +02:00
Daniel Pavel
beee0bc8c2
typo in comment
2013-07-08 20:51:30 +02:00
Daniel Pavel
1be56dd072
version 0.8.99.12
2013-07-07 21:58:33 +02:00
Daniel Pavel
d0b8233c9a
minor clean-up
2013-07-07 21:40:55 +02:00
Daniel Pavel
39534d11dd
make sure all debug and info loggings are if-guarded
2013-07-07 17:18:42 +02:00
Daniel Pavel
ca2f5f927c
configuration: save on every change ( fixes #80 )
2013-07-07 16:06:27 +02:00
Daniel Pavel
8b26759731
release 0.8.99.11
2013-07-07 14:04:11 +02:00
Daniel Pavel
7221ceb7b4
forget battery status when the device has been offline for too long
2013-07-07 12:23:58 +02:00
Daniel Pavel
66416ff4cc
fixed parsing of custom battery messages
2013-07-07 12:23:23 +02:00
Daniel Pavel
0d89d1e6c8
formatting fix in unpairing error dialog
2013-07-07 01:31:22 +02:00
Daniel Pavel
94d07eed53
version 0.8.99.10
2013-07-06 14:35:34 +02:00
Daniel Pavel
508444526a
commented-out the poll-ticking feature
...
not useful right now, and less code to worry about
2013-07-06 14:23:56 +02:00
Daniel Pavel
faa6de3b75
more explicit error dialogs, when possible
2013-07-06 14:20:50 +02:00
Daniel Pavel
77d2ae5249
omit the date in logging, is not important and the lines are shorter
2013-07-06 14:20:12 +02:00
Daniel Pavel
e2f94a9e0e
be more lax as to when to allow pairing new devices
2013-07-06 13:55:22 +02:00
Daniel Pavel
ba55e4d9bd
import * cleanups
2013-07-05 16:19:49 +02:00
Daniel Pavel
8e9ff939f3
hidconsole: enable hidpp automatically when talking to a Logitech Recevier
2013-07-05 16:19:24 +02:00
Daniel Pavel
bd3198f6f0
correctly handle out-of-process pairing and unpairing
2013-07-05 16:06:38 +02:00
Daniel Pavel
3319feeb73
replaced type() with isinstance() where possible
2013-07-05 16:02:38 +02:00
Daniel Pavel
47bcd4478c
prettier error message if unpair fails
2013-07-05 14:35:06 +02:00
Daniel Pavel
065b8628d2
don't always show Notifications in details
2013-07-05 14:34:37 +02:00
Daniel Pavel
87e2f1cad7
solaar-cli: clearer handling of invalid device numbers
2013-07-05 14:34:18 +02:00
Daniel Pavel
373b07f271
fixed pairing in solaar-cli
2013-07-05 14:33:58 +02:00
Daniel Pavel
58f598fc88
version 0.8.99.9
2013-07-04 13:49:48 +02:00
Daniel Pavel
8f44c294d7
still getting strange messages from some devices
2013-07-04 13:37:39 +02:00
Daniel Pavel
f65079ad6d
formatting fix for notifications
2013-07-04 13:35:23 +02:00
Daniel Pavel
edce56cd20
use a single separate thread for all possibly long-running stuff in GUI
2013-07-04 13:23:25 +02:00
Daniel Pavel
cd437c3809
only set NOTIFICATION_FLAGS for 1.0 devices
2013-07-04 13:22:35 +02:00
Daniel Pavel
007cbef086
better coverage of incoming events
2013-07-04 13:20:00 +02:00
Daniel Pavel
a03cc9ce64
more chair switching -- moved notifications handling into own .py
2013-07-03 08:21:40 +02:00
Daniel Pavel
3275aa4c12
allow most receivers to unpair (or at least try)
2013-07-03 08:18:47 +02:00
Daniel Pavel
a0f880fbba
fix for NoneType crash
2013-07-02 19:43:18 +02:00
Daniel Pavel
833f087fdf
also show polling rate in Hz
2013-07-02 12:23:47 +02:00
Daniel Pavel
9a2a28e0aa
replaced hard-coded register numbers with constants
...
also re-worked the battery reading code a bit
2013-07-02 12:23:12 +02:00
Daniel Pavel
bf5fc42f07
fixed duplicate entries in keyboard tasks
2013-07-02 00:40:34 +02:00
Daniel Pavel
fb495fd2fc
version 0.8.99.8
2013-07-01 19:35:46 +02:00
Daniel Pavel
90ab7af069
Anywhere MX and M600 descriptor updates
2013-07-01 19:22:46 +02:00
Daniel Pavel
3436055c7f
re-worked (AGAIN) the way the devices are initially set-up
...
There is absolutely no consistency between the registers and
features receivers have, even if they're the same product_id!
2013-07-01 19:00:26 +02:00
Daniel Pavel
20aa797e96
configuration: use wpid in device key
2013-07-01 18:53:10 +02:00
Daniel Pavel
5ebc2634ae
(hopefully) better serial read-out for devices
2013-07-01 18:40:03 +02:00
Daniel Pavel
94464a40b8
show the battery charge in the devices tree, if available ( fixes #71 )
2013-07-01 18:39:17 +02:00
Daniel Pavel
1194abf125
don't know yet how to tell if the receiver supports the unifying protocol
2013-07-01 15:28:05 +02:00
Daniel Pavel
ceba698678
moved settings templates into separate .py
2013-07-01 15:24:30 +02:00
Daniel Pavel
b1e9480f5a
minor logging tweaks
2013-07-01 15:00:21 +02:00
Daniel Pavel
eaa38c858c
properly format battery status string for 0x07 devices
2013-07-01 11:51:20 +02:00
Daniel Pavel
4504045bc6
extended descriptor for M305
2013-07-01 11:49:44 +02:00
Daniel Pavel
a9ea69b9a1
more explicit error message when trying to pair uncompatible devices
2013-07-01 11:41:47 +02:00
Daniel Pavel
9a8d089c73
handle some mystery data packets from older devices
2013-07-01 11:34:54 +02:00
Daniel Pavel
0d56cfbded
clean-up in get/set notification flags computation
2013-06-30 17:12:44 +02:00
Daniel Pavel
9896875180
cleaner import
2013-06-30 15:03:39 +02:00
Daniel Pavel
a1c04ce39f
renamed 'leds' register to '3leds', in case other may be found later
2013-06-30 15:02:58 +02:00
Daniel Pavel
da541e000a
put usb ids into separate py file
2013-06-30 14:34:53 +02:00
Daniel Pavel
e490162e4f
the K400 also has the FN swap feature
2013-06-30 14:04:14 +02:00
Daniel Pavel
a0b7d39f83
use the wpid to identify devices, when possible
2013-06-30 13:49:35 +02:00
Daniel Pavel
c464e049bf
allow settings to be bound to certain device types
...
avoids stuff like smooth-scroll being attached to a keyboard
2013-06-29 21:26:25 +02:00
Daniel Pavel
daad9b5d5f
cleaned-up NamedInts, added int2bytes and bytes2int generic functions
2013-06-29 20:37:04 +02:00
Daniel Pavel
2682722cb1
cleaned-up config_panel code
2013-06-29 20:35:35 +02:00
Daniel Pavel
8d5718178f
load the configuration when the device is detected
...
and apply it every time the device comes online
2013-06-29 20:35:02 +02:00
Daniel Pavel
1d438f098f
handle 0x07 battery notifications with indicating charging, but with no battery level
2013-06-29 20:26:29 +02:00
Daniel Pavel
1d305db29e
minor UI layout tweaks
2013-06-29 19:02:19 +02:00
Daniel Pavel
c2a549c114
the K800 also has 3 leds, use them to indicate battery charge
2013-06-28 17:09:05 +02:00
Daniel Pavel
f43e298ac7
clean-up configuration on load and save
2013-06-26 16:05:14 +02:00
Daniel Pavel
c25b769578
repr() formatting cleanups
2013-06-26 13:40:46 +02:00
Daniel Pavel
0cf1f1983d
handle backlight notifications from register 0x17
2013-06-26 13:38:36 +02:00
Daniel Pavel
39ec568ab1
descriptors table and devices documentation updated
2013-06-25 18:54:27 +02:00
Daniel Pavel
5b94ebae34
enable the backlight notifications on devices, if available
2013-06-25 18:53:18 +02:00
Daniel Pavel
ff6da43007
version 0.8.99.7
2013-06-25 16:08:47 +02:00
Daniel Pavel
fc5c72e164
some clean-ups in descriptors
2013-06-25 16:01:29 +02:00
Daniel Pavel
bd5c03812f
replaced solaar png icons with svgs
2013-06-25 15:59:49 +02:00
Daniel Pavel
6b0b7ea823
minor clean-ups and formatting
2013-06-24 17:04:19 +02:00
Daniel Pavel
dd24ed5fe0
brought solaar-cli in sync with the latest gui code
2013-06-24 17:02:45 +02:00
Daniel Pavel
f64942b51d
if the battery level is approximative, show a string instead of percentage
2013-06-24 17:02:00 +02:00
Daniel Pavel
375db9996f
fixed reading correct device kind on link notification
2013-06-24 16:58:41 +02:00
Daniel Pavel
20dfc063ff
initial support for performance mx leds
...
The leds light up when we get updates about the battery level.
Right now they are not (programatically) turned off.
2013-06-23 20:59:16 +02:00
Daniel Pavel
70c341e268
don't use proxies for receiver/device objects
...
they should be unnecessary now that their status is properly tracked
2013-06-23 18:37:50 +02:00
Daniel Pavel
dc59c79bd3
properly handle tree re-selection when removing a receiver
2013-06-23 18:35:23 +02:00
Daniel Pavel
422cd26b92
some extra asserts on hid++ 1.0 register r/w
2013-06-23 18:16:13 +02:00
Daniel Pavel
cec892ce88
disable poll ticking
...
It was necessary to periodically check if the peripherals are still
online -- suspend/resume may cause Solaar to (wrongfully) remember the
status of devices after a resume.
Now that is handled by the optional upower module -- the hard way -- by
restarting all listeners on resume.
2013-06-23 18:15:19 +02:00
Daniel Pavel
d5374b9f51
optionally listen for upower suspend/resume events to stop/start all receiver listeners
2013-06-23 18:11:42 +02:00
Daniel Pavel
51e2d965cf
version 0.8.99.6
2013-06-23 15:46:16 +02:00
Daniel Pavel
b3aac40246
dropped activate_on_single_click, requires gtk 3.8
2013-06-23 13:44:34 +02:00
Daniel Pavel
fb138b77ff
version 0.8.99.5
2013-06-23 13:09:44 +02:00
Daniel Pavel
273284da39
use number instead of serial to pick devices in ui (faster start-up)
2013-06-23 12:09:46 +02:00
Daniel Pavel
7102229937
properly handle ^C in console
2013-06-22 21:32:19 +02:00
Daniel Pavel
be80ba3b3b
version 0.8.99.4
2013-06-21 22:27:18 +02:00
Daniel Pavel
4410cb6dc6
comment-out old main window
2013-06-21 22:25:04 +02:00
Daniel Pavel
df8df2bffa
don't force a battery read on link active, will happen anyway
2013-06-21 22:24:28 +02:00
Daniel Pavel
ae4c921300
cleaner start-up of paired devices
2013-06-21 22:23:53 +02:00
Daniel Pavel
3d1aa6698d
only check for non-unifying protocol only on nano receviers
2013-06-21 22:19:31 +02:00
Daniel Pavel
613b115eb4
fixed clean-up of config panel when unpairing devices
2013-06-21 16:51:39 +02:00
Daniel Pavel
e19b690bd5
fixed reading of polling rate
2013-06-21 16:47:19 +02:00
Daniel Pavel
888be8e8a8
be a bit more patient when pairing, the device notification may come after the pairing lock is closed
2013-06-21 16:40:00 +02:00
Daniel Pavel
5785896007
status: the device may be invalid when processing the unpair notification
2013-06-21 16:39:30 +02:00
Daniel Pavel
8d522de7e7
drop some unnecessary logging when ignoring request replies
2013-06-21 16:39:04 +02:00
Daniel Pavel
81ae4c8d4d
forgot about pairing notification on receiver...
2013-06-21 16:32:29 +02:00
Daniel Pavel
8cd3b8fdef
save configuration a little early, better timing on shutdown
2013-06-21 15:21:49 +02:00
Daniel Pavel
c1aa341a7a
tweaked timing of enabling receiver notifications
2013-06-21 15:20:52 +02:00
Daniel Pavel
f9c192c47a
only look for a different tray battery icon if the changed device is a peripheral
2013-06-21 15:19:07 +02:00
Daniel Pavel
cdc6da844e
made the config_panel self-contained
2013-06-21 15:18:21 +02:00
Daniel Pavel
fd35f23af7
one a separate flag to check if the device is active
2013-06-21 15:17:14 +02:00
Daniel Pavel
c04851f64e
better handling of timeouts in base.request
2013-06-21 15:05:48 +02:00
Daniel Pavel
3a63c3ad43
fixed reading encrypted link status in pairing window
2013-06-21 15:04:06 +02:00
Daniel Pavel
431f1c97cf
added read/write_register to receiver and devices
2013-06-21 15:03:36 +02:00
Daniel Pavel
1b68a3d5a9
fixed request timeouts for devices
2013-06-20 19:51:54 +02:00
Daniel Pavel
c797808a40
fixed status keys in pairing
2013-06-20 19:35:54 +02:00
Daniel Pavel
d810ccba84
tray icon: pick the battery of the lowest _active_ device
2013-06-20 17:25:53 +02:00
Daniel Pavel
2fea5d9af2
disable the unpair button for peripherals of a Nano receiver
2013-06-20 17:21:58 +02:00
Daniel Pavel
1d9a3bf23a
fixed checking for features of offline 2.0 devices
2013-06-20 17:21:23 +02:00
Daniel Pavel
3d8c764eb0
relax timeouts for device requests
2013-06-20 17:13:49 +02:00
Daniel Pavel
eb317f0d46
version 0.8.99.2
2013-06-20 14:49:02 +02:00
Daniel Pavel
27de1aea11
tray/window: append new devices rather than inserting them at the top
2013-06-20 14:43:49 +02:00
Daniel Pavel
92f7e761ee
don't save the configuration if it hasn't been loaded first
2013-06-20 14:27:18 +02:00
Daniel Pavel
b2f1786eff
use consistent naming of offline state for devices
2013-06-20 14:18:36 +02:00
Daniel Pavel
f8369e7c63
properly style the details panel
2013-06-20 14:18:03 +02:00
Daniel Pavel
f095a74f2a
make the main window a regular window (visible in tasks list)
2013-06-20 13:51:42 +02:00
Daniel Pavel
4e3fccb009
fixed sizing of details panel
2013-06-20 13:41:05 +02:00
Daniel Pavel
31e134c1e0
don't wait so long on the first idle poll
2013-06-20 13:12:29 +02:00
Daniel Pavel
47e22b788f
version 0.8.99, will become 0.9 on release
2013-06-20 13:12:12 +02:00
Daniel Pavel
798628fdf8
add the USB id for the receiver in the details panel
2013-06-20 13:10:55 +02:00
Daniel Pavel
ca9825d262
support for the VX Nano mouse
2013-06-20 13:10:30 +02:00
Daniel Pavel
1a36ec65ee
faster checking of feature-based settings
2013-06-20 12:55:48 +02:00
Daniel Pavel
d07a20e6f8
improved reading device properties
2013-06-20 12:54:27 +02:00
Daniel Pavel
783b317281
added a protocol field to the device descriptors
2013-06-20 11:04:17 +02:00
Daniel Pavel
4bc525f250
minor clean-ups
2013-06-20 11:02:45 +02:00
Daniel Pavel
11cfc7ea09
enable notification on recevier as soon as possible
2013-06-19 19:46:54 +02:00
Daniel Pavel
a806f2672d
group all status keys into one object
2013-06-19 19:45:39 +02:00
Daniel Pavel
2fee88e54b
fixed battery charge display in device info
2013-06-19 19:23:18 +02:00
Daniel Pavel
7e1a2a6e4f
more fixes for device unpairing
2013-06-19 17:21:28 +02:00
Daniel Pavel
d5b311760e
clean obsolete settings controls when devices are unpaired
2013-06-19 17:04:01 +02:00
Daniel Pavel
dffe6f8b91
fix display of firmware in details panel
2013-06-19 17:03:16 +02:00
Daniel Pavel
b4bca4670b
cache notification flags when possible
...
avoids unnecessary reads from devices when the status hasn't changed
2013-06-19 17:03:01 +02:00
Daniel Pavel
150c43f41f
some logging in udev
2013-06-19 16:49:20 +02:00
Daniel Pavel
9fc11df229
fixed window update when unpairing
2013-06-19 16:22:44 +02:00
Daniel Pavel
56a7a960c3
polling: it may happen that the receiver is removed mid-poll
2013-06-19 16:14:04 +02:00
Daniel Pavel
cd44cc6396
new single-window UI
2013-06-19 15:28:13 +02:00
Daniel Pavel
4af714f1dd
K750: register the FN swap setting statically, no need to detect it at runtime
2013-06-18 16:48:02 +02:00
Daniel Pavel
836719587c
renamed NANO receiver id
2013-06-18 16:45:44 +02:00
Daniel Pavel
f32e958984
version 0.8.9.4
2013-06-17 16:12:32 +02:00
Daniel Pavel
57c759773a
attach configuration to device settings objects
2013-06-17 11:00:53 +02:00
Daniel Pavel
9d6402a4f7
shorter thread name on receiver listener
2013-06-17 08:00:17 +02:00
Daniel Pavel
a29609df21
only save the configuration once when Solaar ends
2013-06-17 08:00:00 +02:00
Daniel Pavel
04ea8293a8
persist and restore device settings
2013-06-16 17:41:03 +02:00
Daniel Pavel
bde54aba3b
proper shutdown of receiver listeners
2013-06-16 17:10:46 +02:00
Daniel Pavel
a44d9b7ca8
fix battery display in main window
2013-06-16 17:10:46 +02:00
Daniel Pavel
febf571d84
account for devices going out-of-range while active
2013-06-16 17:10:46 +02:00
Daniel Pavel
8852d50971
mark device status as inactive after idling out
2013-06-12 14:31:46 +02:00
Daniel Pavel
03e20842fb
cleaned-up gtk ui initialization
2013-06-12 14:29:34 +02:00
Daniel Pavel
d9801e2d57
fixed firmware info for some HID++ 2.0 devices
2013-06-12 14:21:31 +02:00
Daniel Pavel
29fe913fd8
version 0.8.9.3
2013-06-08 21:11:39 +02:00
Daniel Pavel
5b68f9623e
fix indicator description when there are receivers but no devices
2013-06-08 21:10:17 +02:00
Daniel Pavel
2a6662472d
account for all GLib.id_add_watch variants
2013-06-08 21:07:24 +02:00
Daniel Pavel
5cf6777340
more tweaks to idle polling
2013-06-08 21:06:52 +02:00
Daniel Pavel
17863c85b6
fixed querying for known registers
2013-06-08 21:06:22 +02:00
Daniel Pavel
237d0f9d9a
keep the battery level if polling the device marks it as offline
2013-06-08 21:05:30 +02:00
Daniel Pavel
b98e27e464
fix permissions error popup
2013-06-08 21:04:32 +02:00
Daniel Pavel
d01d9edb78
tweaked idle polling timings
2013-06-08 16:27:03 +02:00
Daniel Pavel
0a86683392
clean-up in solaar.listener
2013-06-08 16:18:25 +02:00
Daniel Pavel
b2b4febd31
receiver notifications: don't set all flags, might fail
2013-06-08 16:18:10 +02:00
Daniel Pavel
ad67e6eaee
fix read timeouts in base.py, use seconds everywhere
2013-06-08 16:17:14 +02:00
Daniel Pavel
ed5ce48f65
fixes to polling receiver/device status
2013-06-08 16:16:12 +02:00
Daniel Pavel
f324b97e8b
use GLib.io_add_watch_full when available
2013-06-08 15:02:44 +02:00