[Prev][Next][Index]
Hebrew key mapping for XFree86
Hi all.
I finally got around to addressing the issue of Hebrew on my
Linux box. I copied the Xmodmap from the Hebrew how to, and ran
xmodmap on it. I got the following errors:
xmodmap: Xmodmap-hebrew:133: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:134: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:135: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:136: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:137: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:138: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:139: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:140: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:141: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:142: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:143: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:144: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:145: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:146: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:147: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:148: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:149: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:150: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:151: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:152: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:153: bad keycode value (out of range)
xmodmap: Xmodmap-hebrew:154: bad keycode value (out of range)
xmodmap: 22 errors encountered, aborting.
Any suggestions ?
Following is my Xmodmap-hebrew file:
!For some reason the X server doesn't inherit the keymap from the previous
!paragraph, and anyway I would like to define ALT Left and ALT Right and Scroll
!Lock. When pressing ALT together with some key it will generate a Hebrew
!character, Scroll Lock will lock in Hebrew mode.
!To do that we need to use "xmodmap". Following is a Xmodmap which also
!corrects the bugs with the "Num Lock":
!
!-----
! Hebrew key mapping for XFree86 (for US/Hebrew keyboards).
! By Vlad Moseanu
!
keysym Alt_L = Mode_switch
keysym Alt_R = Mode_switch
!clear Mod1
clear Mod2
!add Mod1 = Alt_L
add Mod2 = Mode_switch
!
! Set the mapping for each key
!
keycode 8 =
keycode 9 = Escape
keycode 10 = 1 exclam
keycode 11 = 2 at
keycode 12 = 3 numbersign
keycode 13 = 4 dollar
keycode 14 = 5 percent
keycode 15 = 6 asciicircum
keycode 16 = 7 ampersand
keycode 17 = 8 asterisk
keycode 18 = 9 parenleft
keycode 19 = 0 parenright
keycode 20 = minus underscore
keycode 21 = equal plus
keycode 22 = Delete
keycode 23 = Tab
keycode 24 = q Q slash Q
keycode 25 = w W apostrophe W
keycode 26 = e E 0x00f7 E
keycode 27 = r R 0x00f8 R
keycode 28 = t T 0x00e0 T
keycode 29 = y Y 0x00e8 Y
keycode 30 = u U 0x00e5 U
keycode 31 = i I 0x00ef I
keycode 32 = o O 0x00ed O
keycode 33 = p P 0x00f4 P
keycode 34 = bracketleft braceleft
keycode 35 = bracketright braceright
keycode 36 = Return
keycode 37 = Control_L
keycode 38 = a A 0x00f9 A
keycode 39 = s S 0x00e3 S
keycode 40 = d D 0x00e2 D
keycode 41 = f F 0x00eb F
keycode 42 = g G 0x00f2 G
keycode 43 = h H 0x00e9 H
keycode 44 = j J 0x00e7 J
keycode 45 = k K 0x00ec K
keycode 46 = l L 0x00ea L
keycode 47 = semicolon colon 0x00f3 colon
keycode 48 = apostrophe quotedbl comma quotedbl
keycode 49 = grave asciitilde semicolon asciitilde
keycode 50 = Shift_L
keycode 51 = backslash bar
keycode 52 = z Z 0x00e6 Z
keycode 53 = x X 0x00f1 X
keycode 54 = c C 0x00e1 C
keycode 55 = v V 0x00e4 V
keycode 56 = b B 0x00f0 B
keycode 57 = n N 0x00ee N
keycode 58 = m M 0x00f6 M
keycode 59 = comma less 0x00fa less
keycode 60 = period greater 0x00f5 greater
keycode 61 = slash question period question
keycode 62 = Shift_R
keycode 63 = KP_Multiply
!keycode 64 = Alt_L Meta_L
keycode 65 = space
keycode 66 = Caps_Lock
keycode 67 = F1
keycode 68 = F2
keycode 69 = F3
keycode 70 = F4
keycode 71 = F5
keycode 72 = F6
keycode 73 = F7
keycode 74 = F8
keycode 75 = Escape
keycode 76 = F10
keycode 77 = Num_Lock
keycode 78 = Scroll_Lock
keycode 79 = KP_7
keycode 80 = KP_8
keycode 81 = KP_9
keycode 82 = KP_Subtract
keycode 83 = KP_4
keycode 84 = KP_5
keycode 85 = KP_6
keycode 86 = KP_Add
keycode 87 = KP_1
keycode 88 = KP_2
keycode 89 = KP_3
keycode 90 = KP_0
keycode 91 = KP_Decimal
keycode 92 = Sys_Req
keycode 93 =
keycode 94 =
keycode 95 = F11
keycode 96 = F12
keycode 97 = Home
keycode 98 = Up
keycode 99 = Prior
keycode 100 = Left
keycode 101 = Begin
keycode 102 = Right
keycode 103 = End
keycode 104 = Down
keycode 105 = Next
keycode 106 = Insert
keycode 107 = Delete
keycode 108 = KP_Enter
keycode 109 = Control_R
keycode 110 = Pause
keycode 111 = Print
keycode 112 = KP_Divide
!keycode 113 = Alt_R Meta_R
keycode 114 = Break
!
! This xmodmap file can be use to set the correct numerical keypad mapping
! when "ServerNumLock" is set in the XF86Config file. In this case the
! Xserver takes care of the Num Lock processing.
!
!
keycode 136 = KP_7
keycode 137 = KP_8
keycode 138 = KP_9
keycode 139 = KP_4
keycode 140 = KP_5
keycode 141 = KP_6
keycode 142 = KP_1
keycode 143 = KP_2
keycode 144 = KP_3
keycode 145 = KP_0
keycode 146 = KP_Decimal
keycode 147 = Home
keycode 148 = Up
keycode 149 = Prior
keycode 150 = Left
keycode 151 = Begin
keycode 152 = Right
keycode 153 = End
keycode 154 = Down
keycode 155 = Next
keycode 156 = Insert
keycode 157 = Delete
!-----
!To use the Xmodmap above define "Scroll-Lock Mode-Lock" in the XF86Config.
!
Finally, here is my XF86Config file:
# File generated by xf86config.
#
# Copyright (c) 1994 by The XFree86 Project, Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# Except as contained in this notice, the name of the XFree86 Project shall
# not be used in advertising or otherwise to promote the sale, use or other
# dealings in this Software without prior written authorization from the
# XFree86 Project.
#
# **********************************************************************
# Refer to the XF86Config(4/5) man page for details about the format of
# this file.
# **********************************************************************
# **********************************************************************
# Files section. This allows default font and rgb paths to be set
# **********************************************************************
Section "Files"
# The location of the RGB database. Note, this is the name of the
# file minus the extension (like ".txt" or ".db"). There is normally
# no need to change the default.
RgbPath "/usr/X11R6/lib/X11/rgb"
# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
#
# If you don't have a floating point coprocessor and emacs, Mosaic or other
# programs take long to start up, try moving the Type1 and Speedo directory
# to the end of this list (or comment them out).
#
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
EndSection
# **********************************************************************
# Server flags section.
# **********************************************************************
Section "ServerFlags"
# Uncomment this to cause a core dump at the spot where a signal is
# received. This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging
# NoTrapSignals
# Uncomment this to disable the <Crtl><Alt><BS> server abort sequence
# This allows clients to receive this key event.
# DontZap
# Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching
# sequences. This allows clients to receive these key events.
# DontZoom
EndSection
# **********************************************************************
# Input devices
# **********************************************************************
# **********************************************************************
# Keyboard section
# **********************************************************************
Section "Keyboard"
Protocol "Standard"
# when using XQUEUE, comment out the above line, and uncomment the
# following line
# Protocol "Xqueue"
AutoRepeat 500 5
# Let the server do the NumLock processing. This should only be required
# when using pre-R6 clients
ServerNumLock
# Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1))
# Xleds 1 2 3
# To set the LeftAlt to Meta, RightAlt key to ModeShift,
# RightCtl key to Compose, and ScrollLock key to ModeLock:
# LeftAlt Meta
# RightAlt ModeShift
# RightCtl Compose
# ScrollLock ModeLock
EndSection
# **********************************************************************
# Pointer section
# **********************************************************************
Section "Pointer"
Protocol "PS/2"
Device "/dev/psaux"
# When using XQUEUE, comment out the above two lines, and uncomment
# the following line.
# Protocol "Xqueue"
# Baudrate and SampleRate are only for some Logitech mice
# BaudRate 9600
# SampleRate 150
# Emulate3Buttons is an option for 2-button Microsoft mice
Emulate3Buttons
# ChordMiddle is an option for some 3-button Logitech mice
# ChordMiddle
EndSection
# **********************************************************************
# Monitor section
# **********************************************************************
# Any number of monitor sections may be present
Section "Monitor"
Identifier "dec"
VendorName "dec"
ModelName "dec"
# Bandwidth is in MHz unless units are specified
# Bandwidth 25.2
# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
HorizSync 31.5 - 57.0
# HorizSync 30-64 # multisync
# HorizSync 31.5, 35.2 # multiple fixed sync frequencies
# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies
# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.
VertRefresh 50-100
# Modes can be specified in two formats. A compact one-line format, or
# a multi-line format.
# These two are equivalent
# ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace
# Mode "1024x768i"
# DotClock 45
# HTimings 1024 1048 1208 1264
# VTimings 768 776 784 817
# Flags "Interlace"
# EndMode
# This is a set of standard mode timings. Modes that are out of monitor spec
# are automatically deleted by the server (provided the HorizSync and
# VertRefresh lines are correct), so there's no immediate need to
# delete mode timings (unless particular mode timings don't work on your
# monitor). With these modes, the best standard mode that your monitor
# and video card can support for a given resolution is automatically
# used.
# 640x400 @ 70 Hz, 31.5 kHz hsync
Modeline "640x400" 25.175 640 664 760 800 400 409 411 450
# 640x480 @ 60 Hz, 31.5 kHz hsync
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
# 800x600 @ 56 Hz, 35.15 kHz hsync
ModeLine "800x600" 36 800 824 896 1024 600 601 603 625
# 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync
Modeline "1024x768" 44.9 1024 1048 1208 1264 768 776 784 817 Interlace
# 640x480 @ 72 Hz, 36.5 kHz hsync
Modeline "640x480" 31.5 640 680 720 864 480 488 491 521
# 800x600 @ 60 Hz, 37.8 kHz hsync
Modeline "800x600" 40 800 840 968 1056 600 601 605 628 +hsync +vsync
# 800x600 @ 72 Hz, 48.0 kHz hsync
Modeline "800x600" 50 800 856 976 1040 600 637 643 666 +hsync +vsync
# 1024x768 @ 60 Hz, 48.4 kHz hsync
Modeline "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync
# 1024x768 @ 70 Hz, 56.5 kHz hsync
Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
# 1280x1024 @ 87 Hz interlaced, 51 kHz hsync
Modeline "1280x1024" 80 1280 1296 1512 1568 1024 1025 1037 1165 Interlace
# 1024x768 @ 76 Hz, 62.5 kHz hsync
Modeline "1024x768" 85 1024 1032 1152 1360 768 784 787 823
# 1280x1024 @ 61 Hz, 64.2 kHz hsync
Modeline "1280x1024" 110 1280 1328 1512 1712 1024 1025 1028 1054
# 1280x1024 @ 74 Hz, 78.85 kHz hsync
Modeline "1280x1024" 135 1280 1312 1456 1712 1024 1027 1030 1064
# Low-res Doublescan modes
# If your chipset does not support doublescan, you get a 'squashed'
# resolution like 320x400.
# 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 aspect ratio
Modeline "320x200" 12.588 320 336 384 400 200 204 205 225 Doublescan
# 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
# 320x240 @ 72 Hz, 36.5 kHz hsync
Modeline "320x240" 15.750 320 336 384 400 240 244 246 262 Doublescan
# 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio
ModeLine "400x300" 18 400 416 448 512 300 301 602 312 Doublescan
# 400x300 @ 60 Hz, 37.8 kHz hsync
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
# 400x300 @ 72 Hz, 48.0 kHz hsync
Modeline "400x300" 25 400 424 488 520 300 319 322 333 Doublescan
# 480x300 @ 56 Hz, 35.2 kHz hsync, 8:5 aspect ratio
ModeLine "480x300" 21.656 480 496 536 616 300 301 302 312 Doublescan
# 480x300 @ 60 Hz, 37.8 kHz hsync
Modeline "480x300" 23.890 480 496 576 632 300 301 303 314 Doublescan
# 480x300 @ 63 Hz, 39.6 kHz hsync
Modeline "480x300" 25 480 496 576 632 300 301 303 314 Doublescan
# 480x300 @ 72 Hz, 48.0 kHz hsync
Modeline "480x300" 29.952 480 504 584 624 300 319 322 333 Doublescan
EndSection
# **********************************************************************
# Graphics device section
# **********************************************************************
# Any number of graphics device sections may be present
# Standard VGA Device:
Section "Device"
Identifier "Generic VGA"
VendorName "Unknown"
BoardName "Unknown"
Chipset "generic"
# VideoRam 256
# Clocks 25.2 28.3
EndSection
# Sample Device for accelerated server:
# Section "Device"
# Identifier "Actix GE32+ 2MB"
# VendorName "Actix"
# BoardName "GE32+"
# Ramdac "ATT20C490"
# Dacspeed 110
# Option "dac_8_bit"
# Clocks 25.0 28.0 40.0 0.0 50.0 77.0 36.0 45.0
# Clocks 130.0 120.0 80.0 31.0 110.0 65.0 75.0 94.0
# EndSection
# Device configured by xf86config:
Section "Device"
Identifier "s3 trio 32"
VendorName "dec"
BoardName "dec"
#VideoRam 1024
# Use Option "nolinear" if the server doesn't start up correctly
# (this avoids the linear framebuffer probe). If that fails try
# option "nomemaccess".
#
# Use Option "sw_cursor" if the server completely locked up
# several times while you're moving the mouse.
#
# Refer to /usr/X11R6/lib/doc/README.S3, and the XF86_S3 man page.
# Insert Clocks lines here if appropriate
EndSection
# **********************************************************************
# Screen sections
# **********************************************************************
# The Colour SVGA server
Section "Screen"
Driver "svga"
Device "Generic VGA"
#Device "s3 trio 32"
Monitor "dec"
Subsection "Display"
Depth 8
#Modes "640x480" "800x600" "1024x768"
ViewPort 0 0
Virtual 320 200
#Virtual 1024 768
EndSubsection
EndSection
# The 16-color VGA server
Section "Screen"
Driver "vga16"
Device "Generic VGA"
Monitor "dec"
Subsection "Display"
Modes "640x480" "800x600"
ViewPort 0 0
Virtual 800 600
EndSubsection
EndSection
# The Mono server
Section "Screen"
Driver "vga2"
Device "Generic VGA"
Monitor "dec"
Subsection "Display"
Modes "640x480" "800x600"
ViewPort 0 0
Virtual 800 600
EndSubsection
EndSection
# The accelerated servers (S3, Mach32, Mach8, 8514, P9000, AGX, W32, Mach64)
Section "Screen"
Driver "accel"
Device "s3 trio 32"
Monitor "dec"
Subsection "Display"
Depth 8
Modes "640x480" "800x600" "1024x768"
ViewPort 0 0
Virtual 1024 768
EndSubsection
Subsection "Display"
Depth 16
Modes "640x480" "800x600"
ViewPort 0 0
Virtual 800 600
EndSubsection
Subsection "Display"
Depth 32
Modes "640x400"
ViewPort 0 0
Virtual 640 400
EndSubsection
EndSection
--
Smile - Tomorrow Will be worse Aharon Schkolnik
Aharon@Matat.Health.Gov.IL
-- Murphy