identifying (filco TKL) keyboard for setxbmap

I have a Filco Majestouch 2 TKL (88/105key). How can I identify this correctly using setxbmap? I have tried some of the options - pc105 is not right.
Code:
% dmesg | grep -i keyboard
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
ukbd0: <vendor 0x04d9 USB Keyboard, class 0/0, rev 1.10/1.05, addr 2> on usbus0
ums0: <vendor 0x04d9 USB Keyboard, class 0/0, rev 1.10/1.05, addr 2> on usbus0
 
Yes, indeed, it seems to be 105. I've misdiagnosed the issue - in the shell (sh) '£' does not display. This problem is not there in tcsh, csh.

Possibly, this is a locale problem in another guise:

https://forums.freebsd.org/threads/44934/#post-327775

update:
When I set 'setxkbmap -layout gb -model pc105' in .profile, from login shift-3 gives '#'
If I then do setxkbmap -layout gb -model pc105 at sh prompt, shift-3 gives '£'

Why is that?
 
.profile might be ignored by the shell in your case #1. There must be a better place for the command, depends on how you log in. .xsession, .xinitrc ...

xev can be used to see what Xserver thinks about a key, od -x what a shell sees.

Juha
 
I use xdm with fvwm. Neither changes in .xsession nor in .xinitrc seem to have an effect. Both .profile and .shrc have been edited with the command.
 
In that case ~/.xsession should suffice. It's rwxr-xr-x ? /usr/local/bin missing from PATH at that time ? Setting reverted at some later point by the window manager ? Clashing 8859 and UTF-8 world views ? :)

Juha
 
Hmm...

In /var/log/xdm.log

Code:
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Error:  No Symbols named "pc105" in the include file "gb"
>  Exiting
>  Abandoning symbols file "default"
FWIW:
Code:
$ locale
LANG=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_COLLATE=C
LC_TIME="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_ALL=
 
Try another approach ?
Code:
$ cat /usr/local/etc/X11/xorg.conf.d/keyboard.conf
Section "InputClass"
  Identifier  "KeyboardDefaults"
  Driver  "keyboard"
  MatchIsKeyboard "on"
  Option  "XkbLayout" "gb"
  Option  "XKbOptions" "terminate:ctrl_alt_bksp"
EndSection

Juha


You could use MatchProduct "bla bla" and such if you had another keyboard with a different layout. Not likely, but ...
 
Working not very systematically, I made the following change in .login_conf
Code:
me:\
  :charset=ISO-8859-1:\
  :lang=en_GB.ISO8859-1:

#me:\
#  :charset=UTF-8:\
  #  :lang=en_GB.UTF-8:\
  #  :setenv=LC_COLLATE=C:
after cap_mkdb and restarting my x session '£' key works now also in sh.

Apparently this change made the difference, or I am mistaken. Can you explain?

..before this I had created /usr/local/etc/X11/xorg.conf.d/keyboard.conf with your contents and soon after deleted the file.

I then restored .login_conf to an earlier condition (i.e. ISO, as above), ran cap_mkdb etc.

Hmm, somehow this feels like my human error.

...but then why only affecting sh?
 
Looks like sh just does not like multibyte characters. I see the same, command line shows \nnn\nnn, but echo output is then ok. hmrmh...

Fortunately it's cosmetic, taken as non-whitespace.
Code:
 $ ls B\xxx\xxxC
ls: BÖC: No such file or directory
 
Dammit, will I ever learn to read the manpage properly before opening mouth.

In the BUGS section, sh(1), it laments about the editline lib. Sure enough,
set +o vi to disable vi-mode editing and now national keys echo as expected when typing on the console where it's UTF-8.

Juha
 
Back
Top