-
Notifications
You must be signed in to change notification settings - Fork 91
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
204cafe
commit 4c56db3
Showing
2 changed files
with
115 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
# Keychron K6 | ||
|
||
## Table of Contents | ||
|
||
1. [udev](#udev) | ||
2. [Numlock](#numlock) | ||
3. [Insert](#insert) | ||
4. [Battery](#battery) | ||
5. [Sleep](#sleep) | ||
6. [Caps Lock and Num Lock](#caps-lock-and-num-lock) | ||
7. [F Keys on Ubuntu](#f-keys-on-ubuntu) | ||
8. [Keymap](#keymap) | ||
9. [Firmware](#firmware) | ||
10. [Fast reconnect bluetooth](#fast-reconnect-bluetooth) | ||
11. [GitLab](#gitlab) | ||
|
||
## udev | ||
This udev rule is credited to [Emilio Coppa](https://www.facebook.com/ercoppa) from the [Facebook: Keychron User Group](https://www.facebook.com/profile.php?id=534114427066453&ref=br_rs) and was provided as [GitHub Gist: ercoppa/80-keychron.rules](https://gist.github.com/ercoppa/87a42a5d1fd65539844d7badc276d8e7). | ||
|
||
1. Create udev rule `sudo touch /etc/udev/rules.d/80-keychron.rules` | ||
2. Add the udev rule `SUBSYSTEMS=="input", ATTRS{name}=="Keychron K6", RUN+="echo 0 | tee /sys/module/hid_apple/parameters/fnmode"` to `/etc/udev/rules.d/80-keychron.rules` | ||
3. `sudo udevadm control --reload-rules && sudo udevadm trigger` | ||
|
||
An alternative solution was offered by [Thạch Nguyễn](https://www.facebook.com/Cobblestone8x). | ||
|
||
1. Set fkeyfirst by: | ||
- create the conf file `sudo touch /etc/modprobe.d/hid_apple.conf`. | ||
- add this line to the file: `options hid_apple fnmode=1` and save | ||
- `sudo update-initramfs -u` | ||
- `reboot` | ||
2. Use the keyboard in Windows/Android mode | ||
|
||
|
||
## Numlock | ||
If you get stuck in Numlock mode, double tap fn2 + F6 to disable it. | ||
Alternative way is to open `onboard` and disable "NmLk" in there. | ||
|
||
## Battery | ||
The battery can report it's state via upower. If your distribution supports this you will be able to get a battery indicator on your desktop. | ||
|
||
To check the keyboard is recognized type: | ||
``` | ||
$ upower --dump | grep keyboard -A 7 | ||
``` | ||
|
||
You can get some GUI front-end to reflect the battery status, and different distributions often have them enabled by default. Examples include `gnome-power-statistics`, `mate-power-statistics`, Arch with Gnome has battery reporting working out of the box and in Ubuntu `Settings ⇾ Power` it's also working. | ||
|
||
## Sleep | ||
The keyboard goes to Auto Sleep Mode in 10 mins of sitting idle to save battery. | ||
|
||
Press `fn1` + `S` + `O` (for 3 seconds) to disable the Auto Sleep Mode. If you want to go back to the Auto Sleep Mode, press `fn` + `S` + `O` (for 3 seconds) again. (Wait for the visual light confirmation.) | ||
|
||
## F Keys on Ubuntu | ||
|
||
There is a [discussion on Stackexchange](https://unix.stackexchange.com/questions/121395/on-an-apple-keyboard-under-linux-how-do-i-make-the-function-keys-work-without-t?fbclid=IwAR0cJUOhd6rRn3MG5lGK_3CGE73iy0nCFXqWrjjmtMVCeYjXLQdl7CzOn-E) regarding making the F Keys work. | ||
|
||
[Claus Zotter](https://www.facebook.com/claus.zotter) noticed the `F1` ⇾ `F12` keys always act as though `function` key is pressed. | ||
|
||
Edit (create if it doesn't exist, it doesn't on 16.04) `/etc/modprobe.d/hid_apple.conf` and add the line `options hid_apple fnmode=1` followed by: | ||
|
||
``` | ||
$ sudo update-initramfs -u && reboot | ||
``` | ||
|
||
If you want to test without rebooting, run `rmmod hid_apple && modprobe hid_apple`. Warning: If the Keychron K6 keyboard is the only input device, beware that doing so might leave your computer in an inoperable state unless hard reboot when the second command failes. | ||
|
||
> fnmode = 0 disable `fn` key | ||
> fnmode = 1 function keys are used as last key | ||
> fnmode = 2 function keys are used as first key | ||
Reference: | ||
* [Claus Zotter Gist](https://gist.github.com/mid9commander/669273) | ||
* [Andrii Shkodyn Gist](https://gist.github.com/j2ko/00254950a24498df5902ddc9fceb5ee0) who also noticed he does not get a bind action on Ubuntu 16.04 but that it was working as expected on 18.04. (Seems of no issue with 1.6 in 16.04) | ||
|
||
## Keymap | ||
If your Keymap appears to be incorrect make sure that `/sys/module/hid_apple/parameters/fnmode` is set to `0` and not `1`. | ||
|
||
Method of binding `shift` + `delete` to `insert` suggested by [Konstantinos Liopetas](https://www.facebook.com/konliopetas). | ||
``` | ||
$ xmodmap -pke | grep Delete | ||
My Output was: | ||
keycode 91 = KP_Delete KP_Decimal KP_Delete KP_Separator | ||
keycode 119 = Delete NoSymbol Delete NoSymbol Delete | ||
``` | ||
So what I did was to add the following line on my `~/.bashrc` (to persist change on reboot) | ||
|
||
``` | ||
xmodmap -e "keycode 119 = Delete Insert Delete NoSymbol Delete" | ||
``` | ||
Reference: [Ask Ubuntu](https://askubuntu.com/questions/158333/how-to-create-a-shortcut-for-forward-delete/158524#158524) | ||
|
||
### Keymap: en-GB (United Kingdom) | ||
When the keymap is changed to en-GB many characters useful for Linux administration and programming are hard to find. | ||
|
||
The following is a list of the characters I have been able to locate on the changed keymap. The `\ |` describes the key above enter on the Keychron K2. | ||
``` | ||
# = "\ |" | ||
\ = AltGr + "\ |" | ||
~ = Shift + "\ |" | ||
``` | ||
I have not located `|` | ||
|
||
## Firmware | ||
Keychron are investigating [Linux Vendor Firmware Service](https://fwupd.org/) as a possible solution to delivering firmware on Linux, at present it is only possible to update the firmware via Windows. | ||
|
||
## Fast reconnect bluetooth | ||
For faster reconnect need to set "FastConnectable" to true in /etc/bluetooth/main.conf | ||
|
||
## GitLab | ||
|
||
[Мухаммад Алифф Муаззам](https://www.facebook.com/Tester2009) also maintains a [GitLab repository](https://gitlab.com/keychron/k2) that is dedicated to tracking issues with the K2. |