[GUIDE] Updated after firmware updates - udev rules for https://keyboard.frame.work/

So, after updating the firmware AND getting the new udev rules… is there anything I should be aware of to ensure Linux recognises my keyboard correctly? For some reason the keyboard shown in the “Configure” and the one shown in the “Key Tester” section of keyboard.frame.work are different…

If I recall, that’s normal. It seems that the key tester always just displays a generic keyboard. One reason to use a generic keyboard is that it’s only testing / displaying USB HID transmitted keys. If it showed your keymap then it might confuse some people as to why some keys, internal QMK function keys like Fn, backlight cycle, etc, do not register in the keytester.

1 Like

Okay, thank you and that makes sense! Now I realise I should have asked my question differently. How can I ensure on X11/Cinnamon (debian forky) that my keyboard layout is recognised correctly? Something broke since last week or so, and I can’t get

a) The keyboard module to start in Cinnamon-Settings (so I’m not even sure whether the current setup is correct…

b) The compose key (that I previously configured to Right-Alt) to work correctly…

This doesn’t sound related to the app/keyboard firmware - but rather to a change in Debian.

I would recommend creating a new topic - as this is OT from the guide I have created - the topic here should focus on the udev rules.

You might also bring up those issues on a Debian thread - as this sounds like an OS level issue:

