From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve White Date: Fri, 26 Apr 2013 08:46:24 +0000 Subject: Lenovo IdeaPad S206 Message-Id: <20130426084624.GA28942@iota> MIME-Version: 1 Content-Type: multipart/mixed; boundary="MGYHOYXEY6WxJCY8" List-Id: To: linux-hotplug@vger.kernel.org --MGYHOYXEY6WxJCY8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, My new Lenovo IdeaPad S206 has a special button ("OneKey recovery system" button) that I wanted to re-map to a sleep button. I did this, and it works well. There is also a QS key, that one could profitably re-map. Along the way realized that the generic IdeaPad mappings of the Ubuntu 12.10 distro are largely incompatible with the keys on this computer. So I set out to remedy that. I'm not sure I'm following best practices though. In particular, should existing IdeaPad rules be restricted, or should the mappings be overridden? I have some evidence that the mappings here should also work for the S200, but I'm pretty sure they *aren't* appropriate for the S205. ________________________________ $ cat /sys/class/dmi/id/sys_vendor LENOVO $ cat /sys/class/dmi/id/product_name 2638 $ cat /sys/class/dmi/id/product_version Lenovo IdeaPad S206 ________________________________ The OneKey button on this machine is perfect for a sleep button: it is easily accessible, but impossible to press accidentally. To simply re-map the OneKey button, I first observed: A 0x10 press-release pair is emitted if the button is given a substantial press, and released. After about 3 sec of continuous pressing, a 0x11 press-release pair is emitted. I put a rule like this under "keyboard_modulecheck": ________________________________ ENV{DMI_VENDOR}=="LENOVO*", KERNELS=="input*", ATTRS{name}=="Ideapad extra buttons", ATTR{[dmi/id]product_version}=="*S206|*S200", RUN+="keymap $name 0x10 sleep 0x11 hibernate" ________________________________ For the other keys, I have made a keymap file, which at least gets the proper mappings going. I'm not sure if I really improved anything. See attached. For one thing, some of the keys don't seem to make scan codes on any device (the camera key on the F9 key.) Some seem to work regardless of how I map them -- I guess that means they're going straight to hardware and the system just reads the hardware state. I'll be glad to hear what you think! --MGYHOYXEY6WxJCY8 Content-Type: application/x-gunzip Content-Disposition: attachment; filename="udev-db.txt.gz" Content-Transfer-Encoding: base64 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 --MGYHOYXEY6WxJCY8 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=lenovo-ideapad-s206 # key codes on Lenovo IdeaPad S206, and presumably the S200 0x81 reserved # disable lenovo-ideapad mapping 0xB9 reserved # disable lenovo-ideapad mapping 0xBA reserved # disable lenovo-ideapad mapping 0xF1 f6 # on F6 touchpad toggle (disabled) 0x83 rfkill # on F7 handled in module-lenovo-ideapad-s206 0xCE micmute # on F8 #???? camera # on F9 can't find this in udev 0xDB switchvideomode # on F10 0xF0 display_off # on F11 0xCC brightnessdown # on F12 0xD4 brightnessup # on ins 0x82 unknown # QS key --MGYHOYXEY6WxJCY8--