gitextract_9uiytb4r/ ├── .coveragerc ├── .git-blame-ignore-revs ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── workflows/ │ ├── checks.yml │ ├── gh-pages.yml │ └── tests.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .python-version ├── CHANGELOG.md ├── COPYRIGHT ├── LICENSE.txt ├── MANIFEST.in ├── Makefile ├── README.md ├── RELEASE.md ├── RHEL.md ├── Release_Notes.md ├── bin/ │ └── solaar ├── docs/ │ ├── .gitignore │ ├── LICENSE.txt │ ├── README.text │ ├── capabilities.md │ ├── debian.md │ ├── devices/ │ │ ├── 00README.txt │ │ ├── Bluetooth Multi-Device Keyboard K380 B342.txt │ │ ├── Bolt Receiver C548.txt │ │ ├── Candy companion chip 405F.txt │ │ ├── Couch Mouse M515 4007.txt │ │ ├── Craft Advanced Keyboard 4066.txt │ │ ├── Craft Advanced Keyboard B350.txt │ │ ├── ERGO M575 Trackball 4096.txt │ │ ├── EX100 Receiver 27 Mhz C517.text │ │ ├── G Pro Wireless Gaming Mouse 4079.txt │ │ ├── G213 Prodigy Gaming Keyboard C366.txt │ │ ├── G304 Lightspeed Wireless Gaming Mouse 4074.txt │ │ ├── G305 Lightspeed Wireless Gaming Mouse 4074.text │ │ ├── G502 Gaming Mouse C07D.text │ │ ├── G502 Lightspeed Wireless Gaming Mouse 407F.txt │ │ ├── G502 Proteus Spectrum Optical Mouse C332.txt │ │ ├── G502 SE Hero Gaming Mouse C08B.txt │ │ ├── G502 X C099.txt │ │ ├── G502 X PLUS 4099.txt │ │ ├── G515 LS TKL 40B4.text │ │ ├── G535 Wireless Gaming Headset 0AC4.txt │ │ ├── G600 Gaming Mouse C24A.txt │ │ ├── G604 Wireless Gaming Mouse 4085.txt │ │ ├── G613 Wireless Mechanical Gaming Keyboard 4065.txt │ │ ├── G703 Wired-Wireless Gaming Mouse 4070.txt │ │ ├── G733 Gaming Headset 0AB5.text │ │ ├── G733 Gaming Headset 0AFE.text │ │ ├── G815 Mechanical Keyboard C33F.txt │ │ ├── G903 LIGHTSPEED Wireless Gaming Mouse 4087.txt │ │ ├── G915 TKL LIGHTSPEED Wireless RGB Mechanical Gaming Keyboard 408E.txt │ │ ├── G915 WIRELESS RGB MECHANICAL GAMING KEYBOARD 407C.text │ │ ├── G915 WIRELESS RGB MECHANICAL GAMING KEYBOARD C33E.text │ │ ├── G915 WIRELESS RGB Mechanical Gaming Keyboard 407E.txt │ │ ├── G935 Gaming Headset 0A87.txt │ │ ├── Illuminated Keyboard C318.txt │ │ ├── Illuminated Living-Room Keyboard K830 4032.txt │ │ ├── K850 Performance Wireless Keyboard 4062.txt │ │ ├── K850 Performance Wireless Keyboard B34D.txt │ │ ├── Keyboard K600 TV 4078.txt │ │ ├── LIFT For Business B033.txt │ │ ├── LIFT VERTICAL ERGONOMIC MOUSE B031.txt │ │ ├── Lightspeed Receiver C539.txt │ │ ├── Lightspeed Receiver C53A.txt │ │ ├── Lightspeed Receiver C53D.txt │ │ ├── Lightspeed Receiver C53F.txt │ │ ├── Lightspeed Receiver C541.txt │ │ ├── Lightspeed Receiver C545.txt │ │ ├── Lightspeed Receiver C547.txt │ │ ├── Logi Pop Keys B365.txt │ │ ├── Logitech G933 Gaming Wireless Headset 0A5B.txt │ │ ├── Logitech PRO X Wireless Gaming Headset 0ABA.txt │ │ ├── M720 Triathlon Multi-Device Mouse 405E.txt │ │ ├── M720 Triathlon Multi-Device Mouse B015.txt │ │ ├── MX Anywhere 3 4090.txt │ │ ├── MX Anywhere 3 B025.txt │ │ ├── MX Anywhere 3 for Business B02D.txt │ │ ├── MX Ergo Multi-Device Trackball 406F.txt │ │ ├── MX Keys Keyboard 408A.txt │ │ ├── MX Keys Keyboard B35B.txt │ │ ├── MX Keys Mini B369.txt │ │ ├── MX Keys S B378.text │ │ ├── MX Keys for Business B363.text │ │ ├── MX Master 3 Wireless Mouse 4082.txt │ │ ├── MX Master 3 Wireless Mouse B023.txt │ │ ├── MX Master 3 for Business B028.text │ │ ├── MX Master 3S B034.txt │ │ ├── MX Master 4.text │ │ ├── MX Mechanical B366.txt │ │ ├── MX Mechanical Mini B367.txt │ │ ├── MX Vertical Wireless Mouse 407B.txt │ │ ├── MX Vertical Wireless Mouse B020.txt │ │ ├── Marathon Mouse M705 101B.txt │ │ ├── Marathon Mouse M705 406D.txt │ │ ├── Multi Device Silent Mouse M585-M590 406B.txt │ │ ├── Nano Receiver C52F.txt │ │ ├── Nano Receiver C534.txt │ │ ├── Nano Receiver C535.txt │ │ ├── Number Pad N545 2006.txt │ │ ├── PRO X 2 40A9.text │ │ ├── PRO X Wireless 4093.txt │ │ ├── Rechargeable Trackpad T651 B00C.txt │ │ ├── Signature M550.text │ │ ├── Signature M650 L Mouse B02A.txt │ │ ├── Unifying Receiver C52B.txt │ │ ├── Wireless All-in-One Keyboard TK820 4102.txt │ │ ├── Wireless Illuminated Keyboard K800 2010.txt │ │ ├── Wireless Illuminated Keyboard K800 new 406E.txt │ │ ├── Wireless Keyboard 4075.txt │ │ ├── Wireless Keyboard Dell KB714 4015.txt │ │ ├── Wireless Keyboard K220 4005.txt │ │ ├── Wireless Keyboard K230 400D.txt │ │ ├── Wireless Keyboard K270(unifying) 4003.txt │ │ ├── Wireless Keyboard K360 4004.txt │ │ ├── Wireless Keyboard K470 4075.txt │ │ ├── Wireless Keyboard K520 2011.txt │ │ ├── Wireless Keyboard MK270 4023.txt │ │ ├── Wireless Mobile Mouse MX Anywhere 2 4072.txt │ │ ├── Wireless Mobile Mouse MX Anywhere 2S 406A.txt │ │ ├── Wireless Mobile Mouse MX Anywhere 2S B01A.txt │ │ ├── Wireless Mouse 4022.txt │ │ ├── Wireless Mouse Dell WM514 4029.txt │ │ ├── Wireless Mouse M185 new 4054.txt │ │ ├── Wireless Mouse M185,M235,M310 4055.txt │ │ ├── Wireless Mouse M185.text │ │ ├── Wireless Mouse M215 2nd Gen 401B.txt │ │ ├── Wireless Mouse M310 M310t 4031.txt │ │ ├── Wireless Mouse M325 400A.txt │ │ ├── Wireless Mouse M345 4017.txt │ │ ├── Wireless Mouse M510 1025.txt │ │ ├── Wireless Mouse M510 4051.txt │ │ ├── Wireless Mouse M525 4013.txt │ │ ├── Wireless Mouse M560 402D.txt │ │ ├── Wireless Mouse MX Anywhere 2 404A.txt │ │ ├── Wireless Mouse MX Master 2S 4069.txt │ │ ├── Wireless Mouse MX Master 2S B019.txt │ │ ├── Wireless Mouse MX Master 4041.txt │ │ ├── Wireless Mouse MX Master 4071.txt │ │ ├── Wireless Mouse MX Master B012.txt │ │ ├── Wireless Mouse Pebble M350 4080.txt │ │ ├── Wireless Multi-Device Keyboard K780 405B.txt │ │ ├── Wireless Rechargeable Touchpad T650 4101.txt │ │ ├── Wireless Solar Keyboard K750 4002.txt │ │ ├── Wireless Touch Keyboard K400 4024.txt │ │ ├── Wireless Touch Keyboard K400 Plus 404D.txt │ │ ├── Wireless Trackball M570 1028.txt │ │ ├── Zone Touch Mouse T400 4026.txt │ │ ├── anywhere-mx.txt │ │ ├── mk700.txt │ │ └── performance-mx.txt │ ├── devices.md │ ├── features.md │ ├── hidpp-documentation.txt │ ├── i18n.md │ ├── implementation.md │ ├── index.md │ ├── installation.md │ ├── issues.md │ ├── rules.md │ ├── uninstallation.md │ ├── usage.md │ └── usb.ids.txt ├── lib/ │ ├── hid_parser/ │ │ ├── __init__.py │ │ └── data.py │ ├── hidapi/ │ │ ├── __init__.py │ │ ├── common.py │ │ ├── hidapi_impl.py │ │ ├── hidconsole.py │ │ └── udev_impl.py │ ├── keysyms/ │ │ ├── __init__.py │ │ ├── generate.py │ │ └── keysymdef.py │ ├── logitech_receiver/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── base_usb.py │ │ ├── common.py │ │ ├── descriptors.py │ │ ├── desktop_notifications.py │ │ ├── device.py │ │ ├── diversion.py │ │ ├── exceptions.py │ │ ├── hidpp10.py │ │ ├── hidpp10_constants.py │ │ ├── hidpp20.py │ │ ├── hidpp20_constants.py │ │ ├── i18n.py │ │ ├── listener.py │ │ ├── notifications.py │ │ ├── receiver.py │ │ ├── settings.py │ │ ├── settings_new.py │ │ ├── settings_templates.py │ │ ├── settings_validator.py │ │ └── special_keys.py │ └── solaar/ │ ├── __init__.py │ ├── cli/ │ │ ├── __init__.py │ │ ├── config.py │ │ ├── pair.py │ │ ├── probe.py │ │ ├── profiles.py │ │ ├── show.py │ │ └── unpair.py │ ├── configuration.py │ ├── custom_logger.py │ ├── dbus.py │ ├── gtk.py │ ├── i18n.py │ ├── listener.py │ ├── tasks.py │ ├── ui/ │ │ ├── __init__.py │ │ ├── about/ │ │ │ ├── __init__.py │ │ │ ├── about.py │ │ │ ├── model.py │ │ │ ├── presenter.py │ │ │ └── view.py │ │ ├── action.py │ │ ├── common.py │ │ ├── config_panel.py │ │ ├── desktop_notifications.py │ │ ├── diversion_rules.py │ │ ├── icons.py │ │ ├── pair_window.py │ │ ├── rule_actions.py │ │ ├── rule_base.py │ │ ├── rule_conditions.py │ │ ├── tray.py │ │ └── window.py │ └── version ├── mkdocs.yml ├── po/ │ ├── README │ ├── ca.po │ ├── cs.po │ ├── da.po │ ├── de.po │ ├── el.po │ ├── es.po │ ├── fi.po │ ├── fr.po │ ├── hr.po │ ├── id.po │ ├── it.po │ ├── ja.po │ ├── ka.po │ ├── nb.po │ ├── nl.po │ ├── nn.po │ ├── pl.po │ ├── pt.po │ ├── pt_BR.po │ ├── ro.po │ ├── ru.po │ ├── sk.po │ ├── solaar.pot │ ├── sr.po │ ├── sv.po │ ├── tr.po │ ├── uk.po │ ├── zh_CN.po │ └── zh_TW.po ├── pyproject.toml ├── release.sh ├── rules.d/ │ └── 42-logitech-unify-permissions.rules ├── rules.d-uinput/ │ └── 42-logitech-unify-permissions.rules ├── setup.py ├── share/ │ ├── README │ ├── applications/ │ │ └── solaar.desktop │ ├── autostart/ │ │ └── solaar.desktop │ └── solaar/ │ └── io.github.pwr_solaar.solaar.metainfo.xml ├── tests/ │ ├── __init__.py │ ├── hid_parser/ │ │ ├── __init__.py │ │ └── test_data.py │ ├── hidapi/ │ │ ├── __init__.py │ │ └── test_hidapi.py │ ├── logitech_receiver/ │ │ ├── __init__.py │ │ ├── fake_hidpp.py │ │ ├── test_base.py │ │ ├── test_base_usb.py │ │ ├── test_common.py │ │ ├── test_desktop_notifications.py │ │ ├── test_device.py │ │ ├── test_diversion.py │ │ ├── test_hidpp10.py │ │ ├── test_hidpp20_complex.py │ │ ├── test_hidpp20_simple.py │ │ ├── test_notifications.py │ │ ├── test_receiver.py │ │ ├── test_setting_templates.py │ │ └── test_settings_validator.py │ ├── solaar/ │ │ ├── test_gtk.py │ │ └── ui/ │ │ ├── test_about_dialog.py │ │ ├── test_common.py │ │ ├── test_desktop_notifications.py │ │ ├── test_i18n.py │ │ ├── test_pair_window.py │ │ └── test_probe.py │ └── test_keysyms/ │ ├── __init__.py │ └── test_keysymdef.py └── tools/ ├── clean.sh ├── create-macos-app.sh ├── create-macos-launchagent.sh ├── hidconsole ├── install-rhel.sh ├── po-compile.sh ├── po-update.sh └── scan-registers.sh