*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> xmodmap (1X)              



NAME    [Toc]    [Back]

       xmodmap - utility for modifying keymaps in X

SYNOPSIS    [Toc]    [Back]

       xmodmap [options...] [filename]

OPTIONS    [Toc]    [Back]

       The  following  options  may  be  used  with xmodmap: This
       option specifies the host and display to use.  This option
       indicates  that  a  brief  description of the command line
       arguments should be printed on the standard error channel.
       This  will be done whenever an unhandled argument is given
       to xmodmap.  This option indicates  that  a  help  message
       describing  the  expression grammar used in files and with
       -e expressions should be printed on  the  standard  error.
       This  option  indicates  that xmodmap should print logging
       information as it parses its input.  This option turns off
       the  verbose  logging.   This is the default.  This option
       indicates that xmodmap should not change the mappings, but
       should  display  what  it would do, like make(1) does when
       given this option.  This option specifies an expression to
       be  executed.   Any number of expressions may be specified
       from the command line.  This  option  indicates  that  the
       current  modifier  map  should  be printed on the standard
       output.  This option indicates that the  current  modifier
       map  should  be printed on the standard output in the form
       of expressions that can be  fed  back  to  xmodmap.   This
       option  indicates  that the current keymap table should be
       printed on the standard  output.   This  option  indicates
       that  the  current  keymap  table should be printed on the
       standard output in the form of expressions that can be fed
       back  to  xmodmap.  This option indicates that the current
       pointer map should be printed on the standard  output.   A
       lone  dash means that the standard input should be used as
       the input file.

       The filename specifies a file containing  xmodmap  expressions
  to  be  executed.  This file is usually kept in the
       user's home directory with a name like

