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

  man pages->IRIX man pages -> X11/xmodmap (1)              


     XMODMAP(1)		X Version 11 (Release 6.4)	    XMODMAP(1)

     NAME    [Toc]    [Back]
	  xmodmap - utility for	modifying keymaps (and pointer
	  buttons) in X

     SYNOPSIS    [Toc]    [Back]
	  xmodmap [-options ...] [filename]

     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 tastes.

     OPTIONS    [Toc]    [Back]
	  The following	options	may be used with xmodmap:

	  -display display
		  This option specifies	the host and display to	use.

	  -help	  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.

	  -quiet  This option turns off	the verbose logging.  This is
		  the default.

	  -n	  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.

	  -e expression
		  This option specifies	an expression to be executed.
		  Any number of	expressions may	be specified from the
		  command line.

	  -pm	  This option indicates	that the current modifier map
		  should be printed on the standard output.

	  -pk	  This option indicates	that the current keymap	table
		  should be printed on the standard output.

     Page 1					     (printed 10/9/01)

     XMODMAP(1)		X Version 11 (Release 6.4)	    XMODMAP(1)

	  -pke	  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.

	  -pp	  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 .xmodmaprc.

	  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.

	  keycode NUMBER = KEYSYMNAME ...
		  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

	  keycode any =	KEYSYMNAME ...
		  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

		  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

		  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

     Page 2					     (printed 10/9/01)

     XMODMAP(1)		X Version 11 (Release 6.4)	    XMODMAP(1)

		  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.

	  pointer = default
		  This sets the	pointer	map back to its	default
		  settings (button 1 generates a code of 1, button 2
		  generates a 2, etc.).

	  pointer = NUMBER ...
		  This sets to pointer map to contain the indicated
		  button codes.	 The list always starts	with the first
		  physical button.

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

	  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

     Page 3					     (printed 10/9/01)

     XMODMAP(1)		X Version 11 (Release 6.4)	    XMODMAP(1)

	  takes	advantage of the fact that applications	that need a
	  Meta key simply need to get the keycode and don't 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) won't 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 characters:

	       %  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

     Page 4					     (printed 10/9/01)

     XMODMAP(1)		X Version 11 (Release 6.4)	    XMODMAP(1)

	       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]
	  DISPLAY to get default host and display number.

     SEE ALSO    [Toc]    [Back]
	  X(1),	xev(1),	Xlib documentation on key and pointer events

     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.

     Page 5					     (printed 10/9/01)

     XMODMAP(1)		X Version 11 (Release 6.4)	    XMODMAP(1)

     AUTHOR    [Toc]    [Back]
	  Jim Fulton, MIT X Consortium,	rewritten from an earlier
	  version by David Rosenthal of	Sun Microsystems.

     Page 6					     (printed 10/9/01)

[ Back ]
 Similar pages
Name OS Title
xmodmap Tru64 utility for modifying keymaps in X
xmodmap HP-UX utility for modifying keymaps in X
VkRadioGroup IRIX Support for radio behavior within any set of toggle buttons
VkRepeatButton IRIX A component for displaying repeating Motif buttons
DXmFormSpaceButtonsEqually Tru64 Sets push buttons in a form widget to be equally spaced and sized.
rpc.passw IRIX server for modifying NIS password file
yppasswdd HP-UX daemon for modifying Network Information Service passwd database
yppasswdd Tru64 server daemon for modifying the Network Information Service (NIS) password file
rpc.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
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service