Bug 220562 - [patch] x11-servers/xorg-server: fix terminal initialization in absence of xf86-input-keyboard driver
Summary: [patch] x11-servers/xorg-server: fix terminal initialization in absence of xf...
Status: In Progress
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-x11 mailing list
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2017-07-08 15:16 UTC by Vladimir Kondratyev
Modified: 2018-06-10 12:14 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (x11)


Attachments
x11-servers.xorg-server.patch (2.90 KB, patch)
2017-07-08 15:16 UTC, Vladimir Kondratyev
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Kondratyev freebsd_committer 2017-07-08 15:16:10 UTC
Created attachment 184182 [details]
x11-servers.xorg-server.patch

Xorg-server is the program that shares framebuffer with the kernel terminal emulator. To avoid interference it must disable terminal output on start and restore on finish.
Currently it is done partially by xorg-server itself, partially by and xf86-input-keyboard driver. Switching to xf86-input-evdev or xf86-input-libinput as keyboard events source disables xf86-input-keyboard and broke terminal handling.
Attached patch fixes terminal initialization with copy-pasting missing chunks of code from xf86-input-keyboard to xorg-server. Similar changes are already done in Linux-specific parts of xorg-server (See hw/xfree86/os-support/linux/lnx_init.c).

Attached patch:
1. Disables processing of special keys (CTRL-C, ALT-Fn) by switching terminal keyboard to K_RAW mode.
2. Turns off annoying bell on input queue overflow.
3. Disables terminal echoing.

It is believed that switching terminal to KD_GRAPHICS mode should do #3, but that is wrong at least on VT consoles.
Comment 1 Matthew Rezny freebsd_committer 2017-07-31 04:48:02 UTC
I have integrated this, with improvements (using SYSCALL), into my 1.19 WIP.