Announcement

Collapse
No announcement yet.

Microsoft Comfort 5050 Desktop keyboard

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Microsoft Comfort 5050 Desktop keyboard

    I'm having a rough time getting all the keys on my new Microsoft Comfort 5050 Desktop keyboard to work. It's this keyboard:



    Almost everything works. All the regular keys work out of the box. Other keys I've been able to get to work with this standard route:

    System Settings ==> Shortcuts ==> Custom Shortcuts ==> [right click "examples"] ==> New ==> Command/URL

    For example, I did that and put in the kcalc command and pressed the button that looks like a little calculator on the keyboard. Now that brings up the calculator. No problem. It also worked for the button that looks like an envelope. I assigned that one to go to the URL where I get my Yahoo mail.

    So far, so good. It has all been working exactly like my previous Microsoft keyboard, a 4000, which I'm replacing due to age.

    However, the ones I haven't been able to make work are the specialty buttons numbered 1 - 5. These should not be confused for the number keys or for the function keys (F1 - F5). Most Microsoft keyboards have these speciality hot keys numbered 1 - 5. Right next to them is a star key, which is commonly used to pull up a directory for the 1 - 5 hotkeys.

    This star button I was actually able to assign to something. I assigned that to my KeepassXC application. When I pressed on it to assign it, it was named "favorites". When I named kcalc by pressing on the calculator button, it was named "launch(1)".

    But naming those 1 - 5 specialty buttons has been like pulling teeth. They don't respond when I press them to assign them. On the old MS keyboard, the 4000, they would always be named "launch" and a number, much like the calculator button did. But they don't respond.

    There is a place in settings where you can specify a specific keyboard. That's in:
    System Settings ==> Input Devices ==> Keyboard

    I've tried setting it to every Microsoft keyboard on the list, but it doesn't seem to make any difference. I can assign any key other than the specialty 1 - 5 keys. I even tried setting it to a few Dell keyboards (this PC is a Dell), but there was no difference.

    I've googled this a ton, and I happened upon a utility that's supposed to solve the problem. It's named keytouch-editor, and its web page is here:

    http://keytouch.sourceforge.net/dl-keytouch-editor.php

    I installed it from the Discover repository, and it ran in the sense of it pulled up a GUI, but I could not get it to assign those keys. I uninstalled that one and then installed the deb file that's supposed to be for the 3.1.2 Ubuntu package AMD64. I couldn't get that one to run. I installed it, but I get the error message:

    "No event devices are available in /dev/input."

    Super frustrating.

    However, if I run the Krusader file manager as root and then go into the usr/sbin directory and double click on keytouch-editor, it runs. Strange.

    So this little utility brings up a menu like this:


    It has me choose these keyboards one by one and test the specialty key to see if it responds. None of them respond except for the Logitech MX Master 2S. Weird.

    Anyway, it has me assign each keystroke with menus like these:




    You'll notice that each special key has the same USB code. I did all 5 of them, and they all had that same code. Then when I went to save the set, it brought up this error:



    It makes me wonder if I've even got the right utility. I also noticed on that guy's web page, he has some ready made Microsoft keyboard files here:
    http://keytouch.sourceforge.net/keyboards_microsoft.php

    That's great, but I don't even know what to do with these files. How can I try them out to see if they might work for my keyboard? If I open a file, I see that it has code like this:

    Code:
    <keyboard>
    	<file-info>
    		<syntax-version>1.0</syntax-version>
    		<last-change format="%d-%m-%Y">3-9-2005</last-change>
    		<author>Marvin Raaijmakers</author>
    	</file-info>
    	<keyboard-info>
    (end excerpt)
    Is there some way I could plug one of these into Kubuntu to see if it work for my keyboard. Frankly, I'm surprised that the special keys 1 through 5 aren't working. This keyboard is fundamentally the same design as my old keyboard, the 4000. One difference is the old one is not wireless. I did use my generic Dell keyboard between these two -- not sure if that makes a difference.

    I noticed that my version of keytouch-editor was not the latest, so I downloaded the latest deb file for Ubuntu from here:
    http://keytouch.sourceforge.net/dl-keytouch.php

    When I tried to install it via QApt package installer, it complained about not having all dependencies satisfied, so I tried on the command line. It still bitched, but at least it told me what was missing. It was this thing called libgnome-menu2. So I searched how to install it and found this page:

    https://zoomadmin.com/HowToInstall/U...libgnome-menu2

    It gave me these steps to install that:

    Code:
    sudo apt-get update -y
    
    sudo apt-get install -y libgnome-menu2
    So I did that, but it failed. My God! What do I have to do to get this @#$%ing thing to work?

    So I try downloading the very latest platform independent one:
    keyTouch 2.4.1 -- source
    From same page (http://keytouch.sourceforge.net/dl-keytouch.php).

    I put that in a directory and extract it and find an install instructions file, which say:
    - Run './configure' in this directory.
    - Run 'make'
    - Run 'make install' as root

    I try that. It doesn't work.

    AAAAAARRRRRRRGGGGGGGGGGG!

    Granted, I don't know very much about compiling source and then installing. But, sheesh, what do I have to do to make these specialty hotkeys work? They worked so well on the previous Microsoft keyboard. I don't even know for sure if this keytouch-editor program is even the answer. But I can't even get its latest version to run to find out.

    I've googled and tried stuff till my brain is fried. I don't even know how to test those ready-made files (http://keytouch.sourceforge.net/keyboards_microsoft.php) to see if they can help.

    I've tried what I know how to do and am stuck. If anyone has any ideas on what might make those buttons work, I'd be delighted to hear from you.
    Last edited by Tom_ZeCat; Jun 26, 2021, 11:17 AM. Reason: fix codes
    Kubuntu 22.04 (desktop & laptop), Windows 7 &2K (via VirtualBox on desktop PC)
    ================================

    #2
    You could try
    Code:
    showkey -a
    , press each of the "special keys" on the MS keyboard, and copy the output into your keyTouch-editor. Not sure what you may want to do with each key, but if you get an ascii code it might get you going.

    The showkey function has some other options (see man showkey) that might also be useful.
    The next brick house on the left
    Intel i7 11th Gen | 16GB | 1TB | KDE Plasma 5.24.7 | Kubuntu 22.04.4 | 6.5.0-28-generic


    Comment


      #3
      My keyboard (Logi MX Keys) has a calculator button, and it did not show as a keypress in showkey, or even evdev.
      Past Logiterch keyboards I have used, this button works with no configuration, as far as I recall, so this was odd.
      However, when setting a custom application shortcut for Kcalc, Systyem Settings shortcut editor Just Worked. I used the 'Add Application" (as opposed to custom shortcuts) as Kcalc was not in the list, and the dialogs to add it did detect the key-press, so it works for me.
      I wonder if the same can be used for the MS keyboard?

      Click image for larger version

Name:	Screenshot_20210626_174819.jpg
Views:	1
Size:	54.1 KB
ID:	645174

      Comment


        #4
        Originally posted by jglen490 View Post
        You could try
        Code:
        showkey -a
        , press each of the "special keys" on the MS keyboard, and copy the output into your keyTouch-editor. Not sure what you may want to do with each key, but if you get an ascii code it might get you going.

        The showkey function has some other options (see man showkey) that might also be useful.
        Interesting command. I did not know about this one. I ran it, and it gives a result for any of the standard keys. However, there is no result for the special keys which aren't working on my keyboard. At first I thought that maybe those keys are malfunctioning and I've got a bad keyboard. But wait. I made sure the calculator button was not assigned to kcalc or anything, but showkey doesn't show anything for it, and I know it works.

        Originally posted by claydoh View Post
        My keyboard (Logi MX Keys) has a calculator button, and it did not show as a keypress in showkey, or even evdev.
        Past Logiterch keyboards I have used, this button works with no configuration, as far as I recall, so this was odd.
        However, when setting a custom application shortcut for Kcalc, Systyem Settings shortcut editor Just Worked. I used the 'Add Application" (as opposed to custom shortcuts) as Kcalc was not in the list, and the dialogs to add it did detect the key-press, so it works for me.
        I wonder if the same can be used for the MS keyboard?

        [ATTACH=CONFIG]9485[/ATTACH]
        In that same section as your screen shot, I was able to go to add application (just a plus on my screen) button at the bottom and add a shortcut. I put in the application keepassxc and assigned it to Shift+Control+Meta+K, and it ran. I then assigned it to the calculator button. It warned me that I was taking it away from kcalc, but then it ran as well. However, when I try to assign it to the Special1,2,3,4, or 5 key, it does not respond. With the previous keyboard, it would always assign it to "launch(some number)" much like the calculator button does it.

        Btw, I think your keyboard will launch kcalc with that button. Yours is showing it as "launch(1)", same as mine.

        There's one other thing I tried. I went to:
        System Settings ==> Input Devices ==> Keyboard ==> Advanced ==> Miscellaneous compatibility options
        [checked off] Enable extra typographic characters

        It was a good idea, but it didn't work.

        There are two other things I always do in that area. They are:

        System Settings ==> Input Devices ==> Keyboard ==> Advanced ==> Ctrl Position ==> Swap Ctrl and Caps Lock

        System Settings ==> Input Devices ==> Keyboard ==> Advanced ==> Position of Compose Key ==> Right Alt

        I swap Ctrl and caps lock so that the Ctrl key is just to the left of the A key in easier reach. The other one lets me use the right-side Alt key to put special characters above vowels for foreign languages, for example ?, ?, and many others. I've used these settings for years and never had any problem. They worked fine on the previous Microsoft keyboard.

        So no luck yet. I've done a lot of google and duckduckgo searches, but I must still be missing something.

        It makes me wonder if there's some configuration file that I could edit directly to make it do it. I am going to try plugging in the old Microsoft keyboard, the one that worked before, and see what happens. I wonder if something in Kubuntu is somehow blocking this.

        Edit:
        I plugged in the old Microsoft keyboard and reprogrammed the Special Shortcut buttons, hoping maybe they would work on the new keyboard. They all worked perfectly on the old keyboard and not at all on the new one. I did get a directory of what each key is named when it works:

        Special 1 - launch(7)
        Special 2 launch(8)
        Special 3 - launch(9)
        Special 4 - launch(A)
        Special 5 - launch(B)
        Special star = Favorites (Only one that worked on new keyboard.)
        Last edited by Tom_ZeCat; Jun 26, 2021, 06:05 PM.
        Kubuntu 22.04 (desktop & laptop), Windows 7 &2K (via VirtualBox on desktop PC)
        ================================

        Comment


          #5
          The "shortcut" handling in Kubuntu 20.04 is buggy and unpredictable, IMO. I found myself going round in circles before arriving at nothing working.
          Last year sometime I posted:
          I've had some ... if not success, relief, maybe, by resetting ~/.config/kglobalshortcutsrc by renaming it to kglobalsshortcutsrc.old.
          If you are still using X, that is not using Wayland, xev might shed some light. This is what I get if I use the calculator button (actually an Fn combination on my CoolerMaster CK350):
          Code:
          $ xev -event keyboard
          [I]<...snip...>[/I]
          KeyPress event, serial 28, synthetic NO, window 0x5c00001,
          root 0x75a, subw 0x0, time 42207409, (-263,434), root:(1469,467),
          state 0x0, keycode 148 (keysym 0x1008ff1d, [COLOR="#FF0000"][B]XF86Calculator[/B][/COLOR]), same_screen YES,
          XLookupString gives 0 bytes:
          XmbLookupString gives 0 bytes:
          XFilterEvent returns: False
          
          KeyRelease event, serial 29, synthetic NO, window 0x5c00001,
          root 0x75a, subw 0x0, time 42207524, (-263,434), root:(1469,467),
          state 0x0, keycode 148 (keysym 0x1008ff1d, [COLOR="#FF0000"][B]XF86Calculator[/B][/COLOR]), same_screen YES,
          XLookupString gives 0 bytes:
          XFilterEvent returns: False
          (that's my emphasis)
          Regards, John Little

          Comment


            #6
            Originally posted by jlittle View Post
            The "shortcut" handling in Kubuntu 20.04 is buggy and unpredictable, IMO. I found myself going round in circles before arriving at nothing working.
            Last year sometime I posted:

            If you are still using X, that is not using Wayland, xev might shed some light. This is what I get if I use the calculator button (actually an Fn combination on my CoolerMaster CK350):
            Code:
            $ xev -event keyboard
            [I]<...snip...>[/I]
            KeyPress event, serial 28, synthetic NO, window 0x5c00001,
            root 0x75a, subw 0x0, time 42207409, (-263,434), root:(1469,467),
            state 0x0, keycode 148 (keysym 0x1008ff1d, [COLOR="#FF0000"][B]XF86Calculator[/B][/COLOR]), same_screen YES,
            XLookupString gives 0 bytes:
            XmbLookupString gives 0 bytes:
            XFilterEvent returns: False
            
            KeyRelease event, serial 29, synthetic NO, window 0x5c00001,
            root 0x75a, subw 0x0, time 42207524, (-263,434), root:(1469,467),
            state 0x0, keycode 148 (keysym 0x1008ff1d, [COLOR="#FF0000"][B]XF86Calculator[/B][/COLOR]), same_screen YES,
            XLookupString gives 0 bytes:
            XFilterEvent returns: False
            (that's my emphasis)
            Interesting. It would appear that my actual hotkeys are saved in the khotkeysrc in that same folder. I tried backing up both kglobalshortcutsrc and khotkeysrc and then deleting them from .config. I figured it would kill all my hotkeys, which it did. My hope was that if I would then re-create them that the special keys would work. No such luck. Oh, well. That's what backups are for.

            I haven't solved my problem yet, though there is a plus from this. I'm keeping those files saved a my thumb drive. If I ever need to do an OS restore, I can copy them back to .config and save time. So that's a plus.

            However, I really want to solve this. If I don't, my choices are to life with the keyboard without using those keys or to send the keyboard back. I actually like this keyboard quite a bit, but those 1 - 5 special keys were a big reason why I bought it. I got used to using them on the old Microsoft keyboard.

            I have found another utility to try, one named playerctl. Will let you guys know how it goes. I'm really surprised this one has turned out as hard as it is. I've also considered contacting Microsoft tech support. Would they even help me if it's their keyboard, but not their OS?
            Kubuntu 22.04 (desktop & laptop), Windows 7 &2K (via VirtualBox on desktop PC)
            ================================

            Comment


              #7
              Originally posted by Tom_ZeCat View Post
              I've also considered contacting Microsoft tech support. Would they even help me if it's their keyboard, but not their OS?
              My guess is 'probably not'.

              Part, if not all of the cause of your problems -- IMO -- is the keyboard itself. Being a Microsoft specific piece of hardware, it's likely to contain proprietary configuration components. Just say'n.
              Using Kubuntu Linux since March 23, 2007
              "It is a capital mistake to theorize before one has data." - Sherlock Holmes

              Comment


                #8
                Actually, looking back and running evtest again, a month or so later I notice this:
                Code:
                [FONT=monospace][COLOR=#000000]$ evtest [/COLOR]
                No device specified, trying to scan all of /dev/input/event* 
                Not running as root, no devices may be available. 
                Available devices: 
                /dev/input/event0:      Sleep Button 
                /dev/input/event1:      Power Button 
                /dev/input/event2:      Power Button 
                /dev/input/event3:      DP-1 
                /dev/input/event4:      Corsair Corsair HS60 PRO Surround USB Sound Adapter 
                /dev/input/event5:      HP WMI hotkeys 
                /dev/input/event6:      HDA ATI HDMI HDMI/DP,pcm=3 
                /dev/input/event7:      HDA ATI HDMI HDMI/DP,pcm=7 
                /dev/input/event8:      HDA ATI HDMI HDMI/DP,pcm=8 
                /dev/input/event9:      HDA ATI HDMI HDMI/DP,pcm=9 
                /dev/input/event10:     HDA ATI HDMI HDMI/DP,pcm=10 
                /dev/input/event11:     HDA ATI HDMI HDMI/DP,pcm=11 
                /dev/input/event12:     HDA Intel PCH Front Mic 
                /dev/input/event13:     HDA Intel PCH Headset Mic 
                /dev/input/event14:     HDA Intel PCH Line 
                /dev/input/event15:     HDA Intel PCH Line Out 
                /dev/input/event16:     HDA Intel PCH Front Headphone 
                /dev/input/event17:     MX Keys Keyboard 
                /dev/input/event18:     MX Keys Mouse 
                /dev/input/event19:     MX Keys Consumer Control 
                /dev/input/event20:     M720 Triathlon Keyboard 
                /dev/input/event21:     M720 Triathlon Mouse
                
                
                [/FONT]
                Note my kb shows as three different devices, and choosing "/dev/input/event19: MX Keys Consumer Control" is where the calc button shows events:
                Code:
                testing ... (interrupt to exit)
                Event: time 1624804309.710683, type 4 (EV_MSC), code 4 (MSC_SCAN), value c0192
                Event: time 1624804309.710683, type 1 (EV_KEY), code 140 (KEY_CALC), value 1
                Orther keys show up when selecting different device IDs


                So maybe using evtest might halp idenitfy the codes
                Last edited by claydoh; Jun 27, 2021, 08:43 AM.

                Comment


                  #9
                  Interesting test utility. My test comes out like this:

                  Code:
                  tom@tom-Inspiron-3650:~$ sudo evtest
                  No device specified, trying to scan all of /dev/input/event*
                  Available devices:
                  /dev/input/event0:      Sleep Button
                  /dev/input/event1:      Power Button
                  /dev/input/event2:      Power Button
                  /dev/input/event3:      Video Bus
                  /dev/input/event4:      Logitech MX Master 2S
                  /dev/input/event5:      Dell WMI hotkeys
                  /dev/input/event6:      HDA Intel PCH Rear Mic
                  /dev/input/event7:      HDA Intel PCH Line
                  /dev/input/event8:      Microsoft Microsoft? 2.4GHz Transceiver v7.0
                  /dev/input/event9:      Microsoft Microsoft? 2.4GHz Transceiver v7.0 Mouse
                  /dev/input/event10:     Microsoft Microsoft? 2.4GHz Transceiver v7.0 Consumer Control
                  /dev/input/event11:     Microsoft Microsoft? 2.4GHz Transceiver v7.0 Consumer Control
                  /dev/input/event12:     Microsoft Microsoft? 2.4GHz Transceiver v7.0 System Control
                  /dev/input/event13:     HDA Intel PCH Headphone Mic
                  /dev/input/event14:     HDA Intel PCH Line Out
                  /dev/input/event15:     HDA Intel PCH HDMI/DP,pcm=3
                  /dev/input/event16:     HDA Intel PCH HDMI/DP,pcm=7
                  /dev/input/event17:     HDA Intel PCH HDMI/DP,pcm=8
                  /dev/input/event18:     HDA Intel PCH HDMI/DP,pcm=9
                  /dev/input/event19:     HDA Intel PCH HDMI/DP,pcm=10
                  /dev/input/event21:     HD Webcam C615
                  So then I thought event8 must be where these things are hiding, so a scanned event8. Got a bunch of interesting info:
                  Code:
                  tom@tom-Inspiron-3650:~$ sudo evtest /dev/input/event8  
                  Input driver version is 1.0.1 
                  Input device ID: bus 0x3 vendor 0x45e product 0x7b2 version 0x111 
                  Input device name: "Microsoft Microsoft® 2.4GHz Transceiver v7.0" 
                  Supported events: 
                  Event type 0 (EV_SYN) 
                  Event type 1 (EV_KEY) 
                    Event code 1 (KEY_ESC) 
                    Event code 2 (KEY_1) 
                    Event code 3 (KEY_2) 
                    Event code 4 (KEY_3) 
                    Event code 5 (KEY_4) 
                    Event code 6 (KEY_5) 
                    Event code 7 (KEY_6) 
                    Event code 8 (KEY_7) 
                    Event code 9 (KEY_8) 
                    Event code 10 (KEY_9) 
                    Event code 11 (KEY_0) 
                    Event code 12 (KEY_MINUS) 
                    Event code 13 (KEY_EQUAL) 
                    Event code 14 (KEY_BACKSPACE) 
                    Event code 15 (KEY_TAB) 
                    Event code 16 (KEY_Q) 
                    Event code 17 (KEY_W) 
                    Event code 18 (KEY_E) 
                    Event code 19 (KEY_R) 
                    Event code 20 (KEY_T) 
                    Event code 21 (KEY_Y) 
                    Event code 22 (KEY_U) 
                    Event code 23 (KEY_I) 
                    Event code 24 (KEY_O) 
                    Event code 25 (KEY_P) 
                    Event code 26 (KEY_LEFTBRACE) 
                    Event code 27 (KEY_RIGHTBRACE) 
                    Event code 28 (KEY_ENTER) 
                    Event code 29 (KEY_LEFTCTRL) 
                    Event code 30 (KEY_A) 
                    Event code 31 (KEY_S) 
                    Event code 32 (KEY_D) 
                    Event code 33 (KEY_F) 
                    Event code 34 (KEY_G) 
                    Event code 35 (KEY_H) 
                    Event code 36 (KEY_J) 
                    Event code 37 (KEY_K) 
                    Event code 38 (KEY_L) 
                    Event code 39 (KEY_SEMICOLON) 
                    Event code 40 (KEY_APOSTROPHE) 
                    Event code 41 (KEY_GRAVE) 
                    Event code 42 (KEY_LEFTSHIFT) 
                    Event code 43 (KEY_BACKSLASH) 
                    Event code 44 (KEY_Z) 
                    Event code 45 (KEY_X) 
                    Event code 46 (KEY_C) 
                    Event code 47 (KEY_V) 
                    Event code 48 (KEY_B) 
                    Event code 49 (KEY_N) 
                    Event code 50 (KEY_M) 
                    Event code 51 (KEY_COMMA) 
                    Event code 52 (KEY_DOT) 
                    Event code 53 (KEY_SLASH) 
                    Event code 54 (KEY_RIGHTSHIFT) 
                    Event code 55 (KEY_KPASTERISK) 
                    Event code 56 (KEY_LEFTALT) 
                    Event code 57 (KEY_SPACE) 
                    Event code 58 (KEY_CAPSLOCK) 
                    Event code 59 (KEY_F1) 
                    Event code 60 (KEY_F2) 
                    Event code 61 (KEY_F3) 
                    Event code 62 (KEY_F4) 
                    Event code 63 (KEY_F5) 
                    Event code 64 (KEY_F6) 
                    Event code 65 (KEY_F7) 
                    Event code 66 (KEY_F8) 
                    Event code 67 (KEY_F9) 
                    Event code 68 (KEY_F10) 
                    Event code 69 (KEY_NUMLOCK) 
                    Event code 70 (KEY_SCROLLLOCK) 
                    Event code 71 (KEY_KP7) 
                    Event code 72 (KEY_KP8) 
                    Event code 73 (KEY_KP9) 
                    Event code 74 (KEY_KPMINUS) 
                    Event code 75 (KEY_KP4) 
                    Event code 76 (KEY_KP5) 
                    Event code 77 (KEY_KP6) 
                    Event code 78 (KEY_KPPLUS) 
                    Event code 79 (KEY_KP1) 
                    Event code 80 (KEY_KP2) 
                    Event code 81 (KEY_KP3) 
                    Event code 82 (KEY_KP0) 
                    Event code 83 (KEY_KPDOT) 
                    Event code 86 (KEY_102ND) 
                    Event code 87 (KEY_F11) 
                    Event code 88 (KEY_F12) 
                    Event code 89 (KEY_RO) 
                    Event code 92 (KEY_HENKAN) 
                    Event code 93 (KEY_KATAKANAHIRAGANA) 
                    Event code 94 (KEY_MUHENKAN) 
                    Event code 95 (KEY_KPJPCOMMA) 
                    Event code 96 (KEY_KPENTER) 
                    Event code 97 (KEY_RIGHTCTRL) 
                    Event code 98 (KEY_KPSLASH) 
                    Event code 99 (KEY_SYSRQ) 
                    Event code 100 (KEY_RIGHTALT) 
                    Event code 102 (KEY_HOME) 
                    Event code 103 (KEY_UP) 
                    Event code 104 (KEY_PAGEUP) 
                    Event code 105 (KEY_LEFT) 
                    Event code 106 (KEY_RIGHT) 
                    Event code 107 (KEY_END) 
                    Event code 108 (KEY_DOWN) 
                    Event code 109 (KEY_PAGEDOWN) 
                    Event code 110 (KEY_INSERT) 
                    Event code 111 (KEY_DELETE) 
                    Event code 113 (KEY_MUTE) 
                    Event code 114 (KEY_VOLUMEDOWN) 
                    Event code 115 (KEY_VOLUMEUP) 
                    Event code 116 (KEY_POWER) 
                    Event code 117 (KEY_KPEQUAL) 
                    Event code 119 (KEY_PAUSE) 
                    Event code 121 (KEY_KPCOMMA) 
                    Event code 122 (KEY_HANGUEL) 
                    Event code 123 (KEY_HANJA) 
                    Event code 124 (KEY_YEN) 
                    Event code 125 (KEY_LEFTMETA) 
                    Event code 126 (KEY_RIGHTMETA) 
                    Event code 127 (KEY_COMPOSE) 
                    Event code 128 (KEY_STOP) 
                    Event code 129 (KEY_AGAIN) 
                    Event code 130 (KEY_PROPS) 
                    Event code 131 (KEY_UNDO) 
                    Event code 132 (KEY_FRONT) 
                    Event code 133 (KEY_COPY) 
                    Event code 134 (KEY_OPEN) 
                    Event code 135 (KEY_PASTE) 
                    Event code 136 (KEY_FIND) 
                    Event code 137 (KEY_CUT) 
                    Event code 138 (KEY_HELP) 
                    Event code 183 (KEY_F13) 
                    Event code 184 (KEY_F14) 
                    Event code 185 (KEY_F15) 
                    Event code 186 (KEY_F16) 
                    Event code 187 (KEY_F17) 
                    Event code 188 (KEY_F18) 
                    Event code 189 (KEY_F19) 
                    Event code 190 (KEY_F20) 
                    Event code 191 (KEY_F21) 
                    Event code 192 (KEY_F22) 
                    Event code 193 (KEY_F23) 
                    Event code 194 (KEY_F24) 
                    Event code 240 (KEY_UNKNOWN) 
                  Event type 4 (EV_MSC) 
                    Event code 4 (MSC_SCAN) 
                  Event type 17 (EV_LED) 
                    Event code 0 (LED_NUML) state 0 
                    Event code 1 (LED_CAPSL) state 0 
                    Event code 2 (LED_SCROLLL) state 0 
                  Key repeat handling: 
                  Repeat type 20 (EV_REP) 
                    Repeat code 0 (REP_DELAY) 
                      Value    250 
                    Repeat code 1 (REP_PERIOD) 
                      Value     33 
                  Properties: 
                  Testing ... (interrupt to exit) 
                  Event: time 1624840039.783382, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70028 
                  Event: time 1624840039.783382, type 1 (EV_KEY), code 28 (KEY_ENTER), value 0 
                  Event: time 1624840039.783382, -------------- SYN_REPORT ------------
                  Does this help me? Can I somehow determine which key code are each of these special buttons 1 - 5 and then tell Kubuntu somehow, "Okay with this button I want you to run this program."

                  Btw, I couldn't even get these special buttons to run under Windows 7. I have an old, old Windows PC that I can KVM over to. It's so old it was originally a Windows Vista PC. I use it only to run occasional Windows program, and I usually don't even allow it to access the Internet. When I tried to install the special Microsoft software for this keyboard, it squawked that I wasn't running Windows 10 and refused to install. I don't want to upgrade it to 10. I did that one time and it ran even slower than it does now. So I did an Acronis restore to Windows 7.

                  But are we getting warmer? I hadn't heard of this evtest program, and installed it because it promises some info.
                  Kubuntu 22.04 (desktop & laptop), Windows 7 &2K (via VirtualBox on desktop PC)
                  ================================

                  Comment


                    #10
                    Originally posted by Tom_ZeCat View Post
                    Can I somehow determine which key code are each of these special buttons 1 - 5...
                    That's what xev tells you. Run it in a konsole then press the key.
                    Regards, John Little

                    Comment


                      #11
                      Originally posted by jlittle View Post
                      That's what xev tells you. Run it in a konsole then press the key.
                      Thanks for the info. There's still no solution, but here's some interesting data. When running xev, I was able to get information from numerous keys, but non at all from Special Buttons 1 - 5. No text at all comes up on the screen in the terminal when I run xev and press any of those buttons. Other buttons show data. For example, here's what I got from these buttons:

                      Esc key:
                      Code:
                      KeyRelease event, serial 40, synthetic NO, window 0x7a00001,
                      root 0x751, subw 0x0, time 154926113, (871,851), root:(871,879),
                      state 0x0, keycode 9 (keysym 0xff1b, Escape), same_screen YES,
                      XLookupString gives 1 bytes: (1b) "
                      XFilterEvent returns: False
                      F1 function key:
                      Code:
                      KeyPress event, serial 40, synthetic NO, window 0x7a00001,
                      root 0x751, subw 0x0, time 155260255, (-194,807), root:(270,835),
                      state 0x0, keycode 67 (keysym 0xffbe, F1), same_screen YES,
                      XLookupString gives 0 bytes: 
                      XmbLookupString gives 0 bytes: 
                      XFilterEvent returns: False
                      
                      KeyRelease event, serial 40, synthetic NO, window 0x7a00001,
                      root 0x751, subw 0x0, time 155260479, (-194,807), root:(270,835),
                      state 0x0, keycode 67 (keysym 0xffbe, F1), same_screen YES,
                      XLookupString gives 0 bytes: 
                      XFilterEvent returns: False
                      Special Star Key (This is the one just to the right of Special Keys 1 - 5, and is used to identify these "favorites". In Microsoft's software and documentation, it calls Special Keys 1 - 5 the "favorites."
                      This star key gives results when running xev. Those are as follows:
                      Code:
                      MotionNotify event, serial 41, synthetic NO, window 0x7a00001,
                      root 0x751, subw 0x0, time 155506795, (9,67), root:(473,95),
                      state 0x0, is_hint 0, same_screen YES
                      
                      MotionNotify event, serial 41, synthetic NO, window 0x7a00001,
                      root 0x751, subw 0x0, time 155506803, (1,64), root:(465,92),
                      state 0x0, is_hint 0, same_screen YES
                      
                      LeaveNotify event, serial 41, synthetic NO, window 0x7a00001,
                      root 0x751, subw 0x0, time 155506811, (-5,61), root:(459,89),
                      mode NotifyNormal, detail NotifyAncestor, same_screen YES,
                      focus YES, state 0
                      Finally, the calculator button gives out a whopping amount of code from xev:
                      Code:
                      MappingNotify event, serial 40, synthetic NO, window 0x0,
                      request MappingKeyboard, first_keycode 8, count 248
                      
                      FocusOut event, serial 40, synthetic NO, window 0x7a00001,
                      mode NotifyGrab, detail NotifyAncestor
                      
                      FocusIn event, serial 41, synthetic NO, window 0x7a00001,
                      mode NotifyUngrab, detail NotifyAncestor
                      
                      KeymapNotify event, serial 41, synthetic NO, window 0x0,
                      keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
                             0   0   16  0   0   0   0   0   0   0   0   0   0   0   0   0   
                      
                      KeyRelease event, serial 41, synthetic NO, window 0x7a00001,
                      root 0x751, subw 0x0, time 155703571, (174,367), root:(638,395),
                      state 0x0, keycode 148 (keysym 0x1008ff1d, XF86Calculator), same_screen YES,
                      XLookupString gives 0 bytes: 
                      XFilterEvent returns: False
                      
                      FocusOut event, serial 41, synthetic NO, window 0x7a00001,
                      mode NotifyNormal, detail NotifyNonlinear
                      
                      PropertyNotify event, serial 41, synthetic NO, window 0x7a00001,
                      atom 0x16d (_NET_WM_STATE), time 155703665, state PropertyNewValue
                      
                      ColormapNotify event, serial 41, synthetic NO, window 0x7a00001,
                      colormap 0x20, new NO, state ColormapUninstalled
                      My first thoughts were maybe I actually do have a defective keyboard. I can't get those buttons to run on my Kubuntu PC or on my Windows 7 PC (which refuses to install Microsoft's special keyboard software). However I realized I have access to a Windows 10 PC, one that's owned by the company I work for. So I plugged the keyboard into that one and installed Microsoft's keyboard software. With that I was able to assign every one of those 5 buttons, the "special keys" or the "favorites" to an application and run it. In Microsoft's software, those 5 buttons are all grouped together as one feature, and you can assign each button to run a program or open a web page.

                      I hoped for a moment that doing this on a Windows 10 PC would somehow unlock those buttons so that they would run under Kubuntu. No such luck. But it's as if those 5 buttons are somehow locked. It makes me think maybe on the older Microsoft keyboard, they didn't lock them. Of course, it's quite frustrating. It's a very recent model, so maybe the Linux community hasn't caught up with it yet. It's a surprise how much resistance these 5 keys have given me when they worked perfectly and easily via KDE's System Settings.

                      Any other ideas? I'm still within its return Window. However, except for those 5 buttons, I really like this keyboard. I could send it back and try another or I could hang onto it and hope at some point that a solution is found. Or I could keep trying to find a hack that makes those work.

                      I did consider running Microsoft's keyboard software under WINE to see if that somehow unlocks those keys, though I have serious doubts that it would run under WINE or that it would help if it did. Then there's running Windows 10 in a VirtualBox to run the MS keyboard software -- though it makes me wonder if that could do anything. I was running this through a KVM to switch over to the Win 10 PC. The 5 buttons work just fine over there, then when I toggled back to Kubuntu, they don't work at all.

                      Edit: One more thing -- I did make sure to press the F lock key. With xev running, I get no code from any of the 5 special keys whether F Lock is engaged or not.

                      I did find a chat with Microsoft's help service, but it's someone troubleshooting a Windows PC:
                      https://answers.microsoft.com/en-us/...9-b7f60b9f927f

                      Maybe this is what I get for buying a keyboard from the Evil Empire.
                      Last edited by Tom_ZeCat; Jun 28, 2021, 09:24 PM.
                      Kubuntu 22.04 (desktop & laptop), Windows 7 &2K (via VirtualBox on desktop PC)
                      ================================

                      Comment


                        #12
                        Looks like this one may have stumped us all. I've decided to keep this keyboard anyway. Maybe I'll figure out how to get those 5 keys working, and maybe I won't. It's frustrating because that feature was a big reason why I bought a Microsoft keyboard over a Logitech. I also like the Logitech ones a lot. But this Microsoft keyboard has a lot of things going for it. It's very comfortable to the touch. I also like its somewhat-ergonomic design. It's curved just a little, but not radically so. I've tried the super-ergonomic or super-curved keyboards before, but I just couldn't get used to them.

                        This one is just right. I got its other hotkeys to work. It's strange that just these 5 won't work when the exact same ones work on my older Microsoft keyboard.

                        I may also try on other Linux forums like the regular Ubuntu one or a general Linux one. For all I know, some talented hacker is busy creating a Linux utility for Microsoft keyboards. The existing keytouch-editor one seems out of date. I use the Hewlett Packard printer utility, HPLIP. That thing is superb. It has a nice setup wizard, and then it has a system tray icon that lets you access any of your printer settings at any time. Whoever created that thing (probably someone at HP) did a great service to the Linux community. There's also a Logitech utility for Logitech mice named Solaar. I use it for multiple Logitech mice that I own. It's excellent.

                        It works every bit as well as the Windows utility that came with my mouse. In fact?one advantage if I sent this MS keyboard back and replaced it with a Logitech is that my transceiver for my mouse would also work on my Logitech keyboard.

                        It would be wonderful if someone created a Linux utility especially for Microsoft keyboards. It could have a nice GUI with a drop-down list that lets you select your keyboard, and then a utility for setting up all the hot keys or "shortcuts" as Microsoft calls them. Maybe we don't have this utility because they normally have to be created by the manufacturer -- is that true? Did HP make HPLIP and Logitech made Solaar? Or did some brilliant hacker in the community make those?

                        Anyway, I'm torn. I'm still within the return window for this MS keyboard, but I do really like the keyboard except for this one problem. Hmmmmmm...

                        Maybe I'm weird being both a Linux lover and a fan of Microsoft keyboards. I was one of the most anti-Microsoft computer users you could ever meet, especially in the Windows 95/98/ME era. Those were some awful operating systems.
                        Kubuntu 22.04 (desktop & laptop), Windows 7 &2K (via VirtualBox on desktop PC)
                        ================================

                        Comment


                          #13
                          MS make decent hardware, and usually the Linux support has been just fine. I have used their keyboards in the past, and generally prefer them over Logitech. But I wanted a bluetooth multi-device setup, and the MX Keys is built like tank. I could knock someone out using it, I think.

                          I'd be surprised if someone hasn't already figured this out, or other similar kbs with the same feature have known setups for this.

                          Comment


                            #14
                            Originally posted by claydoh View Post
                            MS make decent hardware, and usually the Linux support has been just fine. I have used their keyboards in the past, and generally prefer them over Logitech. But I wanted a bluetooth multi-device setup, and the MX Keys is built like tank. I could knock someone out using it, I think.

                            I'd be surprised if someone hasn't already figured this out, or other similar kbs with the same feature have known setups for this.
                            Yeah, what I'm thinking is that maybe Microsoft fundamentally changed how the Special 1 - 5 keys worked on their newer model keyboards. I know from the xev tests that no character is produced from any of those 5 keys when pressed, but one happens from every single other key on the keyboard. However, in Windows 10, they all work once you program the stuff in. I'm guessing they have some kind of locking mechanism that only the Microsoft utility can unlock. This is just a guess though. I might ask around on other boards.

                            I did call Microsoft tech support, and they didn't have any ability to help. They simply said it only has full functionality on a Windows 10 computer. I'm not too terribly surprised that they're not offering Linux support, though it was a surprise they don't even offer Mac support. You would think with how big the Mac user base is, they would at least support it for that platform.
                            Kubuntu 22.04 (desktop & laptop), Windows 7 &2K (via VirtualBox on desktop PC)
                            ================================

                            Comment

                            Working...
                            X