Using Sun Rays with non-standard keyboards


If you are planning to use a Sun Ray with a non-standard USB keyboard it should really return the country code according to the USB specs, however most likely it with be a cheap PC keyboard that doesn't follow them.

So what happens?

Well if you are using a US keyboard layout - nothing as the Sun Ray server will default to using the US layout if the country code isn't correctly sent.

But, if you are like me and don't live in the US you end up with the wrong keyboard mappings. Now the real techies amongst us will know how to type on their keyboards using the US country mapping, but that isn't a real fix for the ordinary users. So, what we need to do is modify the defaults files and change the entry for USB keyboards which don't return a country code.

For Solaris edit the following files, taking an appropriate backup first:

/usr/openwin/share/etc/keytables/keytable.map
/usr/openwin/share/etc/keytables/xkbtable.map


For Linux edit the following files, taking appropriate backups first:

/opt/SUNWut/lib/keytables/keytable.map
/opt/SUNWut/lib/keytables/xkbtable.map


For the keytable.map you are looking for a line starting "6 < tab > 0"

# grep '\^6.0' keytable.map
6	0	US6.kt

Change the third column of this line to match your required keyboard layout, in my case for the UK this would change to:
6	0	UK6.kt

For the xkbtable.map you are looking for a line starting "6 < tab > \*"

# grep '\^6.\\\*' xkbtable.map
6	\*	sun/all(US6_usb)	type6_usb	us

Change the third, fourth and fifth columns of this line to match your required keyboard layout, in my case for the UK this would change to:
6	\*	sun/all(UK6_usb)	type6_euro_usb	gb

Of course if you have a single Sun Ray server giving sessions to multiple countries you are going to have a problem using keyboards that don't correctly return the country code.

Comments:

Happy to report that this works just as well on Trusted Extensions :-).

Posted by Dave Walker on September 15, 2008 at 05:48 AM PDT #

Hi,
I am experiencing a similar problem: many Italian USB keyboards are not recognized: echos are as US keybd. I applied your suggestion but I didn't get any differnece. In my scenario there is a Solaris x86 SRS4.1 running in kiosk mode with jds sessions and firefox. Sun USB italian keyboards are correctly recognized and work fine. Is there any other files to be modified?

Posted by roberto on December 04, 2008 at 12:29 AM PST #

Hi,
going ahead in our kiosk problem we found that, after modifying the 2 files as you suggested, we need also to disable the XKB extension entering the following command:
# utxconfig -a -k off
Many thanks.

Posted by roberto on December 10, 2008 at 07:37 PM PST #

Thanks, excellent explanation!
Our Logitech keyboards defaulted to US layout despite being swedish.
Before coming here I had only changed the keytable.map without success but it was the xkeytable.map that fixed the problem.
I just had to powercycle or reset the SunRay at the login screen to activate the swedish layout.

Cheers
Martin

Posted by Martin on May 03, 2009 at 06:35 PM PDT #

After some debugging with Version 4.2 it turns out that the given path
/opt/SUNWut/lib/keytables/xkbtable.map
is not correct. Xnewt tries to open /opt/SUNWut/lib/xkbtable.map as it can be discovered with this strace snipplet.

open("/opt/SUNWut/lib/xkb/xkbtable.map", O_RDONLY) = -1 ENOENT (No such file or directory)

Posted by Jürgen on July 24, 2009 at 07:46 AM PDT #

anyone know how to get a Bloomberg keyboard working with Virtual XP machines via a sun ray

Posted by michael johnson on January 05, 2010 at 07:55 PM PST #

Post a Comment:
Comments are closed for this entry.
About

Think Thin is a collection of bloggers that work with Oracle's Virtual Desktop portfolio of products.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today