Page 2 of 2 FirstFirst 12
Results 11 to 17 of 17

Thread: Special notebook keys: no output in either xev or dmesg

  1. #11
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: Special notebook keys: no output in either xev or dmesg

    Hi Irfy,

    I don't think I mentioned on this thread before that I can't pick up anything on acpi_listen. But we think we found out what is suppose to pick up the two "missing" bezel keys and swivel hinge. It is a kernel module called hp-wmi. So we may be making progress too.

    So I guess I did try out the instructions.
    Last edited by Favux; April 2nd, 2009 at 11:33 PM.

  2. #12
    Join Date
    Mar 2009
    Beans
    10
    Distro
    Ubuntu 8.10 Intrepid Ibex

    Re: Special notebook keys: no output in either xev or dmesg

    Wow, that seems to be out of my range. From what I figure, any key should either
    [list][*]produce something with xev,[*]produce something with acpi_listen,[*]produce something in dmesg, or[*]it could hopelessly try to invoke some key event that is beyond what X can see (>255).

    Now the first two you obviously tried. Have you seen any dmesg messages saying that you should use setkeycodes to set unmapped keyboard keys? Running
    Code:
    dmesg | grep -i setkeycodes
    should do the trick.

    Have you checked out the last option? Is the number shown by running
    Code:
    sudo dumpkeycodes | awk '{print $2}' | sort -g | tail -n1
    bigger than 255?

    If both answers are no, I will be very curious , but rather unhelpful, since I don't have the machine to experiment

  3. #13
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: Special notebook keys: no output in either xev or dmesg

    Hi Irfy,

    Have you seen any dmesg messages saying that you should use setkeycodes to set unmapped keyboard keys?
    No and running
    Code:
    dmesg | grep -i setkeycodes
    returns nothing.

    And with
    Code:
    sudo dumpkeycodes | awk '{print $2}' | sort -g | tail -n1
    I get 255. But interestingly when I looked in "/var/run/hotkey-setup" a while ago there is a keycode 465 paired to e001. The next two highest are e008 387 and e00e 389. And the next highest is 255 as far as I can tell. This naturally made me wonder.
    Last edited by Favux; April 3rd, 2009 at 05:17 AM.

  4. #14
    Join Date
    Mar 2009
    Beans
    10
    Distro
    Ubuntu 8.10 Intrepid Ibex

    Re: Special notebook keys: no output in either xev or dmesg

    I had a quick look at kernel's input.h and see that the three keys you are talking about (465, 387 and 389) are these (in hex):
    Code:
    #define KEY_FN_ESC		0x1d1
    #define KEY_PLAYER		0x183
    #define KEY_DVD			0x185	/* Media Select DVD */
    Then I tried
    Code:
    egrep '1d1|465|183|387|185|389' `locate hotkey`
    but found nothing meaningful. It seems to me that /var/run/hotkey-setup is generated from other hotkey files and that some of them should define your >255 keys. Perhaps you should try running this egrep command to see which file actually defines your hotkeys.

    Perhaps you should check what the current assignment is for those scancodes
    Code:
    sudo dumpkeycodes | egrep 'e001|e008|e00e'
    In any case, I'd suggest assigning those scancodes (e001, e008 and e00e) manually using setkeycodes to some <255 keys. You can as well make totally random assignments, just to see if it produces anything in xev when you press the bezel keys that don't work. I'd go with something like
    Code:
    . /usr/share/acpi-support/key-constants
    setkeycodes e001 $KEY_A
    setkeycodes e008 $KEY_B
    setkeycodes e00e $KEY_C
    and these three keyboard keys should produce the characters a, b and c respectively when you press them.

    I'd even go as far as to assign all non-assigned scancodes to some well-known key to rule out your bezel keys being not mapped or wrongly mapped. Here's some ad-hoc action on that:
    Code:
    . /usr/share/acpi-support/key-constants
    export KEY_A
    sudo dumpkeycodes | egrep ' 0' | awk '{ cmd = sprintf("sudo setkeycodes %s %s", $1, ENVIRON["KEY_A"]); system(cmd) }'
    sudo dumpkeycodes | egrep ' 0'
    The last command should give no output, and all the originally not assigned scancodes should produce an "a" if they are pressed on the keyboard. So try out your bezel keys now.

  5. #15
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: Special notebook keys: no output in either xev or dmesg

    Hi again Irfy,

    I appreciate your help.
    Code:
    sudo dumpkeycodes | egrep 'e001|e008|e00e'
    yields
    Code:
    e001 148
    e008 193
    e00e 226
    So they are already remapped? I ran
    Code:
    sudo dumpkeycodes | egrep ' 0'
    before the other commands and it gave a fairly long output of paired numbers (hex numbers each paired with a zero). Then I ran the second set of commands and ran it again and this time no output. I tried the two lower bezel keys and the swivel hinge (which triggers a rotation event in Windows) but got nothing. When I tried xev it spewed some meaningless output but no reaction to the bezel keys or swivel hinge.

    The other two bezel keys still work. DVD brings up Rythmbox and the "Q" key (which I bound to rotation) still rotates the screen.

  6. #16
    Join Date
    Mar 2009
    Beans
    10
    Distro
    Ubuntu 8.10 Intrepid Ibex

    Re: Special notebook keys: no output in either xev or dmesg

    Quote Originally Posted by Favux View Post
    Code:
    sudo dumpkeycodes | egrep 'e001|e008|e00e'
    yields
    Code:
    e001 148
    e008 193
    e00e 226
    So they are already remapped?
    Yeah, and those three keycodes are in the xev visible range, so that is not the problem, definitely.

    The rest just made sure the keys didn't produce any unmapped keyboard events. And since you already said acpi_listen didn't produce anything either, I'm really out of ideas

    It appears that WMI is yet another interface for communicating "things" from the hardware to the software, and that you'll have to stick to hp-wmi and perhaps recompile the newer kernels, try them out, hoping for the best...

  7. #17
    Join Date
    Nov 2008
    Beans
    9,635
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: Special notebook keys: no output in either xev or dmesg

    Hi Irfy,

    Thanks for trying. I think you're probably right. At least we now know who the maintainer on hp-wmi is. Maybe some pleading?

Page 2 of 2 FirstFirst 12

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •