xmodmap man page on BSDOS

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDOS logo
[printable version]



XMODMAP(1)					     XMODMAP(1)

NAME
       xmodmap - utility for modifying keymaps and pointer button
       mappings in X

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

DESCRIPTION
       The xmodmap program is used to edit and display	the  key-
       board  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 per-
       sonal tastes.

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

       -grammar
	       This option indicates that a help message describ-
	       ing  the expression grammar used in files and with
	       -e expressions should be printed on  the standard
	       error.

       -verbose
	       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  exe-
	       cuted.  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

X Version 11		Release 6.4				1

XMODMAP(1)					     XMODMAP(1)

	       table should be printed on the standard output.

       -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 expres-
       sions to be executed.  This file is usually  kept  in  the
       user's home directory with a name like .xmodmaprc.

EXPRESSION GRAMMAR
       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 rede-
       fined 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
	       program.

       keycode any = KEYSYMNAME ...
	       If no existing  key  has the  specified	list  of
	       keysyms	assigned  to  it, a spare key on the key-
	       board is selected and the keysyms are assigned  to
	       it.  The list of keysyms may be specified in deci-
	       mal, hex or octal.

       keysym KEYSYMNAME = KEYSYMNAME ...
	       The KEYSYMNAME on the left hand side is translated
	       into  matching keycodes used to perform the corre-
	       sponding 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.

       clear MODIFIERNAME
	       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

X Version 11		Release 6.4				2

XMODMAP(1)					     XMODMAP(1)

	       it does matter for all other names).  For example,
	       ``clear Lock'' will remove all any keys that  were
	       bound to the shift lock modifier.

       add MODIFIERNAME = KEYSYMNAME ...
	       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).

       remove MODIFIERNAME = KEYSYMNAME ...
	       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 set-
	       tings  (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 comments.

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

EXAMPLES
       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  com-
       fortable 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
       Multi-language  key (sometimes labeled Compose Character).
       It also takes advantage of the fact that applications that

X Version 11		Release 6.4				3

XMODMAP(1)					     XMODMAP(1)

       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 alter-
       nate  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 ter-
       minal  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
       scripts:

	    !
	    ! 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  fol-
       lows:

	    !
	    ! 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

X Version 11		Release 6.4				4

XMODMAP(1)					     XMODMAP(1)

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

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

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

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

X Version 11		Release 6.4				5

XMODMAP(1)					     XMODMAP(1)

X Version 11		Release 6.4				6

[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server BSDOS

List of man pages available for BSDOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net