helloSystem / ISO

helloSystem Live and installation ISO
https://github.com/helloSystem/
BSD 3-Clause "New" or "Revised" License
807 stars 58 forks source link

The hardware keyboard requirements are off putting #474

Closed darkoverlordofdata closed 1 year ago

darkoverlordofdata commented 1 year ago

Respectfully, I find the keyboard situation on release 0.8.0 to be alienating. I run my laptop from a secondary monitor, and leave the lid closed. The language selector is difficult to use, and only shows up on the primary display, even when it is disabled. To reboot I have to open the lid and select the languages from the laptop screen. My laptop is old, opening and closing the lid is causing the built in screen to malfunction. When it dies...

I have an RPI keyboard, and it misidentifies me as UK. I am US, so some of the keys are wrong. I am unable to use it with my RPI4, either, for the same reason. A new Raspberry Pi Keyboard and Hub is $35, and I don’t trust the build quality, I’ve gotten several defective pieces of RPI hardware. I stopped using it.

I also don’t think requiring a $35 keyboard or else MacOS is friendly, if it continues, I will have to rethink any commitment to using or testing helloSystem. I hope you will reconsider this policy.

probonopd commented 1 year ago

Hi @darkoverlordofdata, have you tested the latest 0.8.1 builds?

There the language chooser should come up only once, as it writes your selection to EFI NVRAM. Once the value can be read from EFI NVRAM, you won't be bothered anymore.

On Macs, the EFI NVRAM value should already be set, so the language chooser should never come up there.

As for the RPI keyboard, that is strange. Can you please attach it to helloSystem, and then run the following command:

sudo lsusb -v  2>/dev/null | grep "RPI Wired Keyboard" | grep iProduct | tail -c 3

You should see a number. On my RPi keyboard it is 5, and as per my reverse-guesstimated table it is German (which is correct). What is the number for yours? Is my table wrong? Or did the manufacturer of the keyboard mess up?

darkoverlordofdata commented 1 year ago

I see the issue. My computer has an early version of EFI that is incompatible with FreeBSD. I can only use legacy rom to boot. GhostBSD works great on it.

As far as the RPI keyboard, yes it's a manufacturing defect which prevents my RPI4 from booting - I have to use an Amazon keyboard on it.

probonopd commented 1 year ago

You can also boot helloSystem on non-EFI systems, but then keyboard language settings will not be persisted across boots unless you configure the system manually in FreeBSD fashion. I am focusing on using EFI NVRAM for this purpose so that it "just works" on the systems where it is supported (like all Intel Macs).

darkoverlordofdata commented 1 year ago

That's fair. GhostBSD must automate that. I'll pore through the documentation - I've never done that manually ... before.

BTW - Thanks!

darkoverlordofdata commented 1 year ago

In case someone else runs into this, here is a fix

It's easy to set the keyboard - basically you need to set the LANG environment variable in .zshrc. But that doesn't stop /System/Application/Lanugauge.app from running.

After some hacking I found that I can create the file:

/usr/local/var/localize/include

with the content:

LANG=en_US
MM_CHARSET=UTF-8
TZ=America/Los_Angeles

and now it boots without asking everytime.

Question: Should the /System/Application/Lanugauge.app create this file?

probonopd commented 1 year ago

Question: Should the /System/Application/Lanugauge.app create this file?

Yes, that'd probably be a good idea.

Mine is:

LANG="de_DE.UTF-8"
MM_CHARSET="de_DE.UTF-8"
TZ="Europe/Berlin"