DESCRIPTION    [Toc]    [Back]

       The xmodmap program is used to edit and display  the  keyboard
  modifier  map  and  keymap  table  that are used by
       client  applications  to  convert  event   keycodes   into
       keysyms.   It  is  usually  run  from  the  user's session
       startup script to configure the keyboard according to personal


       The xmodmap program reads a list of expressions and parses
       them all before attempting to execute any of  them.   This
       makes it possible to refer to keysyms that are being redefined
 in a natural way without having  to  worry  as  much
       about  name conflicts.  The list of keysyms is assigned to
       the indicated keycode (which may be specified in  decimal,
       hex or octal and can be determined by running the xev program.
  If no  existing  key  has  the  specified  list  of
       keysyms  assigned  to  it,  a spare key on the keyboard is
       selected and the keysyms are assigned to it. The  list  of
       keysyms  may  be  specified in decimal, hex or octal.  The
       KEYSYMNAME on  the  left  hand  side  is  translated  into
       matching keycodes used to perform the corresponding set of
       keycode expressions. The list of keysym names may be found
       in the header file <X11/keysymdef.h> (without the XK_ prefix)
 or  the  keysym  database  <XRoot>/lib/X11/XKeysymDB,
       where  <XRoot> refers to the root of the X11 install tree.
       Note that if the same keysym is bound  to  multiple  keys,
       the  expression  is  executed  for  each matching keycode.
       This removes all entries in the modifier map for the given
       modifier,  where  valid  name  are:  Shift, Lock, Control,
       Mod1, Mod2, Mod3, Mod4, and Mod5 (case does not matter  in
       modifier  names,  although  it  does  matter for all other
       names).  For example, "clear Lock"  will  remove  all  any
       keys  that  were  bound  to the shift lock modifier.  This
       adds all keys containing the given keysyms  to  the  indicated
  modifier  map. The keysym names are evaluated after
       all input expressions are read to make it  easy  to  write
       expressions to swap keys (see the EXAMPLES section).  This
       removes all keys containing the  given  keysyms  from  the
       indicated  modifier map.  Unlike add, the keysym names are
       evaluated as the line is read  in.   This  allows  you  to
       remove  keys from a modifier without having to worry about
       whether or not they have been reassigned.  This  sets  the
       pointer  map back to its default settings (button 1 generates
 a code of 1, button 2 generates a 2, and so  forth.).
       This  sets  to pointer map to contain the indicated button
       codes.  The list always starts  with  the  first  physical

       Lines  that  begin with an exclamation point (!) are taken
       as comments.

       If you want to change the binding of a modifier  key,  you
       must also remove it from the appropriate modifier map.

EXAMPLES    [Toc]    [Back]

       Many  pointers  are designed such that the first button is
       pressed using the index finger of the right hand.   People
       who  are  left-handed frequently find that it is more comfortable
 to reverse the button codes that get generated so
       that  the primary button is pressed using the index finger
       of the left hand.  This  could  be  done  on  a  3  button
       pointer as follows:

       %  xmodmap -e "pointer = 3 2 1"

       Many applications support the notion of Meta keys (similar
       to Control keys except that Meta is held down  instead  of
       Control).  However, some servers do not have a Meta keysym
       in the default keymap table, so one needs to be  added  by
       hand. The following command will attach Meta to the Multilanguage
 key (sometimes labeled  Compose  Character).   It
       also  takes  advantage  of the fact that applications that
       need a Meta key simply need to get the keycode and do  not
       require the keysym to be in the first column of the keymap
       table.  This means that applications that are looking  for
       a  Multi_key (including the default modifier map) will not
       notice any change.

       %  xmodmap -e "keysym Multi_key = Multi_key Meta_L"

       Similarly, some keyboards have an Alt key but no Meta key.
       In that case the following may be useful:

       %  xmodmap -e "keysym Alt_L = Meta_L Alt_L"

       One of the more simple, yet convenient, uses of xmodmap is
       to set the keyboard's "rubout" key to generate  an  alternate
   keysym.    This   frequently   involves  exchanging
       Backspace with Delete to be more comfortable to the  user.
       If the ttyModes resource in xterm is set as well, all terminal
 emulator windows will use the same key  for  erasing

       %    xmodmap  -e  "keysym  BackSpace  =  Delete"  %   echo
       "XTerm*ttyModes:  erase ^?" | xrdb -merge

       Some keyboards do not automatically generate less than and
       greater than characters when the comma and period keys are
       shifted.  This can be remedied with xmodmap  by  resetting
       the  bindings  for the comma and period with the following

       !  ! make shift-, be < and shift-. be > !  keysym comma  =
       comma less keysym period = period greater

       One  of  the more irritating differences between keyboards
       is the location of the Control and  Shift  Lock  keys.   A
       common  use  of  xmodmap is to swap these two keys as follows:

       !  !  Swap  Caps_Lock  and  Control_L  !   remove  Lock  =
       Caps_Lock  remove  Control  = Control_L keysym Control_L =
       Caps_Lock  keysym  Caps_Lock  =  Control_L  add   Lock   =
       Caps_Lock add Control = Control_L

       The  keycode  command  is  useful  for  assigning the same
       keysym to multiple keycodes.  Although unportable, it also
       makes it possible to write scripts that can reset the keyboard
 to a known state.  The  following  script  sets  the
       backspace key to generate Delete (as shown above), flushes
       all existing caps lock bindings, makes the CapsLock key be
       a   control  key,  make  F5  generate  Escape,  and  makes
       Break/Reset be a shift lock.

       !  ! On the HP, the following keycodes have  key  caps  as
       listed:  !  !     101  Backspace !      55  Caps !      14
       Ctrl !      15  Break/Reset !      86  Stop !      89   F5
       !   keycode 101 = Delete keycode 55 = Control_R clear Lock
       add Control = Control_R keycode 89 = Escape keycode  15  =
       Caps_Lock add Lock = Caps_Lock

ENVIRONMENT    [Toc]    [Back]

       to get default host and display number.

BUGS    [Toc]    [Back]

       Every  time  a keycode expression is evaluated, the server
       generates a MappingNotify event on every client.  This can
       cause some thrashing. All of the changes should be batched
       together and done at once. Clients that  receive  keyboard
       input  and ignore MappingNotify events will not notice any
       changes made to keyboard mappings.

       xmodmap should generate  "add"  and  "remove"  expressions
       automatically  whenever a keycode that is already bound to
       a modifier is changed.

       There should be a way to have the remove expression accept
       keycodes  as  well  as  keysyms  for  those times when you
       really mess up your mappings.

SEE ALSO    [Toc]    [Back]

       X(1X), xev(1X), Xlib  documentation  on  key  and  pointer

AUTHOR    [Toc]    [Back]

       Jim  Fulton,  MIT  X Consortium, rewritten from an earlier
       version by David Rosenthal of Sun Microsystems.

[ Back ]
 Similar pages
Name OS Title
xmodmap IRIX utility for modifying keymaps (and pointer buttons) in X
rpc.passw IRIX server for modifying NIS password file
yppasswdd HP-UX daemon for modifying Network Information Service passwd database
rpc.yppasswdd Tru64 server daemon for modifying the Network Information Service (NIS) password file
yppasswdd Tru64 server daemon for modifying the Network Information Service (NIS) password file
espreport IRIX 0espreport is a utility provided for viewing various reports from ESP on the command line. This utility bypass
espconfig IRIX 0espconfig is a utility provided for the configuration ESP from the command line. This utility bypasses the we
login_tty NetBSD tty utility functions
fx IRIX disk utility
pciconf FreeBSD diagnostic utility for the PCI bus
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service