Commit Graph

61 Commits

Author SHA1 Message Date
se
6b334f1506 Remove band.aid that made kbdcontrol lookup keymap files in the syscons
path even under vt, which is no longer useful, since the syscons keymap
files have been converted and committed for use by vt.
2014-08-26 09:37:43 +00:00
se
82ca7f915f The previous commit (r269119) introduced a regression: It removed the
ability to specify the the full path name of the keymap file.

Instead leave the original search order intact, but insert the path for
newcons-specific fonts (if run on a system using newcons):

	- KEYMAP_PATH in environment
	- full path name
	- /usr/share/vt/keymaps		(only if newcons is in use!)
	- /usr/share/syscons/keymaps	(also as fall-back for newcons)

MFC after:	1 week
2014-07-26 13:14:28 +00:00
se
5f9be87d80 Fix obvious off by one error: prefix[1] should be set to the path of the
newcons specific keymap files, not prefix[2]. The result of this bug was
that kbdcontrol ignored the files in the syscons keymap directory, which
apparently still work under newcons, for most locales.

MFC after:	1 week
2014-07-26 12:17:26 +00:00
emaste
25f9584271 Fix vt(4) detection in kbdcontrol and vidcontrol
As sc(4) and vt(4) coexist and are both enabled in GENERIC, the existence
of a vt(4) sysctl is not sufficient to determine that vt(4) is in use.

Reported by:	Trond Endrestøl
2014-07-02 20:40:59 +00:00
ray
afb34ab59c Enable kbdcontrol(1) to use maps from vt(4) keymaps dir /usr/share/vt/keymaps
if vt(4) is present.

MFC after:	7 days
Sponsored by:	The FreeBSD Foundation
2014-05-29 14:39:25 +00:00
uqs
14cd39e1d0 Reencode files to UTF-8. Drop CP1252 em-dash. 2011-12-30 00:59:08 +00:00
ed
27797657ef Add missing static and const keywords to kbdcontrol.
None of the symbols provided by kbdcontrol.c are used by other source
files of this binary. Slightly reduce the binary size and make much more
symbols read-only by adding proper static and const keywords.
2011-12-12 12:33:38 +00:00
ed
ec19ea84b8 ANSIfy some more tools in usr.sbin/.
Most of these tools build with WARNS=6, except for their use of K&R
function declarations.
2010-01-02 11:05:34 +00:00
ed
48c86dac05 Make the keyboard layer Unicode aware.
Just take keyent_t to use an u_int to store the Unicode codepoints.
Unfortunately the keymap is now too big to be loaded using an ioctl
argument, so change the ioctl to pick a pointer.

This change breaks kbdcontrol ABI. It doesn't break X11, because X11
doesn't do anything with syscons keymaps. It just switches the device
out of K_XLATE.

Obtained from:	//depot/user/ed/newcons/...
2009-09-19 17:56:26 +00:00
ed
a995cd062d Unhardcode 0x100 inside kbdcontrol.
In preparation for Unicode support for the keyboard layer, we'd better
get rid of all the hardcoded 0x100/0xff constants in kbdcontrol.
Instead, add a flag called SPECIAL stored in the top bit of the integer.

Adding Unicode support is very simple now; just change u_char map[] to
u_int map[] in keyent_t, change the bounds checking in kbdcontrol to
0x1FFFFF and modify the ioctls to allow loading these new keymaps.
2009-08-24 09:17:01 +00:00
ru
9e82974459 Replace magic numbers for console bell types with defines. 2006-11-16 12:27:51 +00:00
emax
01d5e88001 Make op parameter to mux_keyboard() u_int instead of int.
This should fix sparc64 messages like

Sep 15 11:17:39 peahi kernel: WARNING pid 5477 (kbdcontrol): ioctl sign-extension ioctl ffffffff80244b45

PR:		sparc64/96798
MFC after:	1 week
2006-09-15 18:41:12 +00:00
emax
d2de93780c kbdmux(4) keyboard multiplexer integration
o Slightly change KBADDKBD and KBRELKBD ioctl() interface. Instead of passing
  keyboard index pass keyboard_info_t structure with populated 'kb_unit' and
  'kb_name' fields. Keyboard index is not very user-friendly and is not very
  easy to obtain. Keyboard driver name and unit, on the other hand, is much
  more user friendly and known almost all the time;

o Move definition of keyboard_info_t structure up;

o Teach kbdcontrol(1) how to attach/detach keyboards to/from the keyboard
  multiplexor;

o Update kbdcontrol(1) man page and document new functionality.

To attach/detach keyboard to/from keyboard multiplexor one needs to use
keyboard device name (i.e. ukbd0).

