Este pode não ser o procedimento correto, mas consegui fazê-lo funcionar. Vou postar e você pode fazer isso se estiver se sentindo aventureiro.
Existem duas maneiras de fazer isso, mas não posso garantir que elas funcionem para você simplesmente porque ainda me considero um novato e fiz isso seguindo os guias de outras pessoas.
AVISO: Isso inclui a compilação de um kernel personalizado. Certifique-se de ter pelo menos um ou mais kernels mais antigos instalados para o caso de algo dar errado!
Primeira maneira (fácil):
- Faça o download do código-fonte do kernel em The Linux Kernel Archives . Basta clicar no botão "Último kernel estável".
- Extraia o arquivo: abra o terminal e navegue até o local onde você baixou o kernel e execute este comando:
tar -xvJf linux-"KernelVersion".tar.xz
(substitua"KernelVersion"
pelo número da versão do kernel baixado). - Isto irá criar uma nova pasta normalmente chamada linux- "KernelVersion" (novamente, este é o número da versão do kernel baixado). Digite essa pasta e navegue para os drivers > escondeu. Agora você deve estar em
/path/to/download/linux-"KernelVersion"/drivers/hid
. - Edite o arquivo
hid-ids.h
com seu editor de texto favorito:gedit hid-ids.h
ounano hid-ids.h
oukate hid-ids.h
-
No editor de texto, navegue até a linha que diz (deve estar na linha 520-530):
% bl0ck_qu0te% -
Edite a linha para que fique assim:
% bl0ck_qu0te% -
Salve e saia. Agora é hora de compilar o kernel.
Você pode encontrar muitos guias para compilar o kernel online, então eu acho que seria melhor encaminhá-lo para um do que escrever o guia eu mesmo. Eu achei este artigo mais útil. Leia o artigo com atenção e tenha cuidado com a configuração.
Com essa correção, tudo funcionou perfeitamente, a única coisa que me incomodava era que xinput
listava vários dispositivos Genius MousePen i608X.
Segunda maneira (difícil):
Desta forma, é mais difícil no sentido de que você terá que editar mais alguns arquivos. Este é o caminho descrito no patch que você mencionou.
- Siga as etapas 1 a 3 da primeira forma.
- Edite o arquivo
hid-core.c
da seguinte forma:
Navegue até o trecho de código que se parece com isto:
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_GENIUS_MANTICORE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_GENIUS_GX_IMPERATOR) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_ERGO_525V) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_I405X) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M610X) },
Altere para isto:
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_GENIUS_GILA_GAMING_MOUSE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_GENIUS_MANTICORE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_GENIUS_GX_IMPERATOR) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_ERGO_525V) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_I405X) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X) },
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X_2) }, //add this
{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M610X) },
- Edite o
hid-ids.h
de forma semelhante à primeira, mas em vez de editar essa linha, adicione esta linha depois:
- Edite o arquivo
hid-kye.c
da seguinte forma:
Encontre este trecho de código:
/*
* See EasyPen M610X description, device and HID report descriptors at
* http://sf.net/apps/mediawiki/digimend/?title=KYE_EasyPen_M610X
*/
e antes disso, adicione isto:
% bl0ck_qu0te%- No mesmo arquivo, encontre esse trecho de código:
e adicione isso depois:
% bl0ck_qu0te%- No mesmo arquivo, encontre esse trecho de código:
e mude para isso:
% bl0ck_qu0te%- No mesmo arquivo, encontre esse trecho de código:
e mude para isso:
% bl0ck_qu0te%-
O último arquivo a ser editado está no diretório
% bl0ck_qu0te%/path/to/download/linux-"KernelVersion"/drivers/hid/usbhid
. É chamadohid-quirks.c
. Dentro dela, encontre este pedaço de código:e mude para isso:
- Lembre-se de salvar todos os arquivos após a edição. Agora você pode compilar o kernel como mencionado acima.
Mais uma vez, essa pode não ser a maneira correta de fazer isso, mas como não encontrei o tutorial como fazê-lo corretamente, tive que fazer isso manualmente. Funcionou para mim, mas, novamente, não posso garantir que funcionará para você. Espero que isso ajude você.