Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
keyboard_translatekeys(3)     Svgalib User Manual    keyboard_translatekeys(3)

       keyboard_translatekeys -	modify scancode	mappings in raw	keyboard mode

       #include	<vgakeyboard.h>

       void keyboard_translatekeys(int mask);

       This  function  sets  several flags which control how certain scancodes
       are mapped. At startup a	mask value of 0	is active.

       mask must be a logical or of zero or more of the	following  #predefined
       integers	to turn	the features listed on:

	      Translate	 the  scancodes	 of  the SCANCODE_CURSORBLOCK* keys to
	      those of the cursor keys on the number pad, s.t.	 keyboard_get-
	      state(3)	and  keyboard_keypressed(3)  report  a keypress	of the
	      corresponding number pad cursor key and not the one on the  cur-
	      sor block.

	      Translates  the  scancodes of diagonal cursor keys (keypad 7, 9,
	      1, 3) to presses of two of the ordinary up,  down,  left,	 right
	      keys. For	example, instead of reporting a	press of SCANCODE_CUR-
	      SORUPRIGHT keyboard_getstate(3) and  keyboard_keypressed(3)  re-
	      port a simultaneous press	of SCANCODE_CURSORUP and SCANCODE_CUR-

	      The scancode of the keypad enter key is mapped to	 that  of  the
	      ordinary enter key, s.t.	keyboard_getstate(3) and keyboard_key-
	      pressed(3) report	a press	of SCANCODE_ENTER regardless if	keypad
	      enter or ordinary	enter is pressed.

	      Pressing	<Ctrl>-C  does not raise a SIGINT.  On contrary	to the
	      other flags this has also	effect when a  user  defined  keyboard
	      event  handler  is  used.	Svgalib	will always process <Alt>-F1 -
	      <Alt>-F10	and perform console switches accordingly.

       The TRANSLATE_* options above do	really	do  simple  scancode  transla-
       tions.  For  example, when TRANSLATE_KEYPADENTER	is active and the user
       presses both enter and keypad enter. Then, if he	releases one  of  them
       (say  keypad  enter), it's release event	will clear the common keyboard
       state, s.t.  no	keypress  is  reported	even  though  enter  is	 still

       Similarly,  if  TRANSLATE_DIAGONAL is active, the user holds cursor up-
       left (keypad 7) down and	then presses and release cursor	up (keypad 8),
       svgalib will only report	a pressed cursor left but the simulated	cursor
       up will be lost.	You can	easily try this	with the  keytest(6)  demo  to
       make the	effect more clear to you.

       svgalib(7),  vgagl(7), libvga.config(5),	keytest(6), eventtest(6), key-
       board_seteventhandler(3), keyboard_init(3), keyboard_init_return_fd(3),
       keyboard_close(3),  keyboard_update(3), keyboard_waitforupdate(3), key-
       board_setdefaulteventhandler(3),	      keyboard_getstate(3),	  key-
       board_clearstate(3), keyboard_keypressed(3), vga_waitevent(3)

       This  manual page was edited by Michael Weller <eowmob@exp-math.uni-es->.	The exact source of the	referenced function as well as of  the
       original	documentation is unknown.

       It is very likely that both are at least	to some	extent are due to Harm
       Hanemaayer <>.

       Occasionally this might be wrong. I hereby asked	to be excused  by  the
       original	author and will	happily	accept any additions or	corrections to
       this first version of the svgalib manual.

Svgalib	(>= 1.2.11)		 29 July 1997	     keyboard_translatekeys(3)


Want to link to this manual page? Use this URL:

home | help