Commit Graph

741 Commits

Author SHA1 Message Date
Peter F. Patel-Schneider 515f994ab8 receiver: ignore disconnects of disconnected devices 2020-02-16 22:16:37 +00:00
Peter F. Patel-Schneider 25905c5d77 receiver: Show type of receiver in CLI show command 2020-02-16 22:16:37 +00:00
Peter F. Patel-Schneider babf0f4ded receiver: Show serial number in stringify of receivers 2020-02-16 22:16:37 +00:00
Peter F. Patel-Schneider 4f4e610635 receiver: battery level 0 is unknown level 2020-02-10 18:44:28 +00:00
Dmitriusan bd26b9340d
scripts/debian: switch to python3 2020-02-06 19:06:47 +01:00
Peter F. Patel-Schneider 0520dde990 receiver: use None for serial number of c534 2020-02-04 22:04:43 +01:00
Peter F. Patel-Schneider 1bc189e2fe ui: add --tray option to start without window visible 2020-01-22 22:22:14 +00:00
Peter F. Patel-Schneider 56762b5494 device: move persister from Setting to _DeviceDescriptor to get around problem with settings discovered after startup 2020-01-21 03:23:25 +00:00
Peter F. Patel-Schneider 77e21a0b63 ui: fix crash when styles add padding by not setting 1-pixel columns; slightly better window layout; add style class to window 2020-01-21 03:11:35 +00:00
Peter F. Patel-Schneider d6fa5269c5 ui: don't ignore offline devices when determining whether pairing is possible 2020-01-21 03:08:49 +00:00
Peter F. Patel-Schneider 0198d58dc7
hidpp20: fix error when showing battery
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-01-19 18:18:33 +00:00
Alex Cherkayev 814b7f30ba
docs: features: added some missing feature names and list of implemented features
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2020-01-19 18:17:18 +00:00
Alex Cherkayev 8039c035a7 devices: Add new variant of K800 keyboard
docs: Add K800 new variant to supported
2020-01-12 16:11:03 +00:00
effective-light 430b70711b hidpp20: features: add BATTERY_VOLTAGE (0x1001) support
Signed-off-by: Filipe Laíns <lains@archlinux.org>

Co-authored-by: Filipe Laíns <lains@archlinux.org>
2020-01-12 16:05:21 +00:00
Peter F. Patel-Schneider 995544396c receiver: don't log messages with unknown report IDs 2019-12-26 16:10:48 +00:00
Peter F. Patel-Schneider 4678f52293 don't have window always be on top 2019-12-24 18:54:12 +00:00
Peter F. Patel-Schneider c6ccc0638d devices: add M310 2019-12-24 12:49:00 +00:00
spaced 4fafd4f6be hidpp20: features: add very basic implementation of 0x1982 (Backlight 2)
Fixes #547
2019-12-12 18:56:08 +00:00
Chad Condon c389c9c2b7 ur: repair low resolution smooth scrolling 2019-11-30 23:12:07 +00:00
Tom Swartz ae9e862f19 Fix typos in comments 2019-10-20 23:53:45 +01:00
Tom Swartz 12f4e187d6 Fix typos in logging, output 2019-10-20 23:53:45 +01:00
Filipe Laíns 51dd2a5d28 notifications: add missing protocol names
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-10-20 23:19:34 +01:00
Alex Cherkayev 6981555804 notifications: fix battery status notification parsing
Fix indicator tooltip (duplicate Solaar line, python list instead of battery status).
2019-08-20 09:40:39 +02:00
spaced 3583759d3a devices: basic support for craft keyboard
* basic support for craft keyboard
* fix issue where _(status) throws exception because namedInt with UTF8.decode
2019-08-20 09:39:11 +02:00
Zachary Cook a06ea6de11 data: fix icon theme for battery level
It was previously assigning levels 1-89 to caution and 90+ to full, which was unintended due to the floor division by 100
2019-08-20 09:35:31 +02:00
Andreas Schneider a868b477e1 Fix reading and storing DPI in config settings
Fixes #328
Fixes #356
Fixes #545
2019-08-20 09:24:22 +02:00
spaced 1ff9c3a40b support for silent mouse M585/M590 2019-08-20 09:23:38 +02:00
Filipe Laíns 2aab7f71fd
release 1.0.1
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 16:55:51 +01:00
Filipe Laíns 6376980213 udev: fix c52b + MX Master
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 17:50:13 +02:00
Filipe Laíns 1bb08d011d
base-usb: add new Lightspeed receiver
used in the G305

Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 15:23:55 +01:00
Filipe Laíns 966c55e69d
base-usb: fix non-unifying for linux 5.2
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 15:18:24 +01:00
Filipe Laíns 6b14004a6f
udev: fix writting to the device
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 15:10:59 +01:00
Daehyeok Mun 7a4f7bbb84 docs: fix broken github.io link to new repo url
Signed-off-by: Daehyeok Mun <daehyeok@gmail.com>
2019-07-26 15:38:16 +02:00
Matthias Fulz 155e2f8c40 fix: #531 #537. Better handling of EPIPE during hid write. 2019-07-26 15:35:21 +02:00
Filipe Laíns 6a1968beff
release 1.0.0
Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-26 14:33:16 +01:00
Filipe Laíns f4557233f1 base-usb: add support for Lightspeed receivers
They way we are currently identifying the type of a receiver (unifying,
nano, lightspeed) in the Receiver class is pretty bad. The correct
approach would be to specify the receiver type name string in
base_usb.py.

