Post History
Problem How do I find product and vendor names for use with a xorg.conf file? Neither the xorg.conf nor the xinput manuals specify how to do this. xinput lists info, but the output lacks column ...
#2: Post edited
- # Problem
- How do I find product and vendor names for use with a xorg.conf file?
- Neither the `xorg.conf` nor the `xinput` manuals specify how to do this.
- `xinput` lists info, but the output lacks column headers and the manual
- doesn't specify.
- # Have
- ```txt
- /etc/X11/xorg.conf.d/00-keyboard.conf
- ----
- Section "InputClass"
- Identifier "system-keyboard"
- MatchIsKeyboard "on"
- MatchVendor "Virtual core"
- MatchProduct "XTEST keyboard"
- Option "XkbLayout" "us"
- Option "XkbModel" "pc104"
- Option "XkbVariant" "dvorak"
- EndSection
- ```
- ```txt
- xinput
- ----
- ⎡ Virtual core pointer id=2 [master pointer (3)]
- ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
- ⎜ ↳ mek mek_42 Mouse id=10 [slave pointer (2)]
- ⎜ ↳ mek mek_42 Consumer Control id=12 [slave pointer (2)]
- ⎜ ↳ Elan Touchpad id=14 [slave pointer (2)]
- ⎜ ↳ Elan TrackPoint id=15 [slave pointer (2)]
- ⎜ ↳ Logitech MX Master 3S id=20 [slave pointer (2)]
- ⎣ Virtual core keyboard id=3 [master keyboard (2)]
- ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
- ↳ Power Button id=6 [slave keyboard (3)]
- ↳ Video Bus id=7 [slave keyboard (3)]
- ↳ Sleep Button id=8 [slave keyboard (3)]
- ↳ mek mek_42 id=9 [slave keyboard (3)]
- ↳ mek mek_42 System Control id=11 [slave keyboard (3)]
- ↳ mek mek_42 Keyboard id=13 [slave keyboard (3)]
- ↳ Intel HID events id=16 [slave keyboard (3)]
- ↳ AT Translated Set 2 keyboard id=17 [slave keyboard (3)]
- ↳ ThinkPad Extra Buttons id=18 [slave keyboard (3)]
- ↳ mek mek_42 Consumer Control id=19 [slave keyboard (3)]
- ```
- # Want
- Want a dvorak layout to apply only to my laptop keyboard. Given the
- `xinput` output, I believe this to be "Virtual core XTEST keyboard". I
- don't know what of this is the vendor and product.
- # Tried
- I tried multiple combinations of the string in the vendor and product
- places.
Things like- ```txt
- MatchVendor "Virtual core"
- MatchProduct "XTEST"
- MatchVendor "Virtual"
- MatchProduct "XTEST"
- MatchVendor "core"
- MatchProduct "XTEST"
- ...
- ```
- # Notes
- The main reason I am trying this as opposed to putting a line in my
- `.xinitrc` is that I don't want these settings to apply to my external
- keyboard (see [this post](https://linux.codidact.com/posts/290170)).
- # Problem
- How do I find product and vendor names for use with a xorg.conf file?
- Neither the `xorg.conf` nor the `xinput` manuals specify how to do this.
- `xinput` lists info, but the output lacks column headers and the manual
- doesn't specify.
- # Have
- ```txt
- /etc/X11/xorg.conf.d/00-keyboard.conf
- ----
- Section "InputClass"
- Identifier "system-keyboard"
- MatchIsKeyboard "on"
- MatchVendor "Virtual core"
- MatchProduct "XTEST keyboard"
- Option "XkbLayout" "us"
- Option "XkbModel" "pc104"
- Option "XkbVariant" "dvorak"
- EndSection
- ```
- ```txt
- xinput
- ----
- ⎡ Virtual core pointer id=2 [master pointer (3)]
- ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
- ⎜ ↳ mek mek_42 Mouse id=10 [slave pointer (2)]
- ⎜ ↳ mek mek_42 Consumer Control id=12 [slave pointer (2)]
- ⎜ ↳ Elan Touchpad id=14 [slave pointer (2)]
- ⎜ ↳ Elan TrackPoint id=15 [slave pointer (2)]
- ⎜ ↳ Logitech MX Master 3S id=20 [slave pointer (2)]
- ⎣ Virtual core keyboard id=3 [master keyboard (2)]
- ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
- ↳ Power Button id=6 [slave keyboard (3)]
- ↳ Video Bus id=7 [slave keyboard (3)]
- ↳ Sleep Button id=8 [slave keyboard (3)]
- ↳ mek mek_42 id=9 [slave keyboard (3)]
- ↳ mek mek_42 System Control id=11 [slave keyboard (3)]
- ↳ mek mek_42 Keyboard id=13 [slave keyboard (3)]
- ↳ Intel HID events id=16 [slave keyboard (3)]
- ↳ AT Translated Set 2 keyboard id=17 [slave keyboard (3)]
- ↳ ThinkPad Extra Buttons id=18 [slave keyboard (3)]
- ↳ mek mek_42 Consumer Control id=19 [slave keyboard (3)]
- ```
- # Want
- Want a dvorak layout to apply only to my laptop keyboard. Given the
- `xinput` output, I believe this to be "Virtual core XTEST keyboard". I
- don't know what of this is the vendor and product.
- # Tried
- I tried multiple combinations of the string in the vendor and product
- places.
- ```txt
- MatchVendor "Virtual core"
- MatchProduct "XTEST"
- MatchVendor "Virtual"
- MatchProduct "XTEST"
- MatchVendor "core"
- MatchProduct "XTEST"
- ...
- ```
- # Notes
- The main reason I am trying this as opposed to putting a line in my
- `.xinitrc` is that I don't want these settings to apply to my external
- keyboard (see [this post](https://linux.codidact.com/posts/290170)).
- The working line is:
- ```sh
- setxkbmap -layout us -variant dvorak
- ```
#1: Initial revision
How to find product and vendor names for xorg.conf
# Problem How do I find product and vendor names for use with a xorg.conf file? Neither the `xorg.conf` nor the `xinput` manuals specify how to do this. `xinput` lists info, but the output lacks column headers and the manual doesn't specify. # Have ```txt /etc/X11/xorg.conf.d/00-keyboard.conf ---- Section "InputClass" Identifier "system-keyboard" MatchIsKeyboard "on" MatchVendor "Virtual core" MatchProduct "XTEST keyboard" Option "XkbLayout" "us" Option "XkbModel" "pc104" Option "XkbVariant" "dvorak" EndSection ``` ```txt xinput ---- ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ mek mek_42 Mouse id=10 [slave pointer (2)] ⎜ ↳ mek mek_42 Consumer Control id=12 [slave pointer (2)] ⎜ ↳ Elan Touchpad id=14 [slave pointer (2)] ⎜ ↳ Elan TrackPoint id=15 [slave pointer (2)] ⎜ ↳ Logitech MX Master 3S id=20 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ mek mek_42 id=9 [slave keyboard (3)] ↳ mek mek_42 System Control id=11 [slave keyboard (3)] ↳ mek mek_42 Keyboard id=13 [slave keyboard (3)] ↳ Intel HID events id=16 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=17 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=18 [slave keyboard (3)] ↳ mek mek_42 Consumer Control id=19 [slave keyboard (3)] ``` # Want Want a dvorak layout to apply only to my laptop keyboard. Given the `xinput` output, I believe this to be "Virtual core XTEST keyboard". I don't know what of this is the vendor and product. # Tried I tried multiple combinations of the string in the vendor and product places. Things like ```txt MatchVendor "Virtual core" MatchProduct "XTEST" MatchVendor "Virtual" MatchProduct "XTEST" MatchVendor "core" MatchProduct "XTEST" ... ``` # Notes The main reason I am trying this as opposed to putting a line in my `.xinitrc` is that I don't want these settings to apply to my external keyboard (see [this post](https://linux.codidact.com/posts/290170)).