/kBoardBattery-brightstone8x.gmail.com

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

# DESCRIPTION
===============

Battery indicator for keyboard. At first, I only want make this extension for my Keychron K2,
but it should work with any keyboard in general as long as you can find it when running upower -d

# INSTALLATION
================

The easy way: Install from https://extensions.gnome.org/extension/2170/keyboard-battery/

The other way: install from git
   1. From your terminal, go to "~/.local/share/gnome-shell/extensions"
   2. Clone the source code from git:
	git clone https://github.com/cobblestone88/kBoardBattery-brightstone8x.gmail.com.git
   3. Restart gnome-shell: Alt + F2, type 'r' then hit Enter

# KNOWN ISSUE
===============

   1. Refresh time is 2 minutes by default (of DBusProxy) not yet figure out how to change it for now. 
   2. Connect keyboard after the extenstion is enable (or after login) - FIXED IN VER 2
    -> it will never show the %
    -> work arownd: disable then enable the extension again then it should work
   3. Only show battery for 1 keyboard, if you connect more than one then it will show the first keyb found.
   4. The indicator does not hide when the keyboard is disconnected, but at least it still works when keyboard reconnects

# TROUBLESHOOTING
===================

This extension retrieve device's info using DBusProxy & GlibUPower, if you ever notice any issue with the extension:
   1. First, check if UPower can see your device, this extension can only see you device if UPower does
      method 1: Issue 'upower -d | grep keyboard -A 7' in your terminnal
      method 2: Run gnome-power-statistics
   2. Check gnome-shell log:
      journalctl /usr/bin/gnome-shell | grep kBatt		# this commmand will dump all gnome-shell log ever record
      journalctl -f /usr/bin/gnome-shell | grep kBatt		# this will only show new log

# TIP FOR THOSE WHO'S USING KEYCHRON KEYBOARDS WITH LINUX
===========================================================

Here the best setup (I think so :D) for Keychron + Linux
	Step 1: Set fkeyfirst by:
	- Create the file /etc/modprobe.d/hid_apple.conf. Add this line to the file: "options hid_apple fnmode=2"
	- Save the file and execute the following command: "sudo update-initramfs -u"
	- Reboot
	Step 2: Use the keyboard in Windows/Android mode
	Step 3: If get stuck with numpad mode: Double hit F6 or fn + F6.
	I've been using this config since the very first day, both bluetooth and cable with no problem.

Alternative config:
	For step 1: you can just do "echo 2 | tee sudo /sys/module/hid_apple/parameters/fnmode" instead.
	But the setting will be reset after reboot, so the method above is to make sure that the setting 
	is permanent after reboot. Also someone recommends to create a udev rule for keychron devices
	
Enable bluetooth fastconnect config:
	1. Edit the file /etc/bluetooth/main.conf
	2. Uncomment FastConnectable config and set it to true: FastConnectable = true
	3. Uncomment ReconnectAttempts=3 (set the value to whatever number that you want)
	4. Uncomment ReconnectIntervals=3