Bug 473904

Summary: Stop key recognised as Cancel
Product: [Fedora] Fedora Reporter: Julian Sikorski <belegdol>
Component: hal-infoAssignee: Richard Hughes <richard>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 10CC: peter.hutterer, rhughes, richard
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-12-16 09:08:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
lshal output
none
xkbcomp output none

Description Julian Sikorski 2008-12-01 12:16:47 UTC
Created attachment 325224 [details]
lshal output

Description of problem:
In a Toshiba Satellite A100-847 laptop, pressing Stop multimedia key emits Cancel event, while it should emit XF86AudioStop.

Version-Release number of selected component (if applicable):
hal-info-20081022-1.fc10.noarch

How reproducible:
always

Steps to Reproduce:
1. Get the said laptop
2. Install Fedora 10
3. Press the Stop key
  
Actual results:
Cancel is emitted

Expected results:
XF86AudioStop is emitted

Additional info:
lshal output is attached.

Comment 1 Richard Hughes 2008-12-01 13:22:05 UTC
      <match key="/org/freedesktop/Hal/devices/computer:system.hardware.vendor" string="TOSHIBA">
        <match key="/org/freedesktop/Hal/devices/computer:system.hardware.product" string="SATELLITE A100">
          <append key="input.keymap.data" type="strlist">e024:stop</append>
          <append key="input.keymap.data" type="strlist">e032:www</append>
        </match>
      </match>

It looks like HAL sets the stop key. What key should be used from /usr/include/linux/input.h ? 

Could this be a evdev mapping problem? Peter?

Comment 2 Peter Hutterer 2008-12-02 23:49:34 UTC
Please attach the output of xkbcomp -xkb :0 -, and what specific keycode you actually get (just run xev, it'll tell you when you hit the key).

Looking at /usr/share/X11/xkb/symbols/inet, STOP is mapped to Cancel and the key that's using XF86AudioStop is STOPCD. Could this be a hal-info mapping wrongly?

Comment 3 Julian Sikorski 2008-12-03 07:38:18 UTC
Created attachment 325494 [details]
xkbcomp output

KeyPress event, serial 30, synthetic NO, window 0x5600001,
    root 0x1a6, subw 0x0, time 579672, (391,321), root:(394,392),
    state 0x10, keycode 136 (keysym 0xff69, Cancel), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 30, synthetic NO, window 0x5600001,
    root 0x1a6, subw 0x0, time 579682, (391,321), root:(394,392),
    state 0x10, keycode 136 (keysym 0xff69, Cancel), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Comment 4 Julian Sikorski 2008-12-03 08:25:13 UTC
Here is what evtest.c shows:
Event: time 1228292487.111235, type 4 (Misc), code 4 (ScanCode), value a4
Event: time 1228292487.111257, type 1 (Key), code 128 (Stop), value 0
Event: time 1228292487.111261, -------------- Report Sync ------------

Comment 5 Peter Hutterer 2008-12-04 05:42:22 UTC
right, this key should be mapped to stopcd instead of stop.

Comment 6 Julian Sikorski 2008-12-12 15:13:52 UTC
I can confirm that changing the entry in fdi file to stopcd solves the issue. Any chances for this being merged?

Comment 7 Julian Sikorski 2008-12-16 09:08:21 UTC
The fix has been committed upstream.