[keymap] Samsung Series 9 laptop 900X3C: missing some keys

Bug #1012365 reported by Jerker Nordh
90
This bug affects 31 people
Affects Status Importance Assigned to Milestone
systemd (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

There isn't a correct translation from scancodes to keycodes in place for the 900X3C laptop, for more information see "http://jablonskis.org/2012/linux-and-samsung-series-laptop-9-fn-keys/", however the codes on that page are not correct for 900X3C.

/lib/udev/keymap -i input/event3 gives the following information

(Fn+F1..F12)

scan code: 0xCE key code: kpplusminus
scan code: 0x89 key code: brightnessdown
scan code: 0x88 key code: brightnessup
scan code: 0x82 key code: switchvideomode
scan code: 0xF7 key code: f22
scan code: 0xA0 key code: mute
scan code: 0xAE key code: volumedown
scan code: 0xB0 key code: volumeup
got scan code event 0x97 without a key code event
got scan code event 0x96 without a key code event
scan code: 0xB3 key code: prog3
got scan code event 0xD5 without a key code event

The correct functionality would be:
Fn+F1: "Easy Settings"
Fn+F2: Brightness Down (OK)
Fn+F2: Brightness Up (OK)
Fn+F3: Switch Internal/External monitor
Fn+F4: Touchpad On/off
Fn+F6: Mute (OK)
Fn+F7: Vol Down (OK)
Fn+F8: Vol Up (OK)
Fn+F9: Keyboard backlight down
Fn+F10: Keyboard backlight up
Fn+F11: Silent Mode (toggle performance levels for reduced noise)
Fn+F12: Wireless on/off

$ lsb_release -rd
Description: Ubuntu 12.04 LTS
Release: 12.04

$ apt-cache policy udev
udev:
  Installed: 175-0ubuntu9
  Candidate: 175-0ubuntu9
  Version table:
 *** 175-0ubuntu9 0
        500 http://se.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
        100 /var/lib/dpkg/status

Tags: keymap
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in udev (Ubuntu):
status: New → Confirmed
Revision history for this message
svenmeier (sven-meiers) wrote :

See RedHat 838036 too (sans "/usr" prefix).

Revision history for this message
Martin Pitt (pitti) wrote :

Can you please provide a mapping of scan codes to intended key codes, as documented by /usr/share/doc/udev/README.keymap.txt.gz ? Thanks!

Changed in udev (Ubuntu):
status: Confirmed → Incomplete
no longer affects: ubuntu-translations
Revision history for this message
Jerker Nordh (ajn) wrote :
Revision history for this message
Jerker Nordh (ajn) wrote :
Revision history for this message
Jerker Nordh (ajn) wrote :

Added keymap and force-release file as attachments, originally from http://blog.nonobis.nl/?p=11

Changed in udev (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Martin Pitt (pitti) wrote :

I added this upstream to the standard samsung-series-9 map, which also covers a lot of similar models: http://cgit.freedesktop.org/systemd/systemd/commit/?id=90fc91d0065e20

Note that this keeps the "silent mode" key as "prog3", as nothing in the desktop actually would do anything with KEY_SILENTMODE.

Thanks!

affects: udev (Ubuntu) → systemd (Ubuntu)
Changed in systemd (Ubuntu):
status: Confirmed → Fix Committed
tags: added: keymap
Revision history for this message
Jerker Nordh (ajn) wrote :

"Note that this keeps the "silent mode" key as "prog3", as nothing in the desktop actually would do anything with KEY_SILENTMODE."

Actually when the samsung laptop module is loaded it is possible to switch the "performance mode" of the laptop, which for example I have bounded to the "silent mode"-button since that is exactly what is accomplishes. (Slows down the performance which lowers fan-noise)

Of course by default it wouldn't do anything for a user, but by exposing the correct name it could be easier in the future when/if more laptops ship with similar functionality.

Martin Pitt (pitti)
summary: - Samsung Series 9 laptop 900X3C not all keys correctly translated
+ [keymap] Samsung Series 9 laptop 900X3C: missing some keys
Revision history for this message
Սահակ (petrosyan) wrote :

Martin, I don't understand your patch.

I don't think there is such a model as "900XC3".

All Samsung series 9 laptops use the same key scancodes.

Revision history for this message
Սահակ (petrosyan) wrote :

Martin please revert this patch.

It is absolutely incorrect.

Samsung never ever made a laptop with a model "900XC3"

Samsung made a model called "900X3C" but that model is already caught by "*900X3*" expression.

Please revert your patch and close this bug as "Invalid".

Thanks.

Revision history for this message
Jerker Nordh (ajn) wrote :

This model seems to have been added in upstream commit 68c77c2f6168dca0ce7b5edb81612cd6be39e63d

http://cgit.freedesktop.org/systemd/systemd/diff/keymaps/samsung-series-9?id=68c77c2f6168dca0ce7b5edb81612cd6be39e63d

Before that it was definitely not working, and on my 13.04 install I still had to manually fix it, so I can't see why this bug would be invalid?

Ie, it was a problem 12 months ago, it is still a problem now, and the exact solution was posted in the initial bugreport.

Revision history for this message
svenmeier (sven-meiers) wrote :

The device name is "900X3C" and the following commit upstream fixes the issue:

http://cgit.freedesktop.org/systemd/systemd/diff/?id=68c77c2f6168dca0ce7b5edb81612cd6be39e63d

But this fix is still not part of Ubuntu, so why should this bug be invalid?

Revision history for this message
Սահակ (petrosyan) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package systemd - 204-0ubuntu5

---------------
systemd (204-0ubuntu5) saucy; urgency=low

  * Add 0000-upstream-keymaps.patch: Backport latest keymap fixes from
    upstream, as we won't be able to update to newer upstream releases anytime
    soon. (LP: #1193147, #1157334, #1152377, #1012365, #727139)
  * Refresh our patches to apply cleanly.
 -- Martin Pitt <email address hidden> Fri, 05 Jul 2013 08:54:06 +0200

Changed in systemd (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Սահակ (petrosyan) wrote :

sven, do you agree that this commit is incorrect and should be reverted?

http://cgit.freedesktop.org/systemd/systemd/commit/?id=90fc91d0065e20

Revision history for this message
svenmeier (sven-meiers) wrote :

Yes, it should be reverted: there is no "900XC3" produced by Samsung. The actual "900X3C" (I'm writing on just now) is matched by *900X3*.

Revision history for this message
Martin Pitt (pitti) wrote :

Reverted in http://cgit.freedesktop.org/systemd/systemd/commit/?id=f3c19b70fa97. Sorry for mixing up the letters! As this is essentially a no-op, I just leave this bug closed.

Revision history for this message
karlingen (karlo-m) wrote :

Is there a fix for this for 13.04?

Revision history for this message
Martin Pitt (pitti) wrote :

You can download the two rules files from http://cgit.freedesktop.org/systemd/systemd/tree/src/udev/keymap?id=f3c19b70fa97 and put them into /etc/udev/rules.d/ for the time being. (For Ubuntu 13.04)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.