From owner-freebsd-x11@freebsd.org Mon Mar 2 08:29:43 2020 Return-Path: Delivered-To: freebsd-x11@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 74F6B25E1E3 for ; Mon, 2 Mar 2020 08:29:43 +0000 (UTC) (envelope-from grembo@freebsd.org) Received: from mail.evolve.de (mail.evolve.de [213.239.217.29]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.evolve.de", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48WCxL24M4z3Pl2 for ; Mon, 2 Mar 2020 08:29:42 +0000 (UTC) (envelope-from grembo@freebsd.org) Received: by mail.evolve.de (OpenSMTPD) with ESMTP id a6479a95; Mon, 2 Mar 2020 08:29:39 +0000 (UTC) Received: by mail.evolve.de (OpenSMTPD) with ESMTPSA id 3887fdbf TLS version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO; Mon, 2 Mar 2020 08:29:36 +0000 (UTC) Date: Mon, 2 Mar 2020 09:29:33 +0100 From: Michael Gmelin To: Kevin Oberman Cc: x11-list freebsd Subject: Re: Unexpected fallout of evdev Message-ID: <20200302092933.573a3479@bsd64.grem.de> In-Reply-To: References: X-Face: $wrgCtfdVw_H9WAY?S&9+/F"!41z'L$uo*WzT8miX?kZ~W~Lr5W7v?j0Sde\mwB&/ypo^}> +a'4xMc^^KroE~+v^&^#[B">soBo1y6(TW6#UZiC]o>C6`ej+i Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEWJBwe5BQDl LASZU0/LTEWEfHbyj0Txi32+sKrp1Mv944X8/fm1rS+cAAAACXBIWXMAAAsTAAAL EwEAmpwYAAAAB3RJTUUH3wESCxwC7OBhbgAAACFpVFh0Q29tbWVudAAAAAAAQ3Jl YXRlZCB3aXRoIFRoZSBHSU1QbbCXAAAAAghJREFUOMu11DFvEzEUAGCfEhBVFzuq AKkLd0O6VrIQsLXVSZXoWE5N1K3DobBBA9fQpRWc8OkWouaIjedWKiyREOKs+3PY fvalCNjgLVHeF7/3bMtBzV8C/VsQ8tecEgCcDgrzjekwKZ7TwsJZd/ywEKwwP+ZM 8P3drTsAwWn2mpWuDDuYiK1bFs6De0KUUFw0tWxm+D4AIhuuvZqtyWYeO7jQ4Aea 7jUqI+ixhQoHex4WshEvSXdood7stlv4oSuFOC4tqGcr0NjEqXgV4mMJO38nld4+ xKNxRDon7khyKVqY7YR4d+Cg0OMrkWXZOM7YDkEfKiilCn1qYv4mighZiynuHHOA Wq9QJq+BIES7lMFUtcikMnkDGHUoncA+uHgrP0ctIEqfwLHzeSo+eUA66AqzwN6n 2ZHJhw6Qh/PoyC/QENyEyC/AyNjq74Bs+3UH0xYwzDUC4B97HgLocg1QLYgDDO1v f3UX9Y307Ew4AHh67YAFFsxEpkXwpXY3eIgMhAAE3R19L919nNnuD2wlPcDE3UeT L2ytEICQib9BXgS2fU8PrD82ToYO1OEmMSnYTjSqSv9wdC0tPYC+rQRQD9ESnldF CyqfmiYW+tlALt8gH2xrMdC/youbjzPXEun+/ReXsMCDyve3dZc09fn2Oas8oXGc Jj6/fOeK5UmSMPmf/jL+GD8BEj0k/Fn6IO4AAAAASUVORK5CYII= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 48WCxL24M4z3Pl2 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-1.99 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_MEDIUM(-0.99)[-0.994,0]; ASN(0.00)[asn:24940, ipnet:213.239.192.0/18, country:DE]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Mar 2020 08:29:43 -0000 On Fri, 28 Feb 2020 09:46:44 -0800 Kevin Oberman wrote: > This is odd enough that I am uncomfortable opening a ticket. it makes > little sense to me. > > Since I updated to xorg-server-1.20.7 with attendant transition to > evdev and updating to mesa-19.0.8, I can no longer adjust my LCD > brightness from my keyboard. I tried xev pressing Fn does generate > press and release events but Fn-Home and Fn-End, the brightness > control keys on my ThinkPad T520, produce no event and no change to > the brightness. I can still adjust brightness with sysctl. > > Other Fn combinations, such as turning the ThinkLight on and off > work, but I know that some of these are processed by ACPI/EC without > OS involvement. > ... We discussed this off-list and found a solution. It works in vtys as well as in xorg. For completeness sake, this is how we did it (assumes you're using /bin/sh or bash): 1. Load acpi_ibm: kldload acpi_ibm sysrc kld_list+=acpi_ibm 2. Install intel-backlight package pkg install intel-backlight 3. Create /etc/devd/thinkpad.conf fetch -o /etc/devd https://blog.grem.de/thinkpad.conf or cat >/etc/devd/thinkpad.conf<<"EOF" notify 10 { match "system" "ACPI"; match "subsystem" "IBM"; action "/usr/local/sbin/thinkpad_extra_keys.sh $notify"; }; EOF 4. Create /usr/local/sbin/thinkpad_extra_keys.sh fetch -o /usr/local/sbin https://blog.grem.de/thinkpad_extra_keys.sh or cat >/usr/local/sbin/thinkpad_extra_keys.sh<<"EOF" #!/bin/sh if [ "$1" = "" ] then echo "usage: $0 notify" exit 1 fi case $1 in 0x05) LEVEL=$(sysctl -n dev.acpi_ibm.0.bluetooth) if [ "$LEVEL" = "1" ] then sysctl dev.acpi_ibm.0.bluetooth=0 MESSAGE="bluetooth disabled" else sysctl dev.acpi_ibm.0.bluetooth=1 MESSAGE="bluetooth enabled" fi ;; 0x10) MESSAGE=$(/usr/local/bin/intel_backlight incr) ;; 0x11) MESSAGE=$(/usr/local/bin/intel_backlight decr) ;; *) MESSAGE="UNKNOWN EVENT $1" ;; esac logger thinkpad_extra_keys: ${MESSAGE} exit 0 EOF 5. Mark /usr/local/sbin/thinkpad_extra_keys.sh executable chmod 755 /usr/local/sbin/thinkpad_extra_keys.sh 6. Restart devd This should do the trick and allow brightness control to work inside and outside of X. There are more things that can be controlled in there (see `man 4 acpi_ibm'). Cheers, Michael -- Michael Gmelin