{"id":13341314,"url":"https://github.com/MuratovAS/wayland-keymapper-mouse","last_synced_at":"2025-03-11T21:30:26.794Z","repository":{"id":110197107,"uuid":"389120638","full_name":"MuratovAS/wayland-keymapper-mouse","owner":"MuratovAS","description":"Script for reassignment Logitech mouse keys in Wayland and Sway ","archived":false,"fork":false,"pushed_at":"2021-09-25T08:39:44.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-24T08:29:57.037Z","etag":null,"topics":["keymapper","libinput","logitech","logitech-devices","logitech-mouse","mapper","master-mx","mouse","sway","wayland"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MuratovAS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-24T14:38:47.000Z","updated_at":"2022-12-03T21:34:05.000Z","dependencies_parsed_at":"2023-07-23T13:46:32.396Z","dependency_job_id":null,"html_url":"https://github.com/MuratovAS/wayland-keymapper-mouse","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuratovAS%2Fwayland-keymapper-mouse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuratovAS%2Fwayland-keymapper-mouse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuratovAS%2Fwayland-keymapper-mouse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MuratovAS%2Fwayland-keymapper-mouse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MuratovAS","download_url":"https://codeload.github.com/MuratovAS/wayland-keymapper-mouse/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243115122,"owners_count":20238719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["keymapper","libinput","logitech","logitech-devices","logitech-mouse","mapper","master-mx","mouse","sway","wayland"],"created_at":"2024-07-29T19:25:24.157Z","updated_at":"2025-03-11T21:30:26.781Z","avatar_url":"https://github.com/MuratovAS.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wayland-keymapper-mouse\n\nНебольшой скрипт для переназначения клавиш мыши на пользовательские действия. Скрипт разработан для личного пользования. Для функционирования требует `libinput` и `ydotool`. Предпосылкой к данному решению послужили проблемы с `key-mapper-git`, сбои при загрузки системы, отвал usb устройств. \n\nТестирование проводилось на:\n - OS: Manjaro Linux\n - WM: Sway\n - Mouse: Logitech MX Master 3 (2S)\n\n### Как это работает\n\nПринцип работы приделано прост. \n\n- В момент запуска происходит сканирование подключенных устройств по средствам `libinput list-devices`\n- Затем происходит поиск устройства с именем `Logitech MX Master 3`\n- Создание потока `libinput debug-events --device` для каждого устройства, удовлетворяющего требованиям предыдущего пункта.\n- Парсинг лога событий устройства\n- Выполнения действие в соответствие с событием\n\n**Из преимуществ** подхода можно выделить, отсутствие мьютекса на все устройства, что позволяет использовать такие модули как sway-xkb-switcher. \n\n**Из недостатков** стоит отметить, после переподключения устройства необходима перезагрузка системы или systemd. Но, в случае необходимости, это можно исправить.\n\n### Как использовать\n\nПосле установки в `systemd` создается сервис, запускается автоматически при старте системы. Настройка действий осуществляется по средствам конфигурационного файла. Обратите внимание, действия выполняются от **root** пользователя. \n\n~~~bash\nsudo micro /etc/logitech-master/config\n~~~\n\nПример конфигурационного файла:\n\n~~~bash\n#!/bin/bash\nEVENT_SIDE1=\"ydotool key ctrl+alt+shift+s\"\nEVENT_SIDE2=\"ydotool key ctrl+alt+shift+a\"\nEVENT_SCROLL_UP=\"ydotool key ctrl+alt+shift+w\"\nEVENT_SCROLL_DOWN=\"ydotool key ctrl+alt+shift+q\"\nEVENT_THUMB=\"ydotool key ctrl+alt+shift+z\"\n~~~\n\n### Установка\n\nНеобходимо установить`libinput` и `ydotoold`.\n\n~~~bash\nsudo pacman -S libinput\nyay -S ydotool\n~~~\n\nЗатем произвести установку с правами root\n\n~~~bash\nchmod 744 ./install.sh\nchmod 744 ./uninstall.sh\nsudo ./install.sh\n~~~\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMuratovAS%2Fwayland-keymapper-mouse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMuratovAS%2Fwayland-keymapper-mouse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMuratovAS%2Fwayland-keymapper-mouse/lists"}