# temporary, to test what config you want, change 0, to 1 or 2
echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode
# to make it persist, change 0, to 1 or 2 here too
echo "options hid_apple fnmode=2" | sudo tee -a /etc/modprobe.d/hid_apple.conf
# for Ubuntu
sudo update-initramfs -u
# for Arch
sudo mkinitcpio -P
This is caused by keychron is handled by a apple driver in linux, but you can change some settings to make it work, you can follow the tutorial here: https://mikeshade.com/posts/keychron-linux-function-keys/