Signed-off-by: Filipe Laíns <lains@archlinux.org>
2019-07-16 11:10:03 +02:00
Peter Wu a587ae65d1
Merge pull request #477 from doctor64/pointer_info_show
Added status info print and rename some functions
2019-06-29 18:08:52 +02:00
Peter Wu 127a8053d8
Merge pull request #521 from kacpi2442/master
Added basic support for Lenovo dongle,
https://download.lenovo.com/consumer/options/lenovo_n50_wireless_optical_mouse.pdf
2019-06-29 18:04:25 +02:00
Patrick Decat 6c0acee645 Fix UnicodeDecodeError with ngettext and python2 2019-06-29 18:01:54 +02:00
nicolas 60c52eb13f Name for K780
“Multi-Device” and not “Solar”
2019-06-29 17:59:44 +02:00
Benoit Hanotte 8bac8d68f4 Add MX Master settings
Add the same settings to the logitech MX Master as the one from the MX
Master 2 (scroll wheel DPI, smart scoll sensitivity).
2019-06-29 17:57:02 +02:00
kacpi2442 481511b6c2 Added basic support for Lenovo dongle 2019-04-15 15:40:40 +02:00
Peter Wu c07c115ee3 Avoid collision for wpid 4055 (M185 vs M235)
Hopefully use of a slash does not cause issues. M505 already uses slash
in its codename.

Fixes #499
2019-01-30 16:58:00 +01:00
Markus Heiser 932164458a icons: add application icons from repo's $git-toplevel/share/solaar/
Add application path from the repository to the search paths.

When you Install a project in editable mode (i.e. setuptools "develop mode")
from a local project path, the application path is ``./share``, relative to
git's top level folder. Add this path at the end of search path::

  echo "$(git rev-parse --show-toplevel)/share"
2019-01-30 12:38:54 +01:00
Markus Heiser de79bf1b5c gtk.main(): make source more readable + comment about cli & gui 2019-01-30 12:38:54 +01:00
Peter Dave Hello 68b1f4e413 Update Data of Wireless Mouse M235 (#486) 2019-01-30 12:35:20 +01:00
Beni Cherniavsky-Paskin 1609c3e98a Display "K400 Plus" rather than just "Plus" (#483) 2018-12-30 18:19:38 +01:00
Alex Cherkayev ed9aa76547 Added status info on features MOUSE_POINTER, VERTICAL_SCROLLING, HI_RES_SCROLLING, POINTER_SPEED and LOWRES_WHEEL to solaar show.
Renamed functions for HI_RES_SCROLLING and LOWRES_WHEEL features for consistency.
2018-11-20 16:29:38 +02:00
Mattias Jernberg f79ad67ea7 Add trackball for all settings that mice have 2018-08-13 18:44:16 +02:00
Mattias Jernberg dd8018a4d5 Prepare for allowing multiple device kinds in settings 2018-08-13 18:44:16 +02:00
Mattias Jernberg 350784eb70 Print an error message when assertion fails 2018-08-13 18:36:52 +02:00
Peter Wu f0fc63e5b7
Merge pull request #295 from cschreib/master
Added support for MintX icon set (for Linux Mint integration)
2018-08-13 11:33:10 +02:00
Ben Wolsieffer 2c0ea34694 Fix device tree GUI hierarchy. 2018-08-11 16:24:15 -04:00
Peter Wu 867edf8516
Merge pull request #146 from tristianc/master
Added border around tree view.
2018-08-11 17:55:37 +02:00
Peter Wu dcd1a88250
Merge pull request #390 from Toshik1978/master
Added Logitech K375s support
2018-08-11 16:36:13 +02:00
Peter Wu 336b778398
Merge pull request #452 from lopsided98/hidpp-4.5-fixes
Fix errors related to sleep and power on/off (especially HID++ >=2.0 devices).

Closes #414 by @SonicFrog who originally came up with a similar fix for the connection notice.
2018-08-11 16:26:25 +02:00
Peter Wu 572c7f5e59
Merge pull request #450 from lopsided98/new-m705
Add support for new version of M705 (M-R0073).
2018-08-11 16:11:37 +02:00
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