Mouse, Macros e afins

uso logitech G300s e meu único problema é as macros que utilizo nele,
apos muita pesquisa achei o piper mas ele não faz as macros com repetição como preciso, nao achei no piper os arquivos pra edição na tentativa de modificar essas macros no profile. enfim trago a discussão a respeito e se alguém utiliza outro método que resolva minha situação.

bom dia Estou na msm com um teclado 810 orion spectrum nao consigo usar nem 10 % dele no mint os led fica no modo onda o tempo todo e os macros nao funcionam

Também to nessa, tenho um mouse Logitech também e queria adicionar um repetidor de cliques no botão lateral dele mas não tem nenhum software fácil de usar que faça isso no momento.

Acho que da para utilizar algo como um script python e programar ele para ser executado quando eu pressiono o botão do mouse mas não tenho a minima ideia como fazer isso, por isso se alguém puder ajudar ai, agradeço desde já.

Recentemente debatemos isso em um outro tópico aqui, creio que haja uma solução paleativa que deve ser apresentada por algum colega de nível avançado em Linux, todavia, é preferível sempre em se tratando de Linux adquirir hardware plug-and-play sem features de controle de software (teclado mecânico, mouse, etc) em razão de serem sempre pensados e produzidos tendo como ambiente padrão o Windows. Naturalmente , esse tipo de ação tem prós e contral: de um lado se perde as comodidades dos softwares e suas personalizações e ajustes finos proprietários, por outro se ganha no fator economia, já que a não presença desses softwares além de tornar esses acessórios “universais”, barateia o processo de aquisição.

Existe esse software:
http://xmacro.sourceforge.net (que nunca utilizei)

E alguns scripts criados por usuários programadores (normalmente coisa antiga):
https://www.hardware.com.br/comunidade/software-gravacao/871004/
https://www.hardware.com.br/comunidade/macro-programa/696092/




1 Curtida

Achei uma solução/gambiarra, mas não seria utilizando exatamente o mouse.
Utilizei o script Python abaixo para fazer isso funcionar, para utiliza-lo é bem fácil pessoal então não tenham muito medo.

Usando o Script

  • Com o arquivo .py já criado execute ele em algum terminal, como no exemplo abaixo:

./macro.py

  • Agora que o script está rodando sempre que voce precionar a tecla "s" ele ira executar os cliques para você, para para-lo é so presionar novamente a tecla "s"
  • Para parar a execução do script é só apertar a tecla "e"

Prerequesitos

  • O Script precisa do Pacote pynput então você precisa telo instalado no seu pc

pip install pynput

Como Criar o Script

1 - Crie um arquivo de texto na /home do seu computador com a extenção .py.

Exemplo: macro.py

2 - Muda as permissões desse arquivo para ser de livre leitura

$ sudo chmod 755

3 - Copie e cole o codigo abaixo nesse arquivo e salve.

#!/usr/bin/python
import pynput
import time
import threading

from pynput.mouse import Controller, Button
from pynput.keyboard import Listener, KeyCode

delay = 0.001
button = Button.left
start_stop_key = KeyCode (char='s')
exit_key = KeyCode (char='e')

class ClickMouse(threading.Thread) :
    def __init__(self, delay, button) :
        super(ClickMouse, self).__init__()
        self.delay = delay
        self.button = button        
        self.running = False
        self.program_runnig = True

    def start_clicking(self) :
        self.running = True
    
    def stop_clicking(self) :
        self.running = False
    
    def exit(self) :
        self.stop_clicking()
        self.program_runnig = False
    
    def run(self) :
        while self.program_runnig :
            while self.running :
                mouse.click(self.button)
                time.sleep(self.delay)

mouse = Controller()
click_thread = ClickMouse(delay, button)
click_thread.start()

def on_press(key) :
    print('press', key)
    if key == start_stop_key :
        if click_thread.running :
            click_thread.stop_clicking()
        else :
            click_thread.start_clicking()
    elif key == exit_key :
        click_thread.exit()
        listener.stop()

with Listener(on_press=on_press) as listener :
    listener.join()

Dicas de e Ideias para utilização:

  • Se você sabe o basico de python dá para configurar uma outra tecla ou sequencia de teclas diferente do "s" para executar o script, depois é śo configurar o botão lateral do seu mouse para ter essa nova tecla e você tera uma perfeita gambiarra para ter o macro de cliques no seu mouse.

  • Também se não quiser ter que iniciar executar o script toda hora que for querer usar o macro é so configurar o script para iniciar com o sistema, é bem facil de fazer isso normamente está nas configurações de inicialização do sistema.

Referencias e fontes:

O script é do video desse canal Pytutorials: Link do Video

2 Curtidas