> On Mar 22, 2021, at 11:31 AM, Nate DeSimone wrote: > > Hi Andrew, > > I tested VT_UTF8 on the macOs Terminal software and I can confirm that VT_UTF8 renders nicely. See the attached screenshot. > Nate, Yes it is close to VT_UTF8, but not quite the same. I was looking back through the driver and I’d forgotten how similar it really is. Symbols used in table below =========================== ESC = 0x1B CSI = 0x9B DEL = 0x7f ^ = CTRL +=========+======+===========+==========+==========+=============+ | | EFI | EFI 1.10 | | | | | | Scan | | VT100+ | | | | KEY | Code | PC ANSI | VTUTF8 | VT100 | xterm-color | +=========+======+===========+==========+==========+=============+ | NULL | 0x00 | | | | | | UP | 0x01 | ESC [ A | ESC [ A | ESC [ A | ESC [ A | | DOWN | 0x02 | ESC [ B | ESC [ B | ESC [ B | ESC [ B | | RIGHT | 0x03 | ESC [ C | ESC [ C | ESC [ C | ESC [ C | | LEFT | 0x04 | ESC [ D | ESC [ D | ESC [ D | ESC [ D | | HOME | 0x05 | ESC [ H | ESC h | ESC [ H | ESC [ H | | | | | | | ^A | | END | 0x06 | ESC [ F | ESC k | ESC [ K | ESC [ F | | INSERT | 0x07 | ESC [ @ | ESC + | ESC [ @ | ^E | | | | ESC [ L | | ESC [ L | | | DELETE | 0x08 | ESC [ X | ESC - | ESC [ P | 0x7f | | PG UP | 0x09 | ESC [ I | ESC ? | ESC [ V | ESC [ 5 ~ | | | | | | ESC [ ? | ^P | | PG DOWN | 0x0A | ESC [ G | ESC / | ESC [ U | ESC [ 6 ~ | | | | | | ESC [ / | ^N | | F1 | 0x0B | ESC [ M | ESC 1 | ESC O P | ESC O P | | F2 | 0x0C | ESC [ N | ESC 2 | ESC O Q | ESC O Q | | F3 | 0x0D | ESC [ O | ESC 3 | ESC O w | ESC O R | | F4 | 0x0E | ESC [ P | ESC 4 | ESC O x | ESC O S | | F5 | 0x0F | ESC [ Q | ESC 5 | ESC O t | ESC [ 1 5 ~ | | F6 | 0x10 | ESC [ R | ESC 6 | ESC O u | ESC [ 1 7 ~ | | F7 | 0x11 | ESC [ S | ESC 7 | ESC O q | ESC [ 1 8 ~ | | F8 | 0x12 | ESC [ T | ESC 8 | ESC O r | ESC [ 1 9 ~ | | F9 | 0x13 | ESC [ U | ESC 9 | ESC O p | ESC [ 2 0 ~ | | F10 | 0x14 | ESC [ V | ESC 0 | ESC O M | ESC [ 2 1 ~ | | Escape | 0x17 | ESC | ESC | ESC | ESC | +=========+======+===========+==========+==========+=============+ | F11 | 0x16 | | | | ESC [ 2 3 ~ | | F12 | 0x16 | | | | ESC [ 2 4 ~ | +=========+======+===========+==========+==========+=============+ I’m wondering it we could pick the default terminal type based on the toolchain? Thanks, Andrew Fish > Thanks, > Nate > > On 3/17/21, 9:02 AM, "Andrew Fish" > wrote: > > If we are mentioning terminal types the default terminal type on a Mac is xterm-256color. So that is going to be the default when people run OVMF on a Mac. So it would be nice if we can add that. I can help out with anything xterm-256color related. > > Thanks, > > Andrew Fish > >> On Mar 16, 2021, at 8:23 AM, Laszlo Ersek wrote: >> >> Hi Nate, >> >> (adding Leif and Ard) >> >> On 03/13/21 03:52, Desimone, Nathaniel L wrote: >>> I've created a new wiki page for this task with all the information I >>> have gathered thus far. I've done some more experimentation and found >>> that there are several newer terminal emulators that don't support >>> DEC Special Graphics so I've reduced the number of modes where DEC >>> Special Graphics should be preferred. Laszlo, if you could take a >>> look at the terminal type matrix I created that would be very >>> helpful. >>> >>> https://github.com/tianocore/tianocore.github.io/wiki/Tasks-Terminal-driver-improvements >> >> ( >> >> My background: >> >> I settled on plain (non-UTF-8) xterm around 1998, and have been using it >> ever since. Whenever something was off, I always tried to hammer the >> application into conformance with my particular xterm setup, rather than >> the other way around. I also have some quirky terminal settings -- for >> me, "backspace" generates ^H / keycode 22 (stty sets erase to ^H), >> "delete" generates keycode 119, and there's no "rubout". I still don't >> use UTF-8 (I use latin2). >> >> ) >> >> * Regarding ArmVirtPkg, I stick with the default TTY_TERMINAL=FALSE >> setting (which means VT-100). Using that setting, I see the following >> kind of "ASCII approximation" for box drawing: >> >> /------------------------------------------------------------------------------\ >> | Boot Manager | >> \------------------------------------------------------------------------------/ >> >> I'm really happy with this, as I don't care much for nice-looking >> boxes; instead I prefer portability. >> >> (NB: this seems to disagree with your "Current Behavior (Which is >> wrong)" line for VT100, as it suggests CP437. That's not what I'm >> seeing with VT100.) >> >> TTY_TERMINAL=TRUE would mainly affect backspace / delete I think -- as >> far as I recall, that's why I asked Roy not to make TTY_TERMINAL=TRUE >> the default, in 2015: >> >> http://mid.mail-archive.com/555458DB.3090602@redhat.com >> http://mid.mail-archive.com/CAFECyb_E+bGZt5xv7QhRqyD0jX=AzoEMw7VW_tjZr+E=sQf8ww@mail.gmail.com >> >> (I'd like to CC Roy, but I can't tell if he's now working for Linaro, >> Cavium, HPE, Marvell, or another company.) >> >> * Regarding OvmfPkg, currently PC_ANSI is hard-coded, and for me it >> looks like this: >> >> ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄż >> ł Boot Manager ł >> ŔÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄŮ >> >> Obviously I'd much prefer if I got the simple ASCII approximation here >> as well. >> >> * Whether VT100 and/or PC_ANSI and/or TTY_TERM are *officially* supposed >> to use DEC Special Graphics, I can't tell. >> >> I know what my preferences are: >> >> - the current BackSpace and Delete mappings (which work fine for me >> with both VT100 and PC_ANSI, but *not* with TTY_TERM), >> >> - and the most primitive ASCII mapping (no special graphics, no UTF-8 >> sequences, etc). I really like a super dumb terminal, where taking >> simple "ASCII screenshots" (and pasting them into plaintext emails!) >> is *trivial*. >> >> ... Looking at your "Expected Behavior" table, there is only one line >> left with "poor man's ASCII" -- namely, TTY_TERM. Unfortunately, >> TTY_TERM breaks my BackSpace / Delete settings :( >> >> * In summary, I'd prefer if (a) VT100 stayed as-is (using "poor man's >> ASCII", as seen in ArmVirtPkg), and (b) if OVMF used *that* VT100, >> rather than PC_ANSI, by default. >> >> Thanks! >> Laszlo >> >> >> >> >> >> > > > > > > > >