MFC after:	1 week
2005-07-14 22:43:20 +00:00
jmg
3115c3a6e9 fix bug which prevented programming function keys that were exactly 16
characters long..  strcpy was coping over the length...

PR:		52960
Submitted by:	Dmitry Sivachenko
MFC after:	1 week
2004-08-09 04:27:58 +00:00
obrien
7293a24a2b Use __FBSDID over rcsid[]. Protect copyright[] where needed. 2003-05-03 21:06:42 +00:00
alfred
39c57be6b9 WARNS?=4 cleanup. 2002-07-11 21:12:18 +00:00
alfred
d9e0ad98f3 de-__P() 2002-07-11 20:53:56 +00:00
schweikh
28bcbfe85d Fix typo in the BSD copyright: s/withough/without/
Spotted and suggested by:	des
MFC after:	3 weeks
2002-06-02 20:05:59 +00:00
ru
a051ad011b FreeBSD 4.1 bootstrapping aid (HALT and PDWN are not defined there). 2002-02-08 09:37:12 +00:00
obrien
15642ccfc3 Repeat after me: "when reporting `file not found', perform a little bit of
useful HCI consideration and tell which file was being looked for".
2001-07-13 16:30:11 +00:00
sobomax
bdb58711b9 - Syncronizes command line syntax warnings with manpage (bin/27010);
- silence gcc(1) warnings (sobomax).

PR:		27010
Submitted by:	Alex Kapranoff <alex@kapran.bitmcnit.bryansk.su>, sobomax
MFC after:	10 days
2001-05-29 13:59:02 +00:00
des
7c380d0012 Move the scrollback controls from kbdcontrol to vidcontrol.
Also fix some style bugs in the code and poor language in the man pages.

Reviewed by:	sobomax
2001-05-28 11:05:28 +00:00
dd
3be8c16308 Instead of defining CONS_CLRHIST if it isn't defined, simply disable
the -c option [when CONS_CLRHIST isn't defined].  This is okay since
the only time CONS_CLRHIST wouldn't be defined is when kbdcontrol is
being built in bootstrap-tools, and -c isn't needed then.

Submitted by:	imp
2001-05-27 06:28:08 +00:00
dd
29152fc1f5 A la rev. 1.36, define CONS_CLRHIST here if it isn't already since
this is a build tool, so it has to build on 4.x with the old headers.
2001-05-27 04:03:52 +00:00
dd
1b6b8f296e Add a -c option which clears the history buffer using the new
CONS_CLRHIST ioctl.

PR:		27616
Reviewed by:	ru
2001-05-27 00:47:38 +00:00
imp
4d4667e40d If PASTE isn't defined, define it as a transitional measure. This
allows me to complete make buildworld on my stable machine.

Also change termination case to be clearer what is going on while
searching for map files.
2001-05-15 22:53:05 +00:00
sobomax
fdcf9e8aeb Fix a possible segfault introduced in my previous commit. 2001-05-14 06:15:07 +00:00
sobomax
91ffa34b5c Allow path where keyboard maps are looked for to be altered using environment
variable.
2001-05-12 09:16:09 +00:00
ache
c710e20072 Implement keyboard paste
PR:		25499
Submitted by:	Gaspar Chilingarov <nm@web.am>
2001-03-11 22:51:05 +00:00
phk
a4f549597e Initiate deorbit burn sequence for <machine/console.h>.
Replace all in-tree uses with necessary subset of <sys/{fb,kb,cons}io.h>.
This is also the appropriate fix for exo-tree sources.

Put warnings in <machine/console.h> to discourage use.
November 15th 2000 the warnings will be converted to errors.
January 15th 2001 the <machine/console.h> files will be removed.
2000-10-08 21:34:00 +00:00
dwmalone
eeb5416b47 Add the ability to define a "shutdown" and "shutdown and poweroff" key
to syscons. I have a man page to follow describing the format of the
kbdmap file.

PR:		19273
Reviewed by:	sheldonh
2000-09-11 20:37:42 +00:00
yokota
86222d7d6a Define some more function keys in the keymap: panic, lshifta, rshifta, etc. 1999-12-10 04:24:27 +00:00
peter
9751ab22ae Fix warning: return type of main' is not int' 1999-09-15 01:58:44 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
yokota
877b1230e9 - Add new argument off' to the -b' option. This will turn off
the bell.
- Document it in the man page.
- Fix a couple of typo in the man page.

Submitted by: cpiazza
1999-07-22 14:19:14 +00:00
yokota
88e8114a8f Reflect recent changes in syscons. 1999-06-22 14:15:46 +00:00
yokota
3f092f3796 Added backward compatibility to set key repeat rate.
Requested by: bde
1999-05-09 04:57:51 +00:00
gpalmer
39934dac14 Fix builds for the AXP
Submitted by:	Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
1999-03-17 11:42:18 +00:00
yokota
1c67fa8f3d Keyboard driver update in preparation for the USB keyboard driver.
- Refined internal interface in keyboard drivers so that:
  1. the side effect of device probe is kept minimal,
  2. polling mode function is added,
  3. and new ioctl and configuration options are added (see below).

- Added new ioctl: KDSETREPEAT
  Set keyboard typematic rate.  There has existed an ioctl command,
  KDSETRAD, for the same purpose.  However, KDSETRAD is dependent on
  the AT keyboard.  KDSETREPEAT provides more generic interface.
  KDSETRAD will still be supported in the atkbd driver.

- Added new configuration options:
  ATKBD_DFLT_KEYMAP
  Specify a keymap to be used as the default, built-in keymap.
  (There has been undocumented options, DKKEYMAP, UKKEYMAP, GRKEYMAP,
  SWKEYMAP, RUKEYMAP, ESKEYMAP, and ISKEYMAP to set the default keymap.
  These options are now gone for good.  The new option is more general.)

  KBD_DISABLE_KEYMAP_LOADING
  Don't allow the user to change the keymap.
1999-03-10 10:36:53 +00:00
dfr
d8d0694884 Remove a workaround for the alpha port using an outdated version of syscons. 1999-01-23 17:04:13 +00:00
mjacob
3c67634965 Fix for compiling on alpha.
Obtained from:yokota@zodiac.mech.utsunomiya-u.ac.jp
1999-01-12 23:06:29 +00:00
yokota
5253fae34d The first stage of console driver reorganization: activate new
keyboard and video card drivers.
1999-01-11 03:20:32 +00:00
yokota
30c8ef5ad9 The fix in the previous commit was not sufficient; the upper 24 bits
of an int argument still contained garbage.
Pointed out by: bde
PR: bin/7799
1998-09-10 12:20:09 +00:00
yokota
b8dea74f96 Fix uninitialized variable.
PR: bin/7799
Submitted by: Sheldon Hearn (axl@iafrica.com)
1998-09-04 10:15:48 +00:00
yokota
2701f369f2 The control code ^_ (0x1f) should really be called "us" rather than "ns".
In the mean time, accept both "us" and "ns" in the keymap file as ^_
for the compatibility with the existing keymap files.
1998-08-06 09:44:23 +00:00
yokota
df0803d1a1 Added the `saver' key definition. The saver key will activate the screen
saver if one is loaded.
1998-08-03 11:33:22 +00:00
yokota
5c2620bec2 - Set bell pitch in hertz and duration in msecs.
The change corresponds to syscons.c 1.268.

PR: bin/6037
Submitted by: Kouichi Hirabayashi (kh@eve.mogami-wire.co.jp)
1998-08-03 09:12:39 +00:00
des
d0c92c2cc8 Fix the search sequence for keymaps.
PR:		bin/6522
Submitted by:	Rudolf Cejka
1998-05-05 19:02:01 +00:00
yokota
626fac33fd Fix the output of `kbdcontrol -L _keymap_file_' which I broke in the last
commit ;-<  /usr/src/release/sysinstall/Makefile uses it to generate
built-in keymap tables.
1998-01-12 23:53:26 +00:00
yokota
ad126593f8 Added accent (dead) key support to syscons and kbdcontrol.
With a keymap with accent key definitions loaded to syscons, you press
an accent key followed by a regular letter key to produce an accented
letter.  Press an accent key followed by the space bar to get the
accent letter itself.

Code is based on the ideas and work by jmrueda@diatel.upm.es and
totii@est.is.

PR: i386/4016

- Added keywords for accent (dead) keys: dgra, dacu, dcir, dtil...
- Recognize accent map definitions.
<accent_map_definition> ::= <accent_key_name> <accent_char> <accent_map>
<accent_key_name> ::= dgra | dacu | dcir | dtil | dmac | dbre | ddot |
                      duml | dsla | drin | dced | dapo | ddac | dogo |
                      dcar
<accent_map> ::= <map_entry>
               | <map_entry> <accent_map>
<map_entry> ::= ( <regular_letter_char> <accented_char> )
- Use ioctls PIO_DEADKEYMAP and GIO_DEADKEYMAP to set and get the accent
  key map table in syscons.
- Made the output for the -L option more intelligible and look like
  initializers in kbdtables.h.
- Reorganized print functions in order to print the accent key map.
1998-01-07 08:43:28 +00:00