mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-02 12:20:51 +00:00
Add support for NEWCONS to kbdmap and vidfont.
The path to keymaps and fonts is selected based on the existence and value of "sysctl kern.vty". MFC after: 1 week
This commit is contained in:
parent
dc98c62f89
commit
6fe6b12f07
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=269976
@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$");
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/queue.h>
|
||||
#include <sys/sysctl.h>
|
||||
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
@ -47,10 +48,10 @@ static const char *lang_default = DEFAULT_LANG;
|
||||
static const char *font;
|
||||
static const char *lang;
|
||||
static const char *program;
|
||||
static const char *keymapdir = DEFAULT_KEYMAP_DIR;
|
||||
static const char *fontdir = DEFAULT_FONT_DIR;
|
||||
static const char *keymapdir = DEFAULT_VT_KEYMAP_DIR;
|
||||
static const char *fontdir = DEFAULT_VT_FONT_DIR;
|
||||
static const char *font_default = DEFAULT_VT_FONT;
|
||||
static const char *sysconfig = DEFAULT_SYSCONFIG;
|
||||
static const char *font_default = DEFAULT_FONT;
|
||||
static const char *font_current;
|
||||
static const char *dir;
|
||||
static const char *menu = "";
|
||||
@ -145,6 +146,22 @@ add_keymap(const char *desc, int mark, const char *keym)
|
||||
SLIST_INSERT_HEAD(&head, km_new, entries);
|
||||
}
|
||||
|
||||
/*
|
||||
* Return 0 if syscons is in use (to select legacy defaults).
|
||||
*/
|
||||
static int
|
||||
check_newcons(void)
|
||||
{
|
||||
size_t len;
|
||||
char term[3];
|
||||
|
||||
len = 3;
|
||||
if (sysctlbyname("kern.vty", &term, &len, NULL, 0) != 0 ||
|
||||
strcmp(term, "vt") != 0)
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
* Figure out the default language to use.
|
||||
*/
|
||||
@ -815,6 +832,12 @@ main(int argc, char **argv)
|
||||
sleep(2);
|
||||
}
|
||||
|
||||
if (check_newcons() == 0) {
|
||||
keymapdir = DEFAULT_SC_KEYMAP_DIR;
|
||||
fontdir = DEFAULT_SC_FONT_DIR;
|
||||
font_default = DEFAULT_SC_FONT;
|
||||
}
|
||||
|
||||
SLIST_INIT(&head);
|
||||
|
||||
lang = get_locale();
|
||||
|
@ -28,7 +28,12 @@
|
||||
|
||||
|
||||
#define DEFAULT_LANG "en"
|
||||
#define DEFAULT_KEYMAP_DIR "/usr/share/syscons/keymaps"
|
||||
#define DEFAULT_FONT_DIR "/usr/share/syscons/fonts"
|
||||
#define DEFAULT_SYSCONFIG "/etc/rc.conf"
|
||||
#define DEFAULT_FONT "cp437-8x16.fnt"
|
||||
|
||||
#define DEFAULT_SC_KEYMAP_DIR "/usr/share/syscons/keymaps"
|
||||
#define DEFAULT_SC_FONT_DIR "/usr/share/syscons/fonts"
|
||||
#define DEFAULT_SC_FONT "cp437-8x16.fnt"
|
||||
|
||||
#define DEFAULT_VT_KEYMAP_DIR "/usr/share/vt/keymaps"
|
||||
#define DEFAULT_VT_FONT_DIR "/usr/share/vt/fonts"
|
||||
#define DEFAULT_VT_FONT "vgarom-thin-8x16.fnt"
|
||||
|
Loading…
Reference in New Issue
Block a user