[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how to add hwdb of keyboard

From: Stefan Huchler
Subject: Re: how to add hwdb of keyboard
Date: Sun, 20 Sep 2020 12:33:43 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Because I am a Guix Noob, that's my first attempt to modify some guix
stuff and also while I am good with elisp I am not experienced with
Guile, but yes mostly it's about me beeing a guix noob, also that would
enable me to have a notebook with a good guix environment, have not even
really good access to the emacs guix tools which makes development even
more difficult.

That seemed the best quick / dirty way, that I have to update my eudev
package each update upstream and that that sucks I know and such
solution would then the next step, but if you can give me the code for
it I would be very happy :)

Ricardo Wurmus <> writes:

> Stefan Huchler <> writes:
>>>> I forked now the eudev definition to add my hwdb data:
>>>> (add-before 'build-hwdb 'add-my-hwdb-file
>>>>                 (lambda* (#:key outputs #:allow-other-keys)
>>>>                   (let ((out (assoc-ref outputs "out")))
>>>>                     (call-with-output-file
>>>>                         (string-append out 
>>>> "/etc/udev/hwdb.d/90-X220-keyboard.hwdb")
>>>>                       (lambda (port)
>>>>                         (display
>>>> "keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPadX220*\n" port)
>>>>                         (display "KEYBOARD_KEY_7b=compose\n" port)
>>>>                         (display "KEYBOARD_KEY_39=enter\n" port)
>>>>                         (display "KEYBOARD_KEY_79=space\n" port)
>>>>                         (display "KEYBOARD_KEY_70=tab\n" port)
>>>>                         (display "KEYBOARD_KEY_0f=backspace\n" port)
>>>>                         (display "KEYBOARD_KEY_3a=home\n" port)
>>>>                         (display "KEYBOARD_KEY_1c=end\n" port)
>>>>                         (display "KEYBOARD_KEY_0e=backspace\n" port)
>>>>                         (display "KEYBOARD_KEY_7d=backspace\n"
>>>>                 port))))))
>>>> Is there a way to make guix system priotise my modified eudev over the
>>>> upstream one?
>>> No, you would need to rebuild with your eudev as a replacement.  
>> When I try to do that:
>> (define udev-service-type
>>   (service-type (name 'udev)
>>                 (extensions
>>                  (list (service-extension shepherd-root-service-type
>>                                           udev-shepherd-service)))
>>                 (compose concatenate)       ;concatenate the list of rules
>>                 (extend (lambda (config rules)
>>                           (match config
>>                             (($ <udev-configuration> udev initial-rules)
>>                              (udev-configuration
>>                               (udev my-eudev)   ;the udev package to use
>>                               (rules initial-rules))))))))
> Why not use modify-services?  All you want to do is change the
> configuration of an existing service, no?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]