CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

"Modder" linux par où commencer ?

BuretteGraduee
BuretteGraduee
Niveau 10
24 avril 2014 à 02:23:30

Salut, :)

Depuis un petit moment je me suis mis dans la tête de faire fonctionner un raccourci de mon clavier de mon ordi portable Dell qui active/desactive le touchpad.
Cependant je comprend pas trop comment faire pour faire marcher tout çà.

Car j'ai trouvé ces liens :

(1) http://lxr.free-electrons.com/source/drivers/platform/x86/dell-wmi.c

(2) https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/platform/x86/dell-laptop.c

Je comprend plutôt bien le dernier, et j'en aurais sûrement besoin plus tard car il permettra d'activer/désactiver une LED d'indication pour le touchpad.

Ensuite le premier lien, m'a l'air d'associer le code des touches à des événements. Mais dans le struct de la ligne 55 j'ai aucune info, concernant un éventuel bouton on/off pour le touchpad.

Avec xdev j'ai réussi à récupérer des infos sur le keycode:
http://pastebin.com/kpnrGctd

Pour l'instant, je vais juste essayer d'allumer/eteindre la LED, je verrais le touchpad plus tard, car ca me semble plus compliqué(entre Xorg, Xfce etc ...)

Donc je pensais ajouter mon keycode à dell-wmi.c et l'associer à un événement Touchpad (KEY_TOUCHPAD_TOGGLE d'après /usr/include/linux/input.h).
Cependant ca me pose déjà un problème, comment je fais pour modifier (1) en effet, j'imagine que ce raccourcis est unique à mon modèle de Dell et ca risque peut être de gêner d'autre personnes. Et ensuite ai-je le droit de changer un fichier comme ça, ou dois-je le faire ailleurs vu que c'est un code particulier et non commun à tout les dell

Pour la mise en oeuvre, j'imagine que je dois faire un module, et que j'y inclue ces deux fichiers(enfin leurs headers), et que je fasse une condition toute bête.
Mais comment dois-je faire pour récupérer les events sur linux ? Car je sais que je peux utiliser /dev/input/event mais directement en C je sais pas trop faire, surtout qu'il faut du coup faire une boucle infini qui filtre que entrée, j'imagine qu'il y a module qui le fait déjà non ?

Alors voilà mes questions:
- Est-ce que mon approche vous semble bonne ?
- Comment gérer l'Ajout de code pour le fichier (1) ?
- Comment récupérer les events de façon intelligente ?

Merci et désolé du pavé :peur:

Aithios
Aithios
Niveau 5
26 avril 2014 à 21:35:59

"Donc je pensais ajouter mon keycode à dell-wmi.c et l'associer à un événement Touchpad (KEY_TOUCHPAD_TOGGLE d'après /usr/include/linux/input.h).
Cependant ca me pose déjà un problème, comment je fais pour modifier (1) en effet, j'imagine que ce raccourcis est unique à mon modèle de Dell et ca risque peut être de gêner d'autre personnes. Et ensuite ai-je le droit de changer un fichier comme ça, ou dois-je le faire ailleurs vu que c'est un code particulier et non commun à tout les dell "

:question: Tu récupères les sources du noyau Linux en local et tu les recompiles pour ta machine hein, tu vas pas modifier le code source direct sur le Git du kernel t'en fais pas ! :hap:

Sinon y'a beaucoup plus simple, tu fais un simple raccourci clavier sur le keycode que tu as récupéré avec xdev qui lance un script qui appelle synclient avec l'option et le paramètre qui vont bien, genre :

synclient Touchpad=On

(C'est pas la commande exacte évidemment, mais si tu jettes un oeil ici : http://wiki.archlinux.fr/Touchpad_Synaptics tu trouveras ce que tu recherches)

Bon courage, et ne t'embête pas à patcher le noyau pour ça, même si c'est vrai que c'est très instructif.

BuretteGraduee
BuretteGraduee
Niveau 10
28 avril 2014 à 01:19:42

Je pourrais faire ça en local, mais si je peux aider en participant :hap: Surtout que je suis pas le seul chez qui ca doit énerver :hap:

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment