Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Post History

60%
+1 −0
Q&A 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 ...

0 answers  ·  posted 4mo ago by mcp‭  ·  edited 4mo ago by mcp‭

#2: Post edited by user avatar mcp‭ · 2024-01-15T12:05:49Z (4 months ago)
Polish and add working command
  • # 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 by user avatar mcp‭ · 2024-01-15T12:03:10Z (4 months ago)
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)).