a) The keyboard module to start in Cinnamon-Settings (so I’m not even sure whether the current setup is correct…

2 Likes

Good point! Thanks!

The linked file appears to have disappeared. Does anyone have the working file they can share?

1 Like

well, thats unfortunate - i cant upload the file directly - but here is the link, from my gdrive - lemme know if you can access it:

Thank you! Got my laptop keyboard working again!

Here is another source, github.com/qmk/qmk_firmware/blob/0.32.11/util/udev/50-qmk.rules

Afterward remember to append the lines in the first post & follow the instructions there. A reboot might be needed for some.


Note that your browser needs to support WebHID. Chrome and Edge are known to work. Other Google Chromium-based browsers may work, but it can vary.

Firefox has chosen not to enable WebHID.

Mozilla, which makes Firefox, believes that websites should not have low level access to hardware, so they have chosen not to enable WebHID, for the same reasons that they don’t support WebUSB.

mozilla.github.io/standards-positions/#webusb
mozilla.github.io/standards-positions/#webhid

There is also an electron wrapper which could also be used, github.com/the-via/releases/releases, But you’ll need to load the Framework draft definition(s). When I tried I found it hard to get it to detect a keyboard reliably.

Framework draft definitions

Might as well add these, while I have them on hand.

via_iso_layout_FWL16.json

{
  "name": "Framework Laptop 16 Keyboard - ISO",
  "vendorId": "0x32AC",
  "productId": "0x0018",
  "matrix": {"rows": 8, "cols": 16},
  "keycodes": ["qmk_lighting"],
  "menus": ["qmk_backlight"],
  "layouts": {
    "keymap": [
      [
        {
          "w": 1.25,
          "h": 0.5
        },
        "7,5",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,5",
        {
          "x": 0.25,
          "h": 0.5
        },
        "2,5",
        {
          "x": 0.25,
          "h": 0.5
        },
        "6,4",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,4",
        {
          "x": 0.25,
          "h": 0.5
        },
        "4,10",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,10",
        {
          "x": 0.25,
          "h": 0.5
        },
        "2,10",
        {
          "x": 0.25,
          "h": 0.5
        },
        "1,15",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,11",
        {
          "x": 0.25,
          "h": 0.5
        },
        "4,8",
        {
          "x": 0.25,
          "h": 0.5
        },
        "6,8",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,15",
        {
          "x": 0.25,
          "w": 1.75,
          "h": 0.5
        },
        "0,1"
      ],
      [
        {
          "y": -0.25
        },
        "4,2",
        {
          "x": 0.25
        },
        "5,2",
        {
          "x": 0.25
        },
        "5,5",
        {
          "x": 0.25
        },
        "5,4",
        {
          "x": 0.25
        },
        "5,6",
        {
          "x": 0.25
        },
        "4,6",
        {
          "x": 0.25
        },
        "4,7",
        {
          "x": 0.25
        },
        "5,7",
        {
          "x": 0.25
        },
        "5,10",
        {
          "x": 0.25
        },
        "5,8",
        {
          "x": 0.25
        },
        "4,13",
        {
          "x": 0.25
        },
        "2,13",
        {
          "x": 0.25
        },
        "4,14",
        {
          "x": 0.25,
          "w": 2
        },
        "5,14"
      ],
      [
        {
          "y": 0.25,
          "w": 1.5
        },
        "3,2",
        {
          "x": 0.25
        },
        "0,2",
        {
          "x": 0.25
        },
        "6,5",
        {
          "x": 0.25
        },
        "2,4",
        {
          "x": 0.25
        },
        "6,6",
        {
          "x": 0.25
        },
        "3,6",
        {
          "x": 0.25
        },
        "3,7",
        {
          "x": 0.25
        },
        "6,7",
        {
          "x": 0.25
        },
        "6,10",
        {
          "x": 0.25
        },
        "3,8",
        {
          "x": 0.25
        },
        "5,13",
        {
          "x": 0.25
        },
        "6,13",
        {
          "x": 0.25
        },
        "6,14",
        {
          "x": 0.5,
          "w": 1.25,
          "h": 2.25,
          "w2": 1.5,
          "h2": 1.25,
          "x2": -0.25
        },
        "1,14"
      ],
      [
        {
          "y": 0.25,
          "w": 1.75
        },
        "4,4",
        {
          "x": 0.25
        },
        "7,2",
        {
          "x": 0.25
        },
        "4,5",
        {
          "x": 0.25
        },
        "7,14",
        {
          "x": 0.25
        },
        "7,6",
        {
          "x": 0.25
        },
        "2,6",
        {
          "x": 0.25
        },
        "2,7",
        {
          "x": 0.25
        },
        "7,7",
        {
          "x": 0.25
        },
        "7,10",
        {
          "x": 0.25
        },
        "7,8",
        {
          "x": 0.25
        },
        "7,13",
        {
          "x": 0.25
        },
        "0,14",
        {
          "x": 0.25
        },
        "2,8"
      ],
      [
        {
          "y": 0.25,
          "w": 1.25
        },
        "1,9",
        {
          "x": 0.25
        },
        "5,11",
        {
          "x": 0.25
        },
        "1,5",
        {
          "x": 0.25
        },
        "0,5",
        {
          "x": 0.25
        },
        "0,0",
        {
          "x": 0.25
        },
        "0,6",
        {
          "x": 0.25
        },
        "1,6",
        {
          "x": 0.25
        },
        "1,7",
        {
          "x": 0.25
        },
        "0,7",
        {
          "x": 0.25
        },
        "0,10",
        {
          "x": 0.25
        },
        "0,8",
        {
          "x": 0.25
        },
        "0,13",
        {
          "x": 0.25,
          "w": 3
        },
        "0,9"
      ],
      [
        {
          "y": 0.25,
          "w": 1.25
        },
        "1,12",
        {
          "x": 0.25
        },
        "2,2",
        {
          "x": 0.25
        },
        "3,1",
        {
          "x": 0.25
        },
        "1,3",
        {
          "x": 0.25,
          "w": 6
        },
        "1,4",
        {
          "x": 0.25
        },
        "0,3",
        {
          "x": 0.25
        },
        "0,12",
        {
          "x": 0.25,
          "w": 1.25
        },
        "6,11",
        {
          "x": 0.25,
          "w": 1.25,
          "h": 0.5
        },
        "1,13",
        {
          "x": 0.25,
          "w": 1.25
        },
        "2,15"
      ],
      [
        {
          "y": -0.5,
          "x": 15.5,
          "w": 1.25,
          "h": 0.5
        },
        "1,8"
      ]
    ]
  }
}

via_ansi_layout_FWL16.json

{
  "name": "Framework Laptop 16 Keyboard - ANSI",
  "vendorId": "0x32AC",
  "productId": "0x0012",
  "matrix": {"rows": 8, "cols": 16},
  "keycodes": ["qmk_lighting"],
  "menus": ["qmk_rgb_matrix"],
  "layouts": {
    "keymap": [
      [
        {
          "w": 1.25,
          "h": 0.5
        },
        "7,5",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,5",
        {
          "x": 0.25,
          "h": 0.5
        },
        "2,5",
        {
          "x": 0.25,
          "h": 0.5
        },
        "6,4",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,4",
        {
          "x": 0.25,
          "h": 0.5
        },
        "4,10",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,10",
        {
          "x": 0.25,
          "h": 0.5
        },
        "2,10",
        {
          "x": 0.25,
          "h": 0.5
        },
        "1,15",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,11",
        {
          "x": 0.25,
          "h": 0.5
        },
        "4,8",
        {
          "x": 0.25,
          "h": 0.5
        },
        "6,8",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,15",
        {
          "x": 0.25,
          "w": 1.75,
          "h": 0.5
        },
        "0,1"
      ],
      [
        {
          "y": -0.25
        },
        "4,2",
        {
          "x": 0.25
        },
        "5,2",
        {
          "x": 0.25
        },
        "5,5",
        {
          "x": 0.25
        },
        "5,4",
        {
          "x": 0.25
        },
        "5,6",
        {
          "x": 0.25
        },
        "4,6",
        {
          "x": 0.25
        },
        "4,7",
        {
          "x": 0.25
        },
        "5,7",
        {
          "x": 0.25
        },
        "5,10",
        {
          "x": 0.25
        },
        "5,8",
        {
          "x": 0.25
        },
        "4,13",
        {
          "x": 0.25
        },
        "2,13",
        {
          "x": 0.25
        },
        "4,14",
        {
          "x": 0.25,
          "w": 2
        },
        "5,14"
      ],
      [
        {
          "y": 0.25,
          "w": 1.5
        },
        "3,2",
        {
          "x": 0.25
        },
        "0,2",
        {
          "x": 0.25
        },
        "6,5",
        {
          "x": 0.25
        },
        "2,4",
        {
          "x": 0.25
        },
        "6,6",
        {
          "x": 0.25
        },
        "3,6",
        {
          "x": 0.25
        },
        "3,7",
        {
          "x": 0.25
        },
        "6,7",
        {
          "x": 0.25
        },
        "6,10",
        {
          "x": 0.25
        },
        "3,8",
        {
          "x": 0.25
        },
        "5,13",
        {
          "x": 0.25
        },
        "6,13",
        {
          "x": 0.25
        },
        "6,14",
        {
          "x": 0.25,
          "w": 1.5
        },
        "2,8"
      ],
      [
        {
          "y": 0.25,
          "w": 1.75
        },
        "4,4",
        {
          "x": 0.25
        },
        "7,2",
        {
          "x": 0.25
        },
        "4,5",
        {
          "x": 0.25
        },
        "7,14",
        {
          "x": 0.25
        },
        "7,6",
        {
          "x": 0.25
        },
        "2,6",
        {
          "x": 0.25
        },
        "2,7",
        {
          "x": 0.25
        },
        "7,7",
        {
          "x": 0.25
        },
        "7,10",
        {
          "x": 0.25
        },
        "7,8",
        {
          "x": 0.25
        },
        "7, 13",
        {
          "x": 0.25
        },
        "0,14",
        {
          "x": 0.25,
          "w": 2.5
        },
        "1,14"
      ],
      [
        {
          "y": 0.25,
          "w": 2.5
        },
        "1,9",
        {
          "x": 0.25
        },
        "1,5",
        {
          "x": 0.25
        },
        "0,5",
        {
          "x": 0.25
        },
        "0,0",
        {
          "x": 0.25
        },
        "0,6",
        {
          "x": 0.25
        },
        "1,6",
        {
          "x": 0.25
        },
        "1,7",
        {
          "x": 0.25
        },
        "0,7",
        {
          "x": 0.25
        },
        "0,10",
        {
          "x": 0.25
        },
        "0,8",
        {
          "x": 0.25
        },
        "0,13",
        {
          "x": 0.25,
          "w": 3
        },
        "0,9"
      ],
      [
        {
          "y": 0.25,
          "w": 1.25
        },
        "1,12",
        {
          "x": 0.25
        },
        "2,2",
        {
          "x": 0.25
        },
        "3,1",
        {
          "x": 0.25
        },
        "1,3",
        {
          "x": 0.25,
          "w": 6
        },
        "1,4",
        {
          "x": 0.25
        },
        "0,3",
        {
          "x": 0.25
        },
        "0,12",
        {
          "x": 0.25,
          "w": 1.25
        },
        "6,11",
        {
          "x": 0.25,
          "w": 1.25,
          "h": 0.5
        },
        "1,13",
        {
          "x": 0.25,
          "w": 1.25
        },
        "2,15"
      ],
      [
        {
          "y": -0.5,
          "x": 15.5,
          "w": 1.25,
          "h": 0.5
        },
        "1,8"
      ]
    ]
  }
}

via_jis_layout_FWL16.json

{
  "name": "Framework Laptop 16 Keyboard - JIS",
  "vendorId": "0x32AC",
  "productId": "0x0019",
  "matrix": {"rows": 8, "cols": 16},
  "keycodes": ["qmk_lighting"],
  "menus": ["qmk_backlight"],
  "layouts": {
    "keymap": [
      [
        {
          "w": 1.25,
          "h": 0.5
        },
        "7,5",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,5",
        {
          "x": 0.25,
          "h": 0.5
        },
        "2,5",
        {
          "x": 0.25,
          "h": 0.5
        },
        "6,4",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,4",
        {
          "x": 0.25,
          "h": 0.5
        },
        "4,10",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,10",
        {
          "x": 0.25,
          "h": 0.5
        },
        "2,10",
        {
          "x": 0.25,
          "h": 0.5
        },
        "1,15",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,11",
        {
          "x": 0.25,
          "h": 0.5
        },
        "4,8",
        {
          "x": 0.25,
          "h": 0.5
        },
        "6,8",
        {
          "x": 0.25,
          "h": 0.5
        },
        "3,15",
        {
          "x": 0.25,
          "w": 1.75,
          "h": 0.5
        },
        "0,1"
      ],
      [
        {
          "y": -0.25
        },
        "4,2",
        {
          "x": 0.25
        },
        "5,2",
        {
          "x": 0.25
        },
        "5,5",
        {
          "x": 0.25
        },
        "5,4",
        {
          "x": 0.25
        },
        "5,6",
        {
          "x": 0.25
        },
        "4,6",
        {
          "x": 0.25
        },
        "4,7",
        {
          "x": 0.25
        },
        "5,7",
        {
          "x": 0.25
        },
        "5,10",
        {
          "x": 0.25
        },
        "5,8",
        {
          "x": 0.25
        },
        "4,13",
        {
          "x": 0.25
        },
        "2,13",
        {
          "x": 0.25
        },
        "4,14",
        {
          "x": 0.25,
          "w": 0.5,
          "w2": 0.75
        },
        "0,15",
        {
          "x": 0.25,
          "w": 1.25
        },
        "5,14"
      ],
      [
        {
          "y": 0.25,
          "w": 1.5
        },
        "3,2",
        {
          "x": 0.25
        },
        "0,2",
        {
          "x": 0.25
        },
        "6,5",
        {
          "x": 0.25
        },
        "2,4",
        {
          "x": 0.25
        },
        "6,6",
        {
          "x": 0.25
        },
        "3,6",
        {
          "x": 0.25
        },
        "3,7",
        {
          "x": 0.25
        },
        "6,7",
        {
          "x": 0.25
        },
        "6,10",
        {
          "x": 0.25
        },
        "3,8",
        {
          "x": 0.25
        },
        "5,13",
        {
          "x": 0.25
        },
        "6,13",
        {
          "x": 0.25
        },
        "6,14",
        {
          "x": 0.5,
          "w": 1.25,
          "h": 2.25,
          "w2": 1.5,
          "h2": 1.25,
          "x2": -0.25
        },
        "1,14"
      ],
      [
        {
          "y": 0.25,
          "w": 1.75
        },
        "4,4",
        {
          "x": 0.25
        },
        "7,2",
        {
          "x": 0.25
        },
        "4,5",
        {
          "x": 0.25
        },
        "7,14",
        {
          "x": 0.25
        },
        "7,6",
        {
          "x": 0.25
        },
        "2,6",
        {
          "x": 0.25
        },
        "2,7",
        {
          "x": 0.25
        },
        "7,7",
        {
          "x": 0.25
        },
        "7,10",
        {
          "x": 0.25
        },
        "7,8",
        {
          "x": 0.25
        },
        "7,13",
        {
          "x": 0.25
        },
        "0,14",
        {
          "x": 0.25
        },
        "2,8"
      ],
      [
        {
          "y": 0.25,
          "w": 2.5
        },
        "1,9",
        {
          "x": 0.25
        },
        "1,5",
        {
          "x": 0.25
        },
        "0,5",
        {
          "x": 0.25
        },
        "0,0",
        {
          "x": 0.25
        },
        "0,6",
        {
          "x": 0.25
        },
        "1,6",
        {
          "x": 0.25
        },
        "1,7",
        {
          "x": 0.25
        },
        "0,7",
        {
          "x": 0.25
        },
        "0,10",
        {
          "x": 0.25
        },
        "0,8",
        {
          "x": 0.25
        },
        "0,13",
        {
          "x": 0.25
        },
        "4,11",
        {
          "x": 0.25,
          "w": 1.75
        },
        "0,9"
      ],
      [
        {
          "y": 0.25,
          "w": 1.25
        },
        "1,12",
        {
          "x": 0.25
        },
        "2,2",
        {
          "x": 0.25
        },
        "3,1",
        {
          "x": 0.25
        },
        "1,3",
        {
          "x": 0.25,
          "w": 0.5,
          "w2": 0.75
        },
        "6,2",
        {
          "x": 0.25,
          "w": 3.75
        },
        "1,4",
        {
          "x": 0.25,
          "w": 0.5,
          "w2": 0.75,
          "x2": -0.25
        },
        "1,11",
        {
          "x": 0.25,
          "w": 0.5,
          "w2": 0.75,
          "x2": -0.25
        },
        "0,11",
        {
          "x": 0.25
        },
        "0,3",
        {
          "x": 0.25
        },
        "0,12",
        {
          "x": 0.25,
          "w": 1.25
        },
        "6,11",
        {
          "x": 0.25,
          "w": 1.25,
          "h": 0.5
        },
        "1,13",
        {
          "x": 0.25,
          "w": 1.25
        },
        "2,15"
      ],
      [
        {
          "y": -0.5,
          "x": 15.5,
          "w": 1.25,
          "h": 0.5
        },
        "1,8"
      ]
    ]
  }
}

via_numpad_layout_FWL16.json

{
  "name": "Framework Laptop 16 Numpad",
  "vendorId": "0x32AC",
  "productId": "0x0014",
  "matrix": {"rows": 4, "cols": 8},
  "keycodes": ["qmk_lighting"],
  "menus": ["qmk_backlight"],
  "layouts": {
    "keymap": [
      [
        {
          "h": 0.75
        },
        "2,1",
        {
          "x": 0.25,
          "h": 0.75
        },
        "2,2",
        {
          "x": 0.25,
          "h": 0.75
        },
        "3,4",
        {
          "x": 0.25,
          "h": 0.75
        },
        "2,4"
      ],
      [
        {
          "h": 1.25
        },
        "0,0",
        {
          "x": 0.25,
          "h": 1.25
        },
        "0,4",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,1",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,6"
      ],
      [
        {
          "y": 0.5,
          "h": 1.25
        },
        "0,1",
        {
          "x": 0.25,
          "h": 1.25
        },
        "0,5",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,2",
        {
          "x": 0.25,
          "h": 2.75
        },
        "1,7"
      ],
      [
        {
          "y": 0.5,
          "h": 1.25
        },
        "0,2",
        {
          "x": 0.25,
          "h": 1.25
        },
        "0,6",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,3"
      ],
      [
        {
          "y": 0.5,
          "h": 1.25
        },
        "0,3",
        {
          "x": 0.25,
          "h": 1.25
        },
        "0,7",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,4",
        {
          "x": 0.25,
          "h": 2.75
        },
        "2,0"
      ],
      [
        {
          "y": 0.5,
          "w": 2.25,
          "h": 1.25
        },
        "1,0",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,5"
      ]
    ]
  }
}

via_macropad_layout_FWL16.json

{
  "name": "Framework Laptop 16 RGB Macropad",
  "vendorId": "0x32AC",
  "productId": "0x0013",
  "matrix": {"rows": 4, "cols": 8},
  "keycodes": ["qmk_lighting"],
  "menus": ["qmk_rgb_matrix"],
  "layouts": {
    "keymap": [
      [
        {
          "h": 0.75
        },
        "2,1",
        {
          "x": 0.25,
          "h": 0.75
        },
        "2,2",
        {
          "x": 0.25,
          "h": 0.75
        },
        "3,4",
        {
          "x": 0.25,
          "h": 0.75
        },
        "2,4"
      ],
      [
        {
          "h": 1.25
        },
        "0,0",
        {
          "x": 0.25,
          "h": 1.25
        },
        "0,4",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,1",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,6"
      ],
      [
        {
          "y": 0.5,
          "h": 1.25
        },
        "0,1",
        {
          "x": 0.25,
          "h": 1.25
        },
        "0,5",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,2",
        {
          "x": 0.25,
          "h": 1.25
        },
        "2,5"
      ],
      [
        {
          "y": 0.5,
          "h": 1.25
        },
        "0,2",
        {
          "x": 0.25,
          "h": 1.25
        },
        "0,6",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,3",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,7"
      ],
      [
        {
          "y": 0.5,
          "h": 1.25
        },
        "0,3",
        {
          "x": 0.25,
          "h": 1.25
        },
        "0,7",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,4",
        {
          "x": 0.25,
          "h": 1.25
        },
        "2,6"
      ],
      [
        {
          "y": 0.5,
          "h": 1.25
        },
        "1,0",
        {
          "x": 0.25,
          "h": 1.25
        },
        "2,7",
        {
          "x": 0.25,
          "h": 1.25
        },
        "1,5",
        {
          "x": 0.25,
          "h": 1.25
        },
        "2,0"
      ]
    ]
  }
}
1 Like

hello friends,
so i got my 50-qmk file from the last link from MJ1, thanks bro btw.
opened it, added the 4 lines at the end, saved it, closed it.
ran the sudo cp ~/Downloads/50-qmk.rules /etc/udev/rules.d/ command
restarted brave, opened the https://keyboard.frame.work/ and it still doesn’t work, show paired but :NotAllowedError: Failed to open the device.
Received invalid protocol version from device
opened basic chromium browser, same behavior.
did i do something wrong?
i will try to restart my Cosmic laptop to see if it help?

ok, so a good old restart fixed it, thanks for the guide bros

1 Like

@Matt_Hartley it looks like qmk moved the location of the rules file so the instructions in the wiki don’t work anymore. Fortunately, it looks like this was in order to get a little more organized. They’ve moved the rules files into a seperate udev repo, e.g. the one we’re interested can be snagged from here: https://github.com/qmk/qmk_udev/releases/download/v0.1.23/50-qmk.rules (latest release as of time of posting because idk how to use “latest” tags). Note, I’m just assuming the 50-qmk.rules files linked at that tag is the same as the one we want… being on a fresh install I’m not able to diff it with the old file I had.

Could someone update the knowledge base article to accommodate these changes?

I’ll also note that following through on this fix hasn’t resolved the missing keyboard issue for me… but I’m also on a fresh install of Gentoo and idk if I have some other issue as well.

1 Like

I was able to recover my original rules file that worked… and my keyboard still doesn’t connect. This may have something to do with my switch to Gentoo

Edit: It was a bug in my code. I was able to get my keyboard connected to my custom scripts.

Can you/someone sort the Linux article by distro? It’s a bit of a mess as is.

I can at least update this guide to point there (i think)

I sadly cant update the KB

Flag this post for moderation and someone can get it updated probably

EDIT: Apparently I can’t even edit my OP anymore :confused:

Do these udev changes to make the keyboard programming work have any security implications?

My understanding, which is rather limited tbf, is that the useflag changes generally just grant user level access to some of the usb interfaces on the keyboard (there are several). I’m no security expert, but my impression is that the security implications would be from the perspective of the keyboarding being more at risk of an attack from the PC via the opening of a door rather than the other way around (assuming there’s no virus in the keyboard firmware, but it’d be far simpler for a virus to make use of the keyboard input rather that the usb interfaces I think).

I’m curious what others have to say on it.

Updated it here:

I am not near my FW 16 (I am with family at the moment), let me know if this is what you needed?

Yup, download link works again! Hopefully it doesn’t change again so anyone else who needs that in the future now can just copy-paste and go :slight_smile:

Thanks Matt.

1 Like

Delighted to hear it. :slight_smile: