Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix!(linux): include name should disregard autodetect classification #1374

Merged
merged 3 commits into from
Nov 25, 2024
Merged

Conversation

jtroo
Copy link
Owner

@jtroo jtroo commented Nov 24, 2024

Describe your changes. Use imperative present tense.

Autodetection is based on checking a single key capability, KEY_ENTER. For some reason, some input devices are split into multiple devices, and likely only one of them has KEY_ENTER while the others do not. Today the include option will still ignore devices that are autodetected to not be keyboards. This commit fixes the use case where a device that is not being autodetected but is desired to be grabbed by Kanata is being referenced by its device name rather than path.

Checklist

  • Add documentation to docs/config.adoc
    • N/A
  • Add example and basic docs to cfg_samples/kanata.kbd
    • N/A
  • Update error messages
    • N/A
  • Added tests, or did manual testing
    • Yes

@jtroo jtroo added the linux Issue pertains to Linux only label Nov 24, 2024
@jtroo
Copy link
Owner Author

jtroo commented Nov 25, 2024

@aljustiet does this branch work using include for the video bus device?

@aljustiet
Copy link

aljustiet commented Nov 25, 2024

@aljustiet does this branch work using include for the video bus device?

No

@aljustiet
Copy link

screenrecord.mp4

@jtroo
Copy link
Owner Author

jtroo commented Nov 25, 2024

What does starting up kanata with --debug show as log output?

@aljustiet
Copy link

I built Kanata with the dev branch and included a video bus, and it works there.

@aljustiet
Copy link

What does starting up kanata with --debug show as log output?

main branch build output:

❯ kanata --nodelay --debug --cfg ~/.dotfiles/Keyboard-Remapping/kanata.lsp
12:52:51.5168 [INFO] kanata v1.7.0-next starting
12:52:51.5187 [DEBUG] (1) kanata_parser::cfg: custom mapping: display 227
12:52:51.5187 [DEBUG] (1) kanata_parser::cfg: custom mapping: airplane 238
12:52:51.5187 [DEBUG] (1) kanata_parser::cfg: custom mapping: messenger 444
12:52:51.5187 [DEBUG] (1) kanata_parser::cfg: custom mapping: pickup 445
12:52:51.5187 [DEBUG] (1) kanata_parser::cfg: custom mapping: hangup 446
12:52:51.5187 [DEBUG] (1) kanata_parser::cfg: custom mapping: favorites 156
12:52:51.5187 [INFO] process unmapped keys: true
12:52:51.5196 [WARN] DANGER! cmd action is enabled.
12:52:51.5196 [DEBUG] (1) kanata_parser::cfg::alloc: freeing allocations of length 0
12:52:51.5229 [DEBUG] (1) kanata_parser::cfg: All overrides:
[
    Override {
        in_non_mod_osc: KEY_T,
        out_non_mod_osc: KEY_T,
        in_mod_oscs: [
            KEY_LEFTALT,
            KEY_LEFTSHIFT,
        ],
        out_mod_oscs: [
            KEY_LEFTCTRL,
            KEY_LEFTSHIFT,
        ],
    },
    Override {
        in_non_mod_osc: KEY_N,
        out_non_mod_osc: KEY_N,
        in_mod_oscs: [
            KEY_LEFTCTRL,
        ],
        out_mod_oscs: [
            KEY_LEFTALT,
        ],
    },
    Override {
        in_non_mod_osc: KEY_N,
        out_non_mod_osc: KEY_N,
        in_mod_oscs: [
            KEY_LEFTALT,
        ],
        out_mod_oscs: [
            KEY_LEFTCTRL,
        ],
    },
    Override {
        in_non_mod_osc: KEY_RIGHTBRACE,
        out_non_mod_osc: KEY_EQUAL,
        in_mod_oscs: [
            KEY_LEFTCTRL,
        ],
        out_mod_oscs: [
            KEY_LEFTALT,
        ],
    },
    Override {
        in_non_mod_osc: KEY_LEFTBRACE,
        out_non_mod_osc: KEY_MINUS,
        in_mod_oscs: [
            KEY_LEFTCTRL,
        ],
        out_mod_oscs: [
            KEY_LEFTALT,
        ],
    },
    Override {
        in_non_mod_osc: KEY_HOME,
        out_non_mod_osc: KEY_HOME,
        in_mod_oscs: [
            KEY_LEFTCTRL,
        ],
        out_mod_oscs: [
            KEY_LEFTALT,
        ],
    },
]
12:52:51.5235 [INFO] config file is valid
12:52:51.5240 [INFO] Created device "/dev/input/event11"
12:52:51.5240 [DEBUG] (1) kanata_state_machine::kanata::output_logic::zippychord: zchd reset state
12:52:51.5240 [DEBUG] (1) kanata_state_machine::kanata::output_logic::zippychord: zchd soft reset state
12:52:51.5241 [INFO] entering the processing loop
12:52:51.5241 [INFO] entering the event loop
12:52:51.5241 [INFO] looking for devices in /dev/input
12:52:51.5241 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: Power Button
12:52:51.5241 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: Lid Switch
12:52:51.5241 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: Sleep Button
12:52:51.5242 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: Power Button
12:52:51.5242 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: Video Bus
12:52:51.5242 [INFO] Starting kanata proper
12:52:51.5242 [INFO] You may forcefully exit kanata by pressing lctl+spc+esc at any time. These keys refer to defsrc input, meaning BEFORE kanata remaps keys.
12:52:51.5242 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: true. detect type KeyboardOnly; device type Keyboard, device name: AT Translated Set 2 keyboard
12:52:51.5242 [INFO] device [/dev/input/event5:AT Translated Set 2 keyboard] is included
12:52:51.5242 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: ThinkPad Extra Buttons
12:52:51.5242 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: PC Speaker
12:52:51.5480 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: HD-Audio Generic HDMI/DP,pcm=3
12:52:51.5660 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: HD-Audio Generic HDMI/DP,pcm=7
12:52:51.5840 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: HD-Audio Generic HDMI/DP,pcm=8
12:52:51.6000 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. detect type KeyboardOnly; device type Mouse, device name: SYNA8018:00 06CB:CE67 Mouse
12:52:51.6000 [INFO] device [/dev/input/event21:SYNA8018:00 06CB:CE67 Mouse] is ignored
12:52:51.6000 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: SYNA8018:00 06CB:CE67 Touchpad
12:52:51.6000 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. detect type KeyboardOnly; device type Mouse, device name: TPPS/2 Elan TrackPoint
12:52:51.6000 [INFO] device [/dev/input/event23:TPPS/2 Elan TrackPoint] is ignored
12:52:51.6000 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: HD-Audio Generic Mic
12:52:51.6170 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: HD-Audio Generic Headphone
12:52:51.6340 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: true. detect type KeyboardOnly; device type Keyboard, device name: solaar-keyboard
12:52:51.6340 [INFO] device [/dev/input/event27:solaar-keyboard] is ignored
12:52:51.6340 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: true. detect type KeyboardOnly; device type Keyboard, device name: Logitech USB Receiver
12:52:51.6340 [INFO] device [/dev/input/event7:Logitech USB Receiver] is ignored
12:52:51.6340 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. detect type KeyboardOnly; device type Mouse, device name: Logitech USB Receiver Mouse
12:52:51.6340 [INFO] device [/dev/input/event8:Logitech USB Receiver Mouse] is ignored
12:52:51.6340 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: true. detect type KeyboardOnly; device type Keyboard, device name: Logitech USB Receiver Consumer Control
12:52:51.6340 [INFO] device [/dev/input/event9:Logitech USB Receiver Consumer Control] is ignored
12:52:51.6341 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input: false. Non-input device: Logitech USB Receiver System Control
12:52:51.6341 [INFO] registering /dev/input/event5: "AT Translated Set 2 keyboard"
12:52:57.0861 [DEBUG] (3) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_LEFTALT (56), value: Press }
12:52:57.1144 [DEBUG] (3) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_C (46), value: Press }
12:52:57.1155 [DEBUG] (3) kanata_state_machine::kanata: key press     LAlt
12:52:57.1155 [DEBUG] (3) kanata_state_machine::oskbd::linux: send to uinput: InputEvent { time: SystemTime { tv_sec: 0, tv_nsec: 0 }, kind: Key(KEY_LEFTALT), value: 1 }

@jtroo
Copy link
Owner Author

jtroo commented Nov 25, 2024

Ok, yea the dev branch working is what is expected.

@aljustiet
Copy link

dev branch build output:

❯ kanata --nodelay --debug --cfg ~/.dotfiles/Keyboard-Remapping/kanata.lsp
13:12:13.7679 [INFO] kanata v1.7.0-next starting
13:12:13.7699 [DEBUG] (1) kanata_parser::cfg: custom mapping: display 227
13:12:13.7699 [DEBUG] (1) kanata_parser::cfg: custom mapping: airplane 238
13:12:13.7699 [DEBUG] (1) kanata_parser::cfg: custom mapping: messenger 444
13:12:13.7699 [DEBUG] (1) kanata_parser::cfg: custom mapping: pickup 445
13:12:13.7699 [DEBUG] (1) kanata_parser::cfg: custom mapping: hangup 446
13:12:13.7699 [DEBUG] (1) kanata_parser::cfg: custom mapping: favorites 156
13:12:13.7700 [INFO] process unmapped keys: true
13:12:13.7709 [WARN] DANGER! cmd action is enabled.
13:12:13.7709 [DEBUG] (1) kanata_parser::cfg::alloc: freeing allocations of length 0
13:12:13.7741 [DEBUG] (1) kanata_parser::cfg: All overrides:
[
    Override {
        in_non_mod_osc: KEY_T,
        out_non_mod_osc: KEY_T,
        in_mod_oscs: [
            KEY_LEFTALT,
            KEY_LEFTSHIFT,
        ],
        out_mod_oscs: [
            KEY_LEFTCTRL,
            KEY_LEFTSHIFT,
        ],
    },
    Override {
        in_non_mod_osc: KEY_N,
        out_non_mod_osc: KEY_N,
        in_mod_oscs: [
            KEY_LEFTCTRL,
        ],
        out_mod_oscs: [
            KEY_LEFTALT,
        ],
    },
    Override {
        in_non_mod_osc: KEY_N,
        out_non_mod_osc: KEY_N,
        in_mod_oscs: [
            KEY_LEFTALT,
        ],
        out_mod_oscs: [
            KEY_LEFTCTRL,
        ],
    },
    Override {
        in_non_mod_osc: KEY_RIGHTBRACE,
        out_non_mod_osc: KEY_EQUAL,
        in_mod_oscs: [
            KEY_LEFTCTRL,
        ],
        out_mod_oscs: [
            KEY_LEFTALT,
        ],
    },
    Override {
        in_non_mod_osc: KEY_LEFTBRACE,
        out_non_mod_osc: KEY_MINUS,
        in_mod_oscs: [
            KEY_LEFTCTRL,
        ],
        out_mod_oscs: [
            KEY_LEFTALT,
        ],
    },
    Override {
        in_non_mod_osc: KEY_HOME,
        out_non_mod_osc: KEY_HOME,
        in_mod_oscs: [
            KEY_LEFTCTRL,
        ],
        out_mod_oscs: [
            KEY_LEFTALT,
        ],
    },
]
13:12:13.7747 [INFO] config file is valid
13:12:13.7753 [INFO] Created device "/dev/input/event11"
13:12:13.7754 [DEBUG] (1) kanata_state_machine::kanata::output_logic::zippychord: zchd reset state
13:12:13.7754 [DEBUG] (1) kanata_state_machine::kanata::output_logic::zippychord: zchd soft reset state
13:12:13.7754 [INFO] entering the processing loop
13:12:13.7754 [INFO] entering the event loop
13:12:13.7754 [INFO] looking for devices in /dev/input
13:12:13.7754 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: Power Button
13:12:13.7755 [INFO] device [/dev/input/event0:Power Button] is ignored
13:12:13.7755 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: Lid Switch
13:12:13.7755 [INFO] device [/dev/input/event1:Lid Switch] is ignored
13:12:13.7755 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: Sleep Button
13:12:13.7755 [INFO] device [/dev/input/event2:Sleep Button] is ignored
13:12:13.7755 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: Power Button
13:12:13.7755 [INFO] device [/dev/input/event3:Power Button] is ignored
13:12:13.7755 [INFO] Starting kanata proper
13:12:13.7755 [INFO] You may forcefully exit kanata by pressing lctl+spc+esc at any time. These keys refer to defsrc input, meaning BEFORE kanata remaps keys.
13:12:13.7755 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: Video Bus
13:12:13.7755 [INFO] device [/dev/input/event4:Video Bus] is included
13:12:13.7755 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: true. detect type KeyboardOnly; device type Keyboard, device name: AT Translated Set 2 keyboard
13:12:13.7755 [INFO] device [/dev/input/event5:AT Translated Set 2 keyboard] is included
13:12:13.7755 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: ThinkPad Extra Buttons
13:12:13.7755 [INFO] device [/dev/input/event6:ThinkPad Extra Buttons] is included
13:12:13.7756 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: PC Speaker
13:12:13.7756 [INFO] device [/dev/input/event17:PC Speaker] is ignored
13:12:13.7964 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: HD-Audio Generic HDMI/DP,pcm=3
13:12:13.7964 [INFO] device [/dev/input/event18:HD-Audio Generic HDMI/DP,pcm=3] is ignored
13:12:13.8084 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: HD-Audio Generic HDMI/DP,pcm=7
13:12:13.8084 [INFO] device [/dev/input/event19:HD-Audio Generic HDMI/DP,pcm=7] is ignored
13:12:13.8254 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: HD-Audio Generic HDMI/DP,pcm=8
13:12:13.8254 [INFO] device [/dev/input/event20:HD-Audio Generic HDMI/DP,pcm=8] is ignored
13:12:13.8404 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. detect type KeyboardOnly; device type Mouse, device name: SYNA8018:00 06CB:CE67 Mouse
13:12:13.8405 [INFO] device [/dev/input/event21:SYNA8018:00 06CB:CE67 Mouse] is ignored
13:12:13.8405 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: SYNA8018:00 06CB:CE67 Touchpad
13:12:13.8405 [INFO] device [/dev/input/event22:SYNA8018:00 06CB:CE67 Touchpad] is ignored
13:12:13.8406 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. detect type KeyboardOnly; device type Mouse, device name: TPPS/2 Elan TrackPoint
13:12:13.8406 [INFO] device [/dev/input/event23:TPPS/2 Elan TrackPoint] is ignored
13:12:13.8406 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: HD-Audio Generic Mic
13:12:13.8406 [INFO] device [/dev/input/event24:HD-Audio Generic Mic] is ignored
13:12:13.8604 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: HD-Audio Generic Headphone
13:12:13.8604 [INFO] device [/dev/input/event25:HD-Audio Generic Headphone] is ignored
13:12:13.8804 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: true. detect type KeyboardOnly; device type Keyboard, device name: solaar-keyboard
13:12:13.8804 [INFO] device [/dev/input/event27:solaar-keyboard] is ignored
13:12:13.8804 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: true. detect type KeyboardOnly; device type Keyboard, device name: Logitech USB Receiver
13:12:13.8804 [INFO] device [/dev/input/event7:Logitech USB Receiver] is ignored
13:12:13.8805 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. detect type KeyboardOnly; device type Mouse, device name: Logitech USB Receiver Mouse
13:12:13.8805 [INFO] device [/dev/input/event8:Logitech USB Receiver Mouse] is ignored
13:12:13.8805 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: true. detect type KeyboardOnly; device type Keyboard, device name: Logitech USB Receiver Consumer Control
13:12:13.8805 [INFO] device [/dev/input/event9:Logitech USB Receiver Consumer Control] is ignored
13:12:13.8805 [DEBUG] (1) kanata_state_machine::oskbd::linux: Use for input autodetect: false. Non-input device: Logitech USB Receiver System Control
13:12:13.8805 [INFO] device [/dev/input/event10:Logitech USB Receiver System Control] is ignored
13:12:13.8806 [INFO] device [/dev/input/event11:kanata] is ignored
13:12:13.8806 [INFO] registering /dev/input/event4: "Video Bus"
13:12:13.9074 [INFO] registering /dev/input/event5: "AT Translated Set 2 keyboard"
13:12:13.9477 [INFO] registering /dev/input/event6: "ThinkPad Extra Buttons"
13:12:14.6210 [DEBUG] (3) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_LEFTCTRL (29), value: Press }
13:12:14.8715 [DEBUG] (3) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_LEFTCTRL (29), value: Repeat }
13:12:14.8715 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: key outs for active layer-while-held: [KEY_LEFTCTRL, KEY_LEFTALT, KEY_LEFTSHIFT, KEY_LEFTMETA];
13:12:14.8716 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: empty layer-while-held outputs, probably transparent
13:12:14.8716 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: key outs for default layer: [KEY_LEFTCTRL, KEY_LEFTALT, KEY_LEFTSHIFT, KEY_LEFTMETA];
13:12:14.8716 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: checking defsrc output
13:12:14.9046 [DEBUG] (3) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_LEFTCTRL (29), value: Repeat }
13:12:14.9046 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: key outs for active layer-while-held: [KEY_LEFTCTRL, KEY_LEFTALT, KEY_LEFTSHIFT, KEY_LEFTMETA];
13:12:14.9046 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: empty layer-while-held outputs, probably transparent
13:12:14.9046 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: key outs for default layer: [KEY_LEFTCTRL, KEY_LEFTALT, KEY_LEFTSHIFT, KEY_LEFTMETA];
13:12:14.9046 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: checking defsrc output
13:12:14.9375 [DEBUG] (3) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_LEFTCTRL (29), value: Repeat }
13:12:14.9375 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: key outs for active layer-while-held: [KEY_LEFTCTRL, KEY_LEFTALT, KEY_LEFTSHIFT, KEY_LEFTMETA];
13:12:14.9375 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: empty layer-while-held outputs, probably transparent
13:12:14.9375 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: key outs for default layer: [KEY_LEFTCTRL, KEY_LEFTALT, KEY_LEFTSHIFT, KEY_LEFTMETA];
13:12:14.9375 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: checking defsrc output
13:12:14.9705 [DEBUG] (3) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_LEFTCTRL (29), value: Repeat }
13:12:14.9706 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: key outs for active layer-while-held: [KEY_LEFTCTRL, KEY_LEFTALT, KEY_LEFTSHIFT, KEY_LEFTMETA];
13:12:14.9706 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: empty layer-while-held outputs, probably transparent
13:12:14.9706 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: key outs for default layer: [KEY_LEFTCTRL, KEY_LEFTALT, KEY_LEFTSHIFT, KEY_LEFTMETA];
13:12:14.9706 [DEBUG] (3) kanata_state_machine::kanata::key_repeat: checking defsrc output
13:12:14.9738 [DEBUG] (3) kanata_state_machine::kanata: process recv ev KeyEvent { code: KEY_C (46), value: Press }
13:12:14.9748 [DEBUG] (3) kanata_state_machine::kanata: key press     LCtrl
13:12:14.9748 [DEBUG] (3) kanata_state_machine::oskbd::linux: send to uinput: InputEvent { time: SystemTime { tv_sec: 0, tv_nsec: 0 }, kind: Key(KEY_LEFTCTRL), value: 1 }

@jtroo jtroo merged commit c83d3b7 into main Nov 25, 2024
4 checks passed
@jtroo jtroo deleted the dev branch November 25, 2024 08:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
linux Issue pertains to Linux only
Projects
None yet
Development

Successfully merging this pull request may close these issues.

With linux-dev-names-include defined, skip device exclusion from autodetect code
2 participants