diff --git a/Makefile b/Makefile index 0c70b1a..02e4446 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ prefix := /usr/local # etcdir must be either /etc or etcdir := $(prefix)/etc bootprefix := $(patsubst %/usr,%/,$(prefix:%/=%)) -mandir := $(prefix)/share/man +mandir = $(prefix)/usr/share/man acmfiles := $(wildcard $./acm/*.acm) @@ -26,8 +26,8 @@ build-common: gzipped-acmfiles .PHONY: install-common install-common: build-common - install -d $(bootprefix)/bin/ - install setupcon $(bootprefix)/bin/ + install -d $(bootprefix)/usr/bin/ + install setupcon $(bootprefix)/usr/bin/ install -d $(etcdir)/default install -m 644 config/keyboard $(etcdir)/default/ install -m 644 config/console-setup $(etcdir)/default/ @@ -39,10 +39,10 @@ install-common: build-common .PHONY: install-common-linux install-common-linux: build-linux - install -d $(prefix)/share/consolefonts/ - install -m 644 Fonts/*.psf.gz $(prefix)/share/consolefonts/ - install -d $(prefix)/share/consoletrans - install -m 644 acm/*.acm.gz $(prefix)/share/consoletrans/ + install -d $(prefix)/usr/share/consolefonts/ + install -m 644 Fonts/*.psf.gz $(prefix)/usr/share/consolefonts/ + install -d $(prefix)/usr/share/consoletrans + install -m 644 acm/*.acm.gz $(prefix)/usr/share/consoletrans/ install -d $(etcdir)/console-setup install -m 644 Keyboard/compose.*.inc $(etcdir)/console-setup/ install -m 644 Keyboard/remap.inc $(etcdir)/console-setup/ @@ -67,8 +67,8 @@ install-ckbcomp: mkdir -p $(etcdir)/console-setup \ && cp -r Keyboard/ckb/ $(etcdir)/console-setup/ckb; \ fi - install -d $(prefix)/bin/ - install -m 755 Keyboard/ckbcomp $(prefix)/bin/ + install -d $(prefix)/usr/bin/ + install -m 755 Keyboard/ckbcomp $(prefix)/usr/bin/ install -d $(mandir)/man1/ install -m 644 man/ckbcomp.1 $(mandir)/man1/ diff --git a/Makefile.paths b/Makefile.paths new file mode 100644 index 0000000..0c70b1a --- /dev/null +++ b/Makefile.paths @@ -0,0 +1,150 @@ +maindir ?= $(shell pwd) +kbddir := $(maindir)/Keyboard +fntdir := $(maindir)/Fonts +include rules.mk +include Keyboard/Makefile +include Fonts/Makefile + +# The following two shortcuts will be redefined, so they can not be +# used in recipes and target specific variables. +. := $(maindir) +~ := main + +prefix := /usr/local +# etcdir must be either /etc or +etcdir := $(prefix)/etc +bootprefix := $(patsubst %/usr,%/,$(prefix:%/=%)) +mandir := $(prefix)/share/man + +acmfiles := $(wildcard $./acm/*.acm) + +gzipped_acmfiles := $(addsuffix .gz, $(acmfiles)) + +gzipped-acmfiles : $(gzipped_acmfiles) + +build-common: gzipped-acmfiles + +.PHONY: install-common +install-common: build-common + install -d $(bootprefix)/bin/ + install setupcon $(bootprefix)/bin/ + install -d $(etcdir)/default + install -m 644 config/keyboard $(etcdir)/default/ + install -m 644 config/console-setup $(etcdir)/default/ + install -d $(mandir)/man1/ + install -m 644 man/setupcon.1 $(mandir)/man1/ + install -d $(mandir)/man5/ + install -m 644 man/keyboard.5 $(mandir)/man5/ + install -m 644 man/console-setup.5 $(mandir)/man5/ + +.PHONY: install-common-linux +install-common-linux: build-linux + install -d $(prefix)/share/consolefonts/ + install -m 644 Fonts/*.psf.gz $(prefix)/share/consolefonts/ + install -d $(prefix)/share/consoletrans + install -m 644 acm/*.acm.gz $(prefix)/share/consoletrans/ + install -d $(etcdir)/console-setup + install -m 644 Keyboard/compose.*.inc $(etcdir)/console-setup/ + install -m 644 Keyboard/remap.inc $(etcdir)/console-setup/ + +.PHONY: install-common-freebsd +install-common-freebsd: build-freebsd + install -d $(prefix)/share/syscons/fonts/ + install -m 644 Fonts/*.fnt $(prefix)/share/syscons/fonts/ + install -d $(prefix)/share/syscons/scrnmaps/ + install -m 644 Fonts/*.scm $(prefix)/share/syscons/scrnmaps/ + install -d $(prefix)/share/consoletrans + install -m 644 acm/*.acm $(prefix)/share/consoletrans/ + install -d $(etcdir)/console-setup + install -m 644 Fonts/terminfo $(etcdir)/console-setup/ + install -m 644 Fonts/termcap $(etcdir)/console-setup/ + install -m 644 Keyboard/dkey.*.inc $(etcdir)/console-setup/ + install -m 644 Keyboard/remap.inc $(etcdir)/console-setup/ + +.PHONY: install-ckbcomp +install-ckbcomp: + if [ -z "$(xkbdir)" ]; then \ + mkdir -p $(etcdir)/console-setup \ + && cp -r Keyboard/ckb/ $(etcdir)/console-setup/ckb; \ + fi + install -d $(prefix)/bin/ + install -m 755 Keyboard/ckbcomp $(prefix)/bin/ + install -d $(mandir)/man1/ + install -m 644 man/ckbcomp.1 $(mandir)/man1/ + +.PHONY : install-ckbcomp-mini +install-ckbcomp-mini: build-mini-linux build-mini-freebsd + install -d $(prefix)/share/console-setup/ + -install -m 644 Keyboard/*.ekmap.gz $(prefix)/share/console-setup/ + -install -m 644 Keyboard/*.ekbd.gz $(prefix)/share/console-setup/ + install -m 644 Keyboard/charmap_functions.sh $(prefix)/share/console-setup/ + install -d $(prefix)/bin/ + install -m 755 Keyboard/ckbcomp-mini $(prefix)/bin/ + ln -s ckbcomp-mini $(prefix)/bin/ckbcomp + install -d $(mandir)/man1/ + install -m 644 man/ckbcomp.1 $(mandir)/man1/ + ln -s ckbcomp.1 $(mandir)/man1/ckbcomp-mini.1 + +.PHONY: install-linux +install-linux: install-common install-common-linux install-ckbcomp + +.PHONY: install-freebsd +install-freebsd: install-common install-common-freebsd install-ckbcomp + +.PHONY : install-mini-linux +install-mini-linux: install-common install-common-linux install-ckbcomp-mini + +.PHONY : install-mini-freebsd +install-mini-freebsd: install-common install-common-freebsd install-ckbcomp-mini + +common-uninstall: | build-linux build-mini-linux build-freebsd build-mini-freebsd + -for font in Fonts/*.psf.gz; do \ + rm $(prefix)/share/consolefonts/$${font##*/}; \ + done + -for acm in acm/*.acm.gz acm/*.acm; do \ + rm $(prefix)/share/consoletrans/$${acm##*/}; \ + done + -for font in Fonts/*.fnt; do \ + rm $(prefix)/share/syscons/fonts/$${font##*/}; \ + done + -for scm in Fonts/*.scm; do \ + rm $(prefix)/share/syscons/scrnmaps/$${scm##*/}; \ + done + -rm -r $(prefix)/share/console-setup/ + -rm $(prefix)/share/man/man1/ckbcomp.1 + -rm $(prefix)/share/man/man1/setupcon.1 + -rm $(prefix)/share/man/man5/keyboard.5 + -rm $(prefix)/share/man/man5/console-setup.5 + -rm -r $(etcdir)/console-setup/ + -rm $(etcdir)/default/keyboard + -rm $(etcdir)/default/console-setup + -rm $(prefix)/bin/ckbcomp + -rm $(bootprefix)/bin/setupcon + +.PHONY: uninstall-linux +uninstall-linux: build-linux common-uninstall + +.PHONY: uninstall-mini-linux +uninstall-mini-linux: build-mini-linux common-uninstall + +.PHONY: uninstall-freebsd +uninstall-freebsd: build-freebsd common-uninstall + +.PHONY: uninstall-mini-freebsd +uninstall-mini-freebsd: build-mini-freebsd common-uninstall + +%.txt : % + groff -mandoc -Tascii $< | col -bx >$@ + +txtmanpages := $./man/bdf2psf.1.txt $./man/console-setup.5.txt \ + $./man/setupcon.1.txt $./man/ckbcomp.1.txt $./man/keyboard.5.txt + +clean .PHONY : $~clean +$~clean: + -rm -f $(maindir)/acm/*.acm.gz + -rm -f $(maindir)/*~ + +maintainer-clean .PHONY : $~maintainer-clean +$~maintainer-clean: $~clean + -rm -f $(txtmanpages) + $(MAKE) $(txtmanpages) diff --git a/man/ckbcomp.1 b/man/ckbcomp.1 index 0f325eb..f59639b 100644 --- a/man/ckbcomp.1 +++ b/man/ckbcomp.1 @@ -46,7 +46,7 @@ Print a usage message and exit. .BI -charmap\ charmap The encoding to use for the output keymap. There should be an character mapping table defining this encoding in -.IR /usr/local/share/consoletrans . +.IR /usr/share/consoletrans . Definitions of the following charmaps are provided: .nh .BR ARMSCII-8 , @@ -86,8 +86,9 @@ for files included by the keymap description. This option may be used multiple times. If a file can not be found in any of the specified directories, it will be searched also in some other standard locations, such as -.IR /usr/local/etc/console-setup/ckb , -.IR /usr/local/share/X11/xkb +.IR /etc/console-setup/ckb , +.IR /usr/local/share/X11/xkb , +.IR /usr/share/X11/xkb and .IR /etc/X11/xkb @@ -167,9 +168,9 @@ Specifies the layout variant used to choose the component names. Adds an option used to choose component names. .SH FILES -.I /usr/local/share/consoletrans +.I /usr/share/consoletrans .br -.I /usr/local/etc/console-setup/ckb +.I /etc/console-setup/ckb .br .I /usr/share/X11/xkb .br diff --git a/man/ckbcomp.1.paths b/man/ckbcomp.1.paths new file mode 100644 index 0000000..0f325eb --- /dev/null +++ b/man/ckbcomp.1.paths @@ -0,0 +1,199 @@ +.\"Copyright (C) 2007, 2011 Anton Zinoviev +.\" +.\"Copying and distribution of this file, with or without +.\"modification, are permitted in any medium without royalty provided +.\"the copyright notice and this notice are preserved. This file is +.\"offered as-is, without any warranty. +.\" +.TH CKBCOMP 1 2011-03-17 console-setup "Console-setup User's Manual" +.SH NAME +ckbcomp \- compile a XKB keyboard description to a keymap suitable for loadkeys or kbdcontrol + +.SH SYNOPSIS +.B ckbcomp +.RI [ OPTION ...]\ [ XKBLAYOUT \ [ XKBVARIANT \ [ XKBOPTIONS ]...]] + +.SH DESCRIPTION +The +.B ckbcomp +keymap compiler converts a description of an XKB keyboard layout into +a console keymap that can be read directly by +.BR loadkeys (1) +or +.BR kbdcontrol (1). +.P +On its standard output +.B ckbcomp +dumps the generated keyboard definition. The most important +difference between the arguments of +.BR setxkbmap (1) +and the arguments of +.B ckbcomp +is the additional parameter +.I -charmap +when non-Unicode keyboard map is wanted. Without +.I -charmap +.B ckbcomp +will generate Unicode keyboard. + + +.SH OPTIONS +.SS General options +.TP +.BR -? , -help +Print a usage message and exit. +.TP +.BI -charmap\ charmap +The encoding to use for the output keymap. There should be an +character mapping table defining this encoding in +.IR /usr/local/share/consoletrans . +Definitions of the following charmaps are provided: +.nh +.BR ARMSCII-8 , +.BR CP1251 , +.BR CP1255 , +.BR CP1256 , +.BR GEORGIAN-ACADEMY , +.BR GEORGIAN-PS , +.BR IBM1133 , +.BR ISIRI-3342 , +.BR ISO-8859-1 , +.BR ISO-8859-2 , +.BR ISO-8859-3 , +.BR ISO-8859-4 , +.BR ISO-8859-5 , +.BR ISO-8859-6 , +.BR ISO-8859-7 , +.BR ISO-8859-8 , +.BR ISO-8859-9 , +.BR ISO-8859-10 , +.BR ISO-8859-11 , +.BR ISO-8859-13 , +.BR ISO-8859-14 , +.BR ISO-8859-15 , +.BR ISO-8859-16 , +.BR KOI8-R , +.BR KOI8-U , +.BR TIS-620 " and" +.BR VISCII . +.hy + +.TP +.BI -I dir +Look in the top-level directory +.I dir +for files included by the keymap description. This option may be used +multiple times. If a file can not be found in any of the specified +directories, it will be searched also in some other standard +locations, such as +.IR /usr/local/etc/console-setup/ckb , +.IR /usr/local/share/X11/xkb +and +.IR /etc/X11/xkb + +.TP +.BI -v\ level +Set level of detail for listing. The argument +.I level +must be a number from 1 to 10. +.TP +.BI -compact +Generate a compact keymap with at most two xkb groups and two levels +in each or only one xkb-group and up to four levels. +.TP +.BI -freebsd +Generate a keymap for FreeBSD. +.TP +.BR -backspace\ [ bs | del ] +Specifies the behaviour of the +.SM +and +.SM +keys. Value +.B bs +specifies VT100-conformant behaviour: +.nh +.SM +.hy +will generate +.B ^H +.SM (ASCII BS) +and +.nh +.SM +.hy +will generate +.B ^? +.SM (ASCII DEL). +Value +.B del +specifies VT220-conformant behavior: +.nh +.SM +.hy +will generate +.B ^? +.SM (ASCII DEL) +and +.nh +.SM +.hy +will generate a special function sequence. + +.SS XKB Keyboard Description +The keyboard layout, variant and options components can be also +specified directly on the command line. See the synopsis of the +command. +.TP +.BI -symbols\ name +Specifies the symbols component name of the XKB keyboard description. +.TP +.BI -keycodes\ name +Specifies the keycodes component name of the XKB keyboard description. +.TP +.BI -rules\ name +The name of the rules file to use. +.TP +.BI -model\ name +Specifies the keyboard model used to choose the component names. +.TP +.BI -layout\ name +Specifies the layout used to choose the component names. +.TP +.BI -variant\ name +Specifies the layout variant used to choose the component names. +.TP +.BI -option\ name +Adds an option used to choose component names. + +.SH FILES +.I /usr/local/share/consoletrans +.br +.I /usr/local/etc/console-setup/ckb +.br +.I /usr/share/X11/xkb +.br +.I /etc/X11/xkb + +.SH NOTES +If the option +.I -freebsd +is used together with +.IR -backspace\ del , +then the key +.SM +will generate the special code +.BR fkey70 . +It is your responsibility to assign the appropriate sequence to this +special code by using the following command: +.in +4n +.nf + +kbdcontrol -f 70 "`printf '\\033[3~'`" + +.fi +.in + +.SH SEE ALSO +.BR keyboard (5), +.BR setxkbmap (1) diff --git a/man/console-setup.5 b/man/console-setup.5 index 9153b2f..7c997f9 100644 --- a/man/console-setup.5 +++ b/man/console-setup.5 @@ -403,16 +403,16 @@ Completely covered by the following font faces: The standard location of the .B console-setup configuration file is -.IR /usr/local/etc/default/console-setup . +.IR /etc/default/console-setup . The keyboard configuration is in -.IR /usr/local/etc/default/keyboard . +.IR /etc/default/keyboard . Fonts that can be used with the variable .B FONT are usually installed in -.IR /usr/share/consolefonts/ " or " /usr/share/syscons/fonts/ . +.IR /usr/share/consolefonts/ " or " /lib/kbd/consolefonts/ . Translation maps that can be used with the variable CONSOLE_MAP are usually installed in -.IR /usr/share/consoletrans/ " or " /usr/share/syscons/scrnmaps/ . +.IR /usr/share/consoletrans/ " or " /lib/kbd/consoletrans/ . .SH NOTES The aim of the Terminus font is to reduce the eyes-fatigue when one diff --git a/man/console-setup.5.paths b/man/console-setup.5.paths new file mode 100644 index 0000000..9153b2f --- /dev/null +++ b/man/console-setup.5.paths @@ -0,0 +1,440 @@ +.\"Copyright (C) 2011 Anton Zinoviev +.\" +.\"Copying and distribution of this file, with or without +.\"modification, are permitted in any medium without royalty provided +.\"the copyright notice and this notice are preserved. This file is +.\"offered as-is, without any warranty. +.\" +.TH CONSOLE-SETUP 5 2011-03-17 console-setup "Console-setup User's Manual" +.SH NAME +console-setup \- configuration file for setupcon +.SH DESCRIPTION +The file +.B console-setup +specifies the encoding and the font to be used by +.BR setupcon (1) +in order to setup the console. It can be used also to specify the +keyboard layout but it is not recommended to do so, use +.BR keyboard (5) +instead. +.PP +The font specification consists of three parameters \- codeset, font +face and font size. The codeset specifies what characters will be +supported by the font. There isn't one-to-one correspondence between +codeset and encoding, for example the codeset +.B Lat15 +is suitable for ISO\ 8859-1, ISO\ 8859-9 and ISO\ 8859-15. The +codesets are two kinds \- small and big. Only small codesets are +supported on FreeBSD. +.PP +The font face determines the general look of the font. Each font face +is available in certain possible sizes. On FreeBSD only +.BR 8x16 ", " 8x14 " and " 8x8 +are valid sizes. On Linux if framebuffer is not used or +.BR consolechars (1) +is installed instead of +.BR setfont (1), +then the permitted sizes have the form +.RI 8x NUMBER . + +.PP +The console driver of FreeBSD permits fonts in different sizes to be +simultaneously loaded. Which one of them will be actually used +depends on the current video mode. Therefore, on this platform the +font size specification will be ignored and +.BR setupcon (1) +will load the selected font face in all available sizes. +.PP +The file +.B console-setup +consists of variable settings in +.SM POSIX +format: +.IP +.IR VARIABLE "='" VALUE ' +.PP +Only one assignment is allowed per line. Comments (starting with '#') +are also allowed. + +.SH OPTIONS +The following variables can be set. + +.TP +.B ACTIVE_CONSOLES +Specifies the device files in +.I /dev +of the virtual terminals to be configured. File name wild-cards +.RB ( * ",\ " ? ) +are allowed. On Linux usually you can set this to +.B /dev/tty[1-6] +and on FreeBSD a sensible value is +.BR /dev/ttyv[0-8] . +You can assign to this variable also the special value +.BR guess . +It will cause +.BR setupcon (1) +to attempt to guess the active virtual consoles by looking in +configuration files such as +.IR /etc/inittab " and " /etc/ttys . +This guessing is not always reliable. + +.TP +.B CHARMAP +Specifies the desired encoding on the console. Valid values are: +.nh +.BR UTF-8 , +.BR ARMSCII-8 , +.BR CP1251 , +.BR CP1255 , +.BR CP1256 , +.BR GEORGIAN-ACADEMY , +.BR GEORGIAN-PS , +.BR IBM1133 , +.BR ISIRI-3342 , +.BR ISO-8859-1 , +.BR ISO-8859-2 , +.BR ISO-8859-3 , +.BR ISO-8859-4 , +.BR ISO-8859-5 , +.BR ISO-8859-6 , +.BR ISO-8859-7 , +.BR ISO-8859-8 , +.BR ISO-8859-9 , +.BR ISO-8859-10 , +.BR ISO-8859-11 , +.BR ISO-8859-13 , +.BR ISO-8859-14 , +.BR ISO-8859-15 , +.BR ISO-8859-16 , +.BR KOI8-R , +.BR KOI8-U , +.BR TIS-620 " and" +.BR VISCII . +.hy +The special value +.B guess +is also recognized in which case the system command +.BR locale (1) +will be used to guess the desired encoding (currently this works +reliably only with +.SM GNU +libc). + +.TP +.B CODESET +In most cases the special value +.B guess +can be used here in which case a suitable codeset will be guessed. +The codeset determines which symbols are supported by the font. Valid +small codesets are: +.nh +.BR Armenian , +.BR CyrAsia , +.BR CyrKoi , +.BR CyrSlav , +.BR Georgian , +.BR Greek , +.BR Hebrew , +.BR Lao , +.BR Lat15 , +.BR Lat2 , +.BR Lat38 , +.BR Lat7 " and" +.BR Thai . +.hy +Valid big codesets are: +.nh +.BR Arabic , +.BR Ethiopian , +.BR Uni1 , +.BR Uni2 , +.BR Uni3 " and" +.BR Vietnamese . +.hy +Only small codesets can be used on FreeBSD. See below the section +entitled \*(lqCODESETS\*(rq for detailed description of each of these +codesets. + +.TP +.BR FONTFACE " and " FONTSIZE +Valid font faces are: +.nh +.BR VGA " (sizes " 8x8 ", " 8x14 ", " 8x16 ", " 16x28 " and " 16x32 ), +.BR Terminus " (sizes " 6x12 ", " 8x14 ", " 8x16 ", " 10x20 ", " 12x24 ", " 14x28 " and " 16x32 ), +.BR TerminusBold " (sizes " 8x14 ", " 8x16 ", " 10x20 ", " 12x24 ", " 14x28 " and " 16x32 ), +.BR TerminusBoldVGA " (sizes " 8x14 " and " 8x16 ), +and +.BR Fixed " (sizes " 8x13 ", " 8x14 ", " 8x15 ", " 8x16 " and " 8x18 ). +If however +.BR CODESET = Ethiopian , +then the available font faces are +.BR Goha " and " GohaClassic , +each in sizes +.BR 8x12 ", " 8x14 " and " 8x16 . +.hy + +Set +.B FONTFACE +and +.B FONTSIZE +to empty strings if you want to configure only the keyboard and to +leave the console font unchanged. + +.TP +.B VIDEOMODE +Set +.B VIDEOMODE +to an empty string to avoid setting up the video mode. On FreeBSD you +can run +.in +4n +.nf + +vidcontrol -i mode + +.fi +.in +in order to see all possible video modes. On Linux +.BR fbset (1) +is used to configure the video mode but very often this doesn't work +because the default framebuffer driver (VesaFB) is rather limited and +doesn't allow changes of the video mode. + +.TP +.BR FONT ", " FONT_MAP " and " CONSOLE_MAP +If set, specify that a non standard font is to be used. The value of +the variable +.B FONT +consists of one or more space separated font file names. On Linux, +when the font doesn't contain embedded Unicode map, an external map +can be specified with the variable +.BR FONT_MAP . +The value of +.B CONSOLE_MAP +is a file that specifies a translation map from the user's 8-bit +encoding to Unicode (Linux only) or directly to font positions. + +.TP +.BR SCREEN_WIDTH " and " SCREEN_HEIGHT +If set, these variables specify a screen size that +.BR setupcon (1) +will enforce with +.BR stty (1). +This can be useful with some braille devices that are only 40 cells +wide. The screen size can not exceed what the current screen +resolution can display according to the size of the loaded font. + +.TP +.B BEEP +This variable controls the style of the system beep on the console. When unset or when +.B BEEP=default +no changes to the system beep will be made. Other possible values of +.B BEEP +are: +.B standard - +set a standard beep; +.B short - +like the standard beep but somewhat shorter; +.B shortest - +even more short, suitable when your work generates lots of beeps; +.B polite - +a very short beep with low frequency, suitable when there are other +people in the room; +.B attention - +a very long beep, suitable when you want to warn yourself about an +occurring event; +.B annoying - +also a long beep, suitable when you want to warn somebody else about +an occurring event; and +.B off - +disable the system beep on the console. + +.SH CODESETS +There are two kinds of codesets \- small (up to 256\ symbols) and big +(up to 512\ symbols). Only small codesets can be used on FreeBSD. +When the screen is in text mode (i.e. framebuffer is not used) then +fonts covering big codesets will reduce the number of available +foreground colors. + +.SS Arabic (a big codeset) +Supported languages: Arabic, Kurdish in Iran, Pashto, Persian and Urdu. +.P +Completely covered by the following font faces: +.BR Fixed " (size " 8x16 ") and " VGA " (sizes " 8x16 " and " 16x32 ). + +.SS Armenian +Supported language: Armenian. +.P +Completely covered by the following font faces: +.B Fixed +(all sizes). + +.SS CyrAsia +This codeset supports some of the non-Slavic Cyrillic languages \- +Abkhazia, Avaric, Azerbaijani, Bashkir, Buryat, Chechen, Chuvash, +Inupiaq (Eskimo), Kara-Kalpak, Kazakh, Kirgiz, Komi, Kumyk, Kurdish, +Lezghian, Mari (Cheremis), Mongolian, Ossetic, Selkup +(Ostyak-Samoyed), Tajik, Tatar, Turkmen, Tuvinian, Uzbek and Yakut. +.P +Completely supported by the following font faces: +.B Fixed +(all sizes). + +.SS CyrKoi +Supports entirely the 8-bit encodings KOI8-R and KOI8-U. Suitable for +Russian and Ukrainian when one of these two encodings is used. +.P +Completely covered by the following font faces (in all sizes): +.BR Fixed ", " Terminus ", " TerminusBold ", " TerminusBoldVGA " and " VGA . + +.SS CyrSlav +Supports entirely the 8-bit encodings ISO-8859-5 and CP1251. Suitable +the Slavic Cyrillic languages \- Belarusian, Bulgarian, Macedonian, +Russian, Serbian and Ukrainian. For Serbian both the Cyrillic and the +Latin alphabets are supported. +.P +Completely covered by the following font faces: +.BR Fixed " (all sizes), " Terminus " (all sizes), " TerminusBold " (all sizes), " TerminusBoldVGA " (all sizes), " VGA " (sizes " 8x16 " and " 16x32 ). + +.SS Ethiopian (a big codeset) +Supports Amharic, Ethiopic (Geez), Tigre and Tigrinya. +.P +This codeset is partially covered by the following font faces: +.BR Fixed " (sizes " 8x15 " and " 8x18 "), " Goha " (all sizes) and " GohaClassic " (all sizes)." + +.SS Georgian +Supported language: Georgian. +.P +Completely covered by the following font faces: +.B Fixed +(all sizes). + +.SS Greek +Supported language: Greek. +.P +Completely covered by the following font faces: +.BR Fixed " (all sizes) and " VGA " (sizes " 8x16 " and " 16x32 ). + +.SS Hebrew +Supported languages: Hebrew and Yiddish. +.P +Completely covered by the following font faces: +.BR Fixed " (sizes " 8x13 ", " 8x15 ", " 8x16 " and " 8x18 ") and " VGA " (sizes " 8x16 " and " 16x32 ). + +.SS Lao +Supported languages: Lao. +.P +Completely covered by the following font faces: +.BR Fixed " (sizes " 8x15 " and " 8x16 ). + +.SS Lat15 +Covers entirely ISO-8859-1, ISO-8859-9 and ISO-8859-15. Suitable for +the so called Latin1 and Latin5 languages \- Afar, Afrikaans, +Albanian, Aragonese, Asturian, Aymara, Basque, Bislama, Breton, +Catalan, Chamorro, Danish, Dutch, English, Estonian, Faroese, Fijian, Finnish, +French, Frisian, Friulian, Galician, German, Hiri Motu, Icelandic, +Ido, Indonesian, Interlingua, Interlingue, Italian, Low Saxon, Lule +Sami, Luxembourgish, Malagasy, Manx Gaelic, Norwegian Bokmal, +Norwegian Nynorsk, Occitan, Oromo or Galla, Portuguese, Rhaeto-Romance +(Romansch), Scots Gaelic, Somali, South Sami, Spanish, Swahili, +Swedish, Tswana, Turkish, Volapuk, Votic, Walloon, Xhosa, Yapese and +Zulu. +.P +Completely covered by the following font faces: +.BR Fixed " (all sizes), " Terminus " (all sizes), " TerminusBold " (all sizes), " TerminusBoldVGA " (all sizes), " VGA " (sizes " 8x16 " and " 16x32 ). + +.SS Lat2 +Covers entirely ISO-8859-2. The Euro sign and the Romanian letters +with comma below are also supported. Suitable for the so called +Latin2 languages \- Bosnian, Croatian, Czech, Hungarian, Polish, +Romanian, Slovak, Slovenian and Sorbian (lower and upper). +.P +Completely covered by the following font faces: +.BR Fixed " (all sizes), " Terminus " (all sizes), " TerminusBold " (all sizes), " TerminusBoldVGA " (all sizes), " VGA " (sizes " 8x16 " and " 16x32 ). + +.SS Lat38 +Covers entirely ISO-8859-3 and ISO-8859-14. Suitable for Chichewa +Esperanto, Irish, Maltese and Welsh. +.P +Completely covered by the following font faces: +.BR Fixed " (all sizes) and " VGA " (sizes " 8x16 " and " 16x32 ). + +.SS Lat7 +Covers entirely ISO-8859-13. Suitable for Lithuanian, Latvian, Maori +and Marshallese. +.P +Completely covered by the following font faces: +.BR Fixed " (all sizes), " Terminus " (all sizes), " TerminusBold " (all sizes), " TerminusBoldVGA " (all sizes), " VGA " (sizes " 8x16 " and " 16x32 ). + +.SS Thai +Supported language: Thai. +.P +Completely covered by the following font faces: +.B Fixed +(all sizes). + +.SS Uni1 (a big codeset) +Supports most of the Latin languages, the Slavic Cyrillic +languages, Hebrew and barely Arabic. +.P +Completely covered by the following font faces: +.BR Fixed " (sizes " 8x15 " and " 8x16 ") and " VGA " (all sizes)." + +.SS Uni2 (a big codeset) +Supports most of the Latin languages, the Slavic Cyrillic languages +and Greek. +.P +Completely covered by the following font faces: +.BR Fixed " (all sizes) and " VGA " (sizes " 8x16 " and " 16x32 ). + +.SS Uni3 (a big codeset) +Supports most of the Latin and Cyrillic languages. +.P +Completely covered by the following font faces: +.B Fixed +(all sizes). + +.SS Vietnamese (a big codeset) +Supported language: Vietnamese. +.P +Completely covered by the following font faces: +.BR Fixed " (sizes " 8x13 ", " 8x15 ", " 8x16 " and " 8x18 ). + +.SH FILES +The standard location of the +.B console-setup +configuration file is +.IR /usr/local/etc/default/console-setup . +The keyboard configuration is in +.IR /usr/local/etc/default/keyboard . +Fonts that can be used with the variable +.B FONT +are usually installed in +.IR /usr/share/consolefonts/ " or " /usr/share/syscons/fonts/ . +Translation maps that can be used with the variable CONSOLE_MAP are +usually installed in +.IR /usr/share/consoletrans/ " or " /usr/share/syscons/scrnmaps/ . + +.SH NOTES +The aim of the Terminus font is to reduce the eyes-fatigue when one +has to read a lot. Currently this font supports only the Latin, the +Cyrillic and the Greek scripts (the +.BR Lat15 ", " Lat2 ", " Lat7 ", " CyrAsia ", " CyrKoi ", " CyrSlav ", " Greek ", " Uni2 " and " Uni3 +codesets). +.P +The fonts with font face +.B TerminusBoldVGA +are optimized for use with regular text video modes. They should not +be used with framebuffer video modes. The fonts with font face +.B TerminusBold +are optimized for use with the framebuffer video modes. The fonts +with font face +.B Terminus +can be used in all video modes. + +.SH SEE ALSO +.BR setupcon (1), +.BR keyboard (5), +.BR setfont (1), +.BR consolechars (1), +.BR vidcontrol (1) + diff --git a/man/keyboard.5 b/man/keyboard.5 index 9b3dece..679f30f 100644 --- a/man/keyboard.5 +++ b/man/keyboard.5 @@ -154,12 +154,12 @@ on FreeBSD. The standard location of the .B keyboard file is -.IR /usr/local/etc/default/keyboard . +.IR /etc/default/keyboard . Description of all available keyboard models, layouts, variants and options is available in -.IR /usr/local/share/X11/xkb/rules/xorg.lst . +.IR /usr/share/X11/xkb/rules/xorg.lst . In most cases, in -.IR /usr/share/keymaps/ " or " /usr/share/syscons/keymaps/ +.IR /lib/kbd/keymaps/ you will find several keymaps that can be used with the variable .BR KMAP . diff --git a/man/keyboard.5.paths b/man/keyboard.5.paths new file mode 100644 index 0000000..9b3dece --- /dev/null +++ b/man/keyboard.5.paths @@ -0,0 +1,286 @@ +.\"Copyright (C) 2011 Anton Zinoviev +.\" +.\"Copying and distribution of this file, with or without +.\"modification, are permitted in any medium without royalty provided +.\"the copyright notice and this notice are preserved. This file is +.\"offered as-is, without any warranty. +.\" +.TH KEYBOARD 5 2011-03-17 console-setup "Console-setup User's Manual" +.SH NAME +keyboard \- keyboard configuration file +.SH DESCRIPTION +The +.B keyboard +file describes the properties of the keyboard. It is read by +.BR setupcon (1) +in order to configure the keyboard on the console. In Debian systems +the default keyboard layout is described in +.I /etc/default/keyboard +and it is shared between X and the console. +.P +The specification of the keyboard layout in the +.B keyboard +file is based on the +.SM XKB +options XkbModel, XkbLayout, XkbVariant and XkbOptions. +Unfortunately, there is little documentation how to use them. Description of all possible values for these options can be found in the file +.IR xorg.lst . +.P +You might want to read \*(lqThe XKB Configuration Guide\*(rq by Kamil +Toman and Ivan U. Pascal: +.IP +http://www.xfree86.org/current/XKB-Config.html +.P +Other possible readings are: +.IP +https://wiki.archlinux.org/index.php/X_KeyBoard_extension +.br +http://pascal.tsu.ru/en/xkb/ +.br +http://www.charvolant.org/~doug/xkb/ +.PP +The complete XKB-specification can be found on +.IP +http://xfree86.org/current/XKBproto.pdf +.PP +The file +.B keyboard +consists of variable settings in +.SM POSIX +format: +.IP +.IR VARIABLE = VALUE +.PP +Only one assignment is allowed per line. Comments (starting with '#') +are also allowed. + +.SH OPTIONS +The following variables can be set. + +.TP +.B XKBMODEL +Specifies the +.SM XKB +keyboard model name. Default: +.B pc105 +on most platforms. + +.TP +.B XKBLAYOUT +Specifies the +.SM XKB +keyboard layout name. This is usually the country or language type of +the keyboard. Default: +.B us +on most platforms + +.TP +.B XKBVARIANT +Specifies the +.SM XKB +keyboard variant components. These can be used to further specify the +keyboard layout details. Default: not set. + +.TP +.B XKBOPTIONS +Specifies the +.SM XKB +keyboard option components. Options usually relate to the behavior +of the special keys +.nh +.SM (, , , , etc.) +.hy +Default: not set. + +.TP +.B BACKSPACE +Determines the behavior of +.nh +.SM +.hy +and +.nh +.SM +.hy +keys on the console. Allowed values: +.BR "bs", " del " and " guess". +In most cases you can specify +.B guess +here, in which case the current terminal settings and the kernel of +your operating system will be used to determine the correct value. +Value +.B bs +specifies VT100-conformant behavior: +.nh +.SM +.hy +will generate +.B ^H +.SM (ASCII BS) +and +.nh +.SM +.hy +will generate +.B ^? +.SM (ASCII DEL). +Value +.B del +specifies VT220-conformant behavior: +.nh +.SM +.hy +will generate +.B ^? +.SM (ASCII DEL) +and +.nh +.SM +.hy +will generate a special function sequence. + +.TP +.B KMAP +Usually this variable will be unset but if you don't want to use a +.SM XKB +layout on the console, you can specify an alternative keymap here. +Specify a file that is suitable as input for +.BR loadkeys (1) +on Linux or for +.BR kbdcontrol (1) +on FreeBSD. + +.SH FILES +The standard location of the +.B keyboard +file is +.IR /usr/local/etc/default/keyboard . +Description of all available keyboard models, layouts, variants and +options is available in +.IR /usr/local/share/X11/xkb/rules/xorg.lst . +In most cases, in +.IR /usr/share/keymaps/ " or " /usr/share/syscons/keymaps/ +you will find several keymaps that can be used with the variable +.BR KMAP . + +.SH NOTES +In Debian systems, changes in +.I /etc/default/keyboard +do not become immediately visible to X. You should either reboot the +system, or use +.in +4n +.nf + +udevadm trigger --subsystem-match=input --action=change + +.fi +.in +In order to activate the changes on the console, run +.BR setupcon (1) . + +.SH BUGS +When a triple-layout is used on the console, i.e. a layout with three +.SM XKB +groups, then the group toggling happens in the following way: Group1 +\-> Group2 \-> Group1 \-> Group3. +.P +On FreeBSD triple- and quadruple-layouts are not supported on the +console (only the first and the second layout are taken into account). +.P +The option +.B grp:shifts_toggle +is not supported on the console. + +.SH EXAMPLES + +The following configuration will give you the standard +.SM US QWERTY +layout +.RB ( us ). +The key +.nh +.SM +.hy +will act as a compose key +.RB ( compose:menu ) +and +.nh +.SM +.hy +will act as third control key +.RB ( ctrl:nocaps ). +.in +4n +.nf + +XKBLAYOUT=us +XKBVARIANT= +XKBOPTIONS=compose:menu,ctrl:nocaps + +.fi +.in +In the following configuration the right +.nh +.SM +.hy +key +.RB ( grp:toggle ) +will toggle between +.SM US QWERTY +layout +.RB ( us ) +and Greek +.RB ( gr ) +layout. The option +.B grp_led:scroll +is ignored on the console but in X in means to use the ScrollLock +keyboard led as indicator for the current layout (US or Greek). +.in +4n +.nf + +XKBLAYOUT=us,gr +XKBVARIANT= +XKBOPTIONS=grp:toggle,grp_led:scroll + +.fi +.in +In the following configuration the +.nh +.SM + +.hy +key combination will toggle +.RB ( grp:ctrl_shift_toggle ) +between French keyboard +.RB ( fr ) +without dead keys +.RB ( nodeadkeys ) +and British +.RB ( gb ) +\*(lqDvorak\*(rq +.RB ( dvorak ) +keyboard. The right +.nh +.SM +.hy +key will be a compose-key +.RB ( compose:rwin ) +and the right +.nh +.SM +.hy +key will function as AltGr +.RB ( lv3:lalt_switch ). +.in +4n +.nf + +XKBLAYOUT=fr,gb +XKBVARIANT=nodeadkeys,dvorak +XKBOPTIONS=grp:ctrl_shift_toggle,compose:rwin,lv3:ralt_switch + +.fi +.in +.SH SEE ALSO +.BR setupcon (1), +.BR ckbcomp (1), +.BR console-setup (5), +.BR loadkeys (1), +.BR kbdcontrol (1) diff --git a/man/setupcon.1 b/man/setupcon.1 index 8d759df..0d64d00 100644 --- a/man/setupcon.1 +++ b/man/setupcon.1 @@ -22,11 +22,11 @@ the console. Most of the time you invoke without arguments. The keyboard configuration is specified in .I ~/.keyboard or -.IR /usr/local/etc/default/keyboard . +.IR /etc/default/keyboard . The font configuration is specified in .I ~/.console-setup or -.IR /usr/local/etc/default/console-setup . +.IR /etc/default/console-setup . Consult .BR keyboard (5) and @@ -162,13 +162,13 @@ Display usage information. .br .I ~/.keyboard .br -.I /usr/local/etc/default/console-setup +.I /etc/default/console-setup .br -.I /usr/local/etc/default/keyboard +.I /etc/default/keyboard .br -.I /usr/local/etc/default/console-setup.VARIANT +.I /etc/default/console-setup.VARIANT .br -.I /usr/local/etc/default/keyboard.VARIANT +.I /etc/default/keyboard.VARIANT .br .I /etc/console-setup/ diff --git a/man/setupcon.1.paths b/man/setupcon.1.paths new file mode 100644 index 0000000..8d759df --- /dev/null +++ b/man/setupcon.1.paths @@ -0,0 +1,177 @@ +.\"Copyright (C) 2007, 2011 Anton Zinoviev +.\" +.\"Copying and distribution of this file, with or without +.\"modification, are permitted in any medium without royalty provided +.\"the copyright notice and this notice are preserved. This file is +.\"offered as-is, without any warranty. +.\" +.TH SETUPCON 1 2011-03-17 console-setup "Console-setup User's Manual" + +.SH NAME +setupcon \- sets up the font and the keyboard on the console + +.SH SYNOPSIS +.B setupcon +.RI [ OPTION ]...\ [ VARIANT ] + +.SH DESCRIPTION +.B setupcon +is a program for fast and easy setup of the font and the keyboard on +the console. Most of the time you invoke +.B setupcon +without arguments. The keyboard configuration is specified in +.I ~/.keyboard +or +.IR /usr/local/etc/default/keyboard . +The font configuration is specified in +.I ~/.console-setup +or +.IR /usr/local/etc/default/console-setup . +Consult +.BR keyboard (5) +and +.BR console-setup (5) +for instructions how to configure these two files. +.P +If you have to switch often between different encodings, keyboards or +languages, you can prepare several alternative configuration files for +.BR setupcon . +Suppose that most of the time you will use Greek language with Greek +keyboard layout, but sometimes you need to type in German with German +keyboard layout. In this situation you should customize the main +configuration files +.nh +.RI ( keyboard " and " console-setup ) +.hy +for Greek. Also, create alternative configuration files for German +named +.nh +.IR keyboard.german " and " console-setup.german . +.hy +Then in order to configure the console for Greek you will simply run +the command with no arguments: +.I setupcon +and in order to configure the console for German you will use +.nh +.IR setupcon\ german . +.hy + + +.SH OPTIONS + +.TP +.IR VARIANT +Specifies which configuration file to use. With no variant, +the configuration files of +.B setupcon +are named +.IR console-setup " and " keyboard . +On the other hand, if you use e.g. +.I chukchi +as +.I VARIANT +then the configuration files are +.IR console-setup.chukchi " and " keyboard.chukchi . +In this way you can have easy access to several different +configurations \- for example one for the Chukchi language and another +for the default configuration. + +.TP +.BR -v ,\ --verbose +Be more verbose. Use this option if something goes wrong or while +experimenting with the configuration files. + +.TP +.BR -k ,\ --keyboard-only +Setup the keyboard only, do not setup the font or the terminal. On +Linux it is enough to do this configuration only once. + +.TP +.BR -f ,\ --font-only +Setup the font only, do not setup the keyboard or the terminal. On +Linux this configuration should be repeated each time a new console +driver is activated (for example when the frame buffer becomes +active). + +.TP +.BR -t ,\ --terminal-only +Setup the terminal only, do not setup the keyboard or the font. + +.TP +.BR --current-tty +Setup the only the current virtual terminal. + +.TP +.BR --force +Do not check whether we are on the console. Notice that you can be +forced to hard-reboot your computer if you run +.B setupcon +with this option and the screen is controlled by a X server. + +.TP +.BR --save +This option can be useful if you want to use +.B setupcon +early in the boot process while +.I /usr +is not yet mounted and the required data are not available. This +option will make +.B setupcon +copy the required files in +.I /etc/console-setup/ +in order to make them available before +.I /usr +is mounted. If you use +.B setupcon +early in the boot process, then you should run it with this option +after every change of the console configuration. + +.TP +.BR --save-only +The same as +.IR --save , +but does not setup anything. This option can be useful if you want to +save the required files while the screen is controlled by a X server. + +.TP +.BI --save-keyboard\ FILE +For use by initrd builders. Do not configure anything. Save an +usable keyboard layout in +.IR FILE . + +.TP +.BI --setup-dir\ DIR +For use by initrd builders. Do not configure anything. Arrange in +the directory +.I DIR +everything necessary in order to configure the console. The file +.IR DIR/morefiles +lists all binaries the initrd builder has to install in the initrd +image. All other files in +.I DIR +have to be copied unchanged in the initrd. In order to configure the +console one has to run the script +.IR DIR/bin/setupcon . + +.TP +.BR -h ,\ --help +Display usage information. + +.SH FILES +.I ~/.console-setup +.br +.I ~/.keyboard +.br +.I /usr/local/etc/default/console-setup +.br +.I /usr/local/etc/default/keyboard +.br +.I /usr/local/etc/default/console-setup.VARIANT +.br +.I /usr/local/etc/default/keyboard.VARIANT +.br +.I /etc/console-setup/ + +.SH SEE ALSO +.BR keyboard (5), +.BR console-setup (5)