Skip to content

Commit

Permalink
added some info about the k6
Browse files Browse the repository at this point in the history
  • Loading branch information
iuliandita committed Mar 25, 2021
1 parent 204cafe commit 4c56db3
Show file tree
Hide file tree
Showing 2 changed files with 115 additions and 1 deletion.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@
Settings for Keychron keyboards

## K2
[Keychron K2](https://github.com/Kurgol/keychron/blob/master/k2.md) page
[Keychron K2](https://github.com/IulianDita/keychron/blob/master/k2.md) page

## K6
[Keychron K6](https://github.com/IulianDita/keychron/blob/master/k6.md) page
111 changes: 111 additions & 0 deletions k6.md
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.

0 comments on commit 4c56db3

Please sign in to comment.