Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Dec 1999 17:51:05 -0500
From:      Greg Lehey <grog@mojave.sitaranetworks.com>
To:        Evren Yurtesen <yurtesen@ispro.net.tr>, freebsd-questions@FreeBSD.ORG
Subject:   Re: How to create a keymap for iso 8859-9???
Message-ID:  <19991205175105.62529@mojave.sitaranetworks.com>
In-Reply-To: <Pine.BSF.4.05.9912040919050.31221-100000@finland.ispro.net.tr>; from Evren Yurtesen on Sat, Dec 04, 1999 at 09:22:12AM %2B0200
References:  <Pine.BSF.4.05.9912040919050.31221-100000@finland.ispro.net.tr>

next in thread | previous in thread | raw e-mail | index | archive | help
If you want me to reply to a message, please include me in the To: or
Cc: list.  You should include -questions too if it's a followup to a
message in -questions, but if I see my name flagged, I'll give it more
attention.

On Saturday,  4 December 1999 at  9:22:12 +0200, Evren Yurtesen wrote:
> On Sat, 27 Nov 1999, Greg Lehey wrote:
>> On Friday, 26 November 1999 at 19:47:36 +0200, Evren Yurtesen wrote:
>>> Hello!
>>> How can I find information about keyboard scan codes?
>>
>> Look in the sources.  You'll also probably find stuff in books on PC
>> hardware.
>
> My problem is a little bit different. I have found out that FreeBSD
> does not have support for ISO-8859-9 character set. Which is consisting of
> Turkish characters. I could find information about character set and I
> could change the required characters to make a font which comlies with ISO
> 8859-9 but I could not find any information about the key map for Turkish
> keyboard. Now I can do it manually by trying the keys in Windows and then
> apply to the keymap in FreeBSd but it is very time consuming and I do not
> know if I can put everything to the right places.

Do you have a Turkish keyboard?  Does it also show the US key layout?
If so, it's not very difficult.

> Is there any place for document you know which clearly defines which key
> produces which characters with which key combinations ? (For example
> ALT-4 should produce $ sign)

Yes, that's in the keymap definition.  Look at
/usr/share/syscons/keymaps/us.iso.kbd, which defines the standard
layout.  You would want to create a tr.iso.kbd for your layout.

Here's an excerpt.

#                                                         alt
# scan                       cntrl          alt    alt   cntrl lock
# code  base   shift  cntrl  shift  alt    shift  cntrl  shift state
# ------------------------------------------------------------------
  000   nop    nop    nop    nop    nop    nop    nop    nop     O
  001   esc    esc    esc    esc    esc    esc    debug  esc     O
  002   '1'    '!'    nop    nop    '1'    '!'    nop    nop     O
  003   '2'    '@'    nul    nul    '2'    '@'    nul    nul     O
  004   '3'    '#'    nop    nop    '3'    '#'    nop    nop     O
  005   '4'    '$'    nop    nop    '4'    '$'    nop    nop     O
  006   '5'    '%'    nop    nop    '5'    '%'    nop    nop     O
  007   '6'    '^'    rs     rs     '6'    '^'    rs     rs      O
  008   '7'    '&'    nop    nop    '7'    '&'    nop    nop     O
  009   '8'    '*'    nop    nop    '8'    '*'    nop    nop     O
  010   '9'    '('    nop    nop    '9'    '('    nop    nop     O
  011   '0'    ')'    nop    nop    '0'    ')'    nop    nop     O
  012   '-'    '_'    us     us     '-'    '_'    us     us      O
  013   '='    '+'    nop    nop    '='    '+'    nop    nop     O
  014   bs     bs     del    del    bs     bs     del    del     O
  015   ht     btab   nop    nop    ht     btab   nop    nop     O
  016   'q'    'Q'    dc1    dc1    'q'    'Q'    dc1    dc1     C
  017   'w'    'W'    etb    etb    'w'    'W'    etb    etb     C
  018   'e'    'E'    enq    enq    'e'    'E'    enq    enq     C
  019   'r'    'R'    dc2    dc2    'r'    'R'    dc2    dc2     C
  020   't'    'T'    dc4    dc4    't'    'T'    dc4    dc4     C
  021   'y'    'Y'    em     em     'y'    'Y'    em     em      C
  022   'u'    'U'    nak    nak    'u'    'U'    nak    nak     C
  023   'i'    'I'    ht     ht     'i'    'I'    ht     ht      C
  024   'o'    'O'    si     si     'o'    'O'    si     si      C
  025   'p'    'P'    dle    dle    'p'    'P'    dle    dle     C

The scan code (which in decimal, not octal, despite the leading 0)
represents the key.  The next column describes the character generated
by the key alone.  The column after that describes the character
generated with the key and the shift key.  The column after that
describes the character generated with the key and the control key.
The column after that describes the character generated with the key
and the control and shift keys, and so on.  The last column specifies
whether the CapsLock key applies to this character or not.

To change this, just change the characters which are generated by the
key.  For example, key 21 is 'y' in the USA, but 'z' in Germany.  The
German keymap contains:

  021   'z'    'Z'    sub    sub    'z'    'Z'    sub    sub     C

Note that the control characters have changed too: 'sub' is the ASCII
SUB control character, ^Z.  If you leave this as dc4, you'll have the
bizarre situation where the key generates 'z' by itself, but ^Y with
the control key.

> Also how can I submit the product to FreeBSD group so that it can be
> included in future releases?

Send me the keymap when it's ready, and I'll commit it.

Greg
--
When replying to this message, please copy the original recipients.
For more information, see http://www.lemis.com/questions.html
Finger grog@lemis.com for PGP public key
See complete headers for address and phone numbers


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991205175105.62529>