aboutsummaryrefslogtreecommitdiff
path: root/common/terminal.c
AgeCommit message (Collapse)Author
2020-08-28terminal: Explain FreeBSD current_vt behaviorKenny Levinsen
2020-08-28terminal: Construct TTY paths correctly on FreeBSDKenny Levinsen
FreeBSD TTY paths are contructed in the kernel using the %r formatter, which in this case ends up being a base 32 encoding. The base 32 implementation is taken more or less directly from wlroots commit fc6c0ca12e94.
2020-08-28terminal: FreeBSD VT num is 1 higher than tty numKenny Levinsen
This was causing all VT and TTY changes to be applied to the wrong TTY.
2020-08-28terminal: Set K_RAW and term raw mode on FreeBSDKenny Levinsen
Taken from X11, weston and consolekit2 ports for FreeBSD. Setting just K_CODE as done before makes input seemingly have no ill effects, but it is still buffered and possibly send to the terminal after application exit if stdin is never drained. Setting raw mode appears to be needed to solve that issue. A K_OFF-like VT keyboard setting like Linux has would seem more appropriate, but that is not currently available to us on FreeBSD.
2020-08-02seat: Open/close tty on activation/deactivationKenny Levinsen
The VT and KD ioctl's are picky about the tty fd used. In order to satisfy these, and to improve state cleanup, we now only and store the current tty when opening a client, and use this fd to perform teardown later. The presence of the fd is also used to signal that teardown is needed.
2020-08-02terminal: Correctly set K_ON on keyboard enableKenny Levinsen
2020-08-01client: Implement get_peer for FreeBSDKenny Levinsen
2020-08-01terminal: FreeBSD VT and KD handlingKenny Levinsen
2020-07-31Initial implementation of seatd and libseatKenny Levinsen