mirror of
https://github.com/rbreaves/kinto.git
synced 2025-08-05 18:38:26 +02:00
Compare commits
19 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
36740e4b3e | ||
![]() |
7c74dcca71 | ||
![]() |
8827b37ef3 | ||
![]() |
6631cd25a9 | ||
![]() |
c5ff1f2513 | ||
![]() |
f0851a949c | ||
![]() |
332607765e | ||
![]() |
7e676938ee | ||
![]() |
7a706305c1 | ||
![]() |
e7f0db4107 | ||
![]() |
031eaf7e9f | ||
![]() |
40b521ce09 | ||
![]() |
c5f1764dfa | ||
![]() |
0196cc323a | ||
![]() |
c8ca073875 | ||
![]() |
0e23aae082 | ||
![]() |
8086a56b7d | ||
![]() |
bb357f23e6 | ||
![]() |
bdf607e907 |
3
.gitattributes
vendored
Normal file
3
.gitattributes
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
*.py linguist-detectable=false
|
||||
*.json liguist-detectable=false
|
||||
*.c linguist-detectable=true
|
@@ -1,3 +1,8 @@
|
||||
hidden partial modifier_keys
|
||||
xkb_symbols "swapescape" {
|
||||
key <CAPS> { [ Escape ] };
|
||||
key <ESC> { [ Caps_Lock ] };
|
||||
};
|
||||
default partial xkb_symbols "mac_levelssym" {
|
||||
// LEFT to Begin Line or Beginning of word
|
||||
replace key <LEFT> {
|
||||
|
33
README.md
33
README.md
@@ -26,7 +26,7 @@ Kinto works for standard Windows, Apple and Chromebook keyboards. The following
|
||||
- systemd
|
||||
- x11
|
||||
- IBus*
|
||||
- Fedora/RHEL/Debian/Ubuntu based distro 16.04+
|
||||
- Fedora/RHEL/Manjaro/Arch/Debian/Ubuntu based distro 16.04+
|
||||
|
||||
If you need kintox11 recompiled for your distro please let me know and I will add a binary for your distro if my binary fails.
|
||||
|
||||
@@ -57,8 +57,39 @@ sudo apt install python3
|
||||
./setup.py
|
||||
```
|
||||
|
||||
To Uninstall Kinto
|
||||
|
||||
```
|
||||
./uninstall.sh
|
||||
```
|
||||
|
||||
## How to Add Setxkbmap Option inside Kinto
|
||||
|
||||
To summarize you'll need to pull the partial out of the symbols file the option resides in and then add that to the mac_gui file and lastly reference it in the keymap file(s) you want it in.
|
||||
|
||||
symbols directory
|
||||
```
|
||||
/usr/share/X11/xkb/symbols/
|
||||
```
|
||||
|
||||
symbols file
|
||||
```
|
||||
~/.xkb/symbols/mac_gui
|
||||
```
|
||||
|
||||
keymap files
|
||||
```
|
||||
~/.xkb/keymap/kbd.mac.gui
|
||||
~/.xkb/keymap/kbd.mac.term
|
||||
```
|
||||
|
||||
A more detailed explaination is here.
|
||||
https://github.com/rbreaves/kinto/issues/50#issuecomment-595953373
|
||||
|
||||
## How to Add or Change keymaps for Applications
|
||||
|
||||
Note: All of the following is already done in Kinto (but may also change as improvements are made). The following is purely for documentation and example sake as they are real examples of how to leverage the json config to support additional keymaps.
|
||||
|
||||
**First it is important to understand how Kinto operates.**
|
||||
|
||||
1. It listens for any focus/active window changes
|
||||
|
@@ -4,8 +4,6 @@ systemctl --user stop keyswap >/dev/null 2>&1
|
||||
systemctl --user disable keyswap >/dev/null 2>&1
|
||||
systemctl --user stop keyswap.timer >/dev/null 2>&1
|
||||
systemctl --user disable keyswap.timer >/dev/null 2>&1
|
||||
swapcmd="\/bin\/bash -c \"\/home\/`whoami`\/.config\/kinto\/xactive.sh carrots\""
|
||||
swapstopcmd="\/bin\/bash \/home\/`whoami`\/.config\/kinto\/cleanup.sh"
|
||||
mkdir -p ~/.config/systemd/user
|
||||
mkdir -p ~/.config/autostart
|
||||
cp ./system-config/keyswap.service ~/.config/systemd/user/keyswap.service
|
||||
@@ -16,6 +14,11 @@ cp ./system-config/caret_status.sh ~/.config/kinto/caret_status.sh
|
||||
cp ./system-config/cleanup.sh ~/.config/kinto/cleanup.sh
|
||||
cp ./system-config/.firefox-nw ~/.config/kinto/.firefox-nw
|
||||
sed -i "s/{username}/`whoami`/g" ~/.config/systemd/user/keyswap.service
|
||||
sed -i "s/{displayid}/`echo "$DISPLAY"`/g" ~/.config/systemd/user/keyswap.service
|
||||
if [ "${#DISPLAY}" -gt 2 ]
|
||||
then
|
||||
sed -i "s/#Environment/Environment/g" ~/.config/systemd/user/keyswap.service
|
||||
fi
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable keyswap
|
||||
systemctl --user start keyswap
|
||||
|
25
setup.py
25
setup.py
@@ -25,15 +25,19 @@ def requirements(pkgm):
|
||||
|
||||
def install_ibus():
|
||||
print(bcolors.CYELLOW + "You need to set IBus as the default Input Method for full word-wise support and re-run this installer.\n" + bcolors.ENDC)
|
||||
print(bcolors.CYELLOW + "Confirm the IBus Setup by saying Yes and then closing the window.\n" + bcolors.ENDC)
|
||||
print("ibus-setup\n")
|
||||
print("im-config -n ibus\n")
|
||||
run_install = yn_choice(bcolors.CYELLOW + "Would you like to run it now? (Will require logoff and logon.)\n" + bcolors.ENDC)
|
||||
if(run_install):
|
||||
os.system("ibus-setup")
|
||||
os.system("im-config -n ibus")
|
||||
print("\n")
|
||||
input("IBus has been set as the default Input Method.\nPress any key to exit and re-run after logoff & logon...")
|
||||
sys.exit()
|
||||
|
||||
check_x11 = cmdline("env | grep -i x11").strip()
|
||||
# check_x11 = cmdline("env | grep -i x11").strip()
|
||||
check_x11 = cmdline("env | grep -i x11 || loginctl show-session \"$XDG_SESSION_ID\" -p Type | awk -F= '{print $2}'").strip()
|
||||
|
||||
if len(check_x11) == 0:
|
||||
print("You are not using x11, please logout and back in using x11/Xorg")
|
||||
@@ -41,22 +45,21 @@ if len(check_x11) == 0:
|
||||
|
||||
check_xbind = cmdline("which xbindkeys 2>/dev/null").strip()
|
||||
check_xdotool = cmdline("which xdotool 2>/dev/null").strip()
|
||||
check_ibus = cmdline("which ibus-setup 2>/dev/null").strip()
|
||||
|
||||
pkgm = cmdline("which apt 2>/dev/null").strip()
|
||||
pkgm = cmdline("which apt-get 2>/dev/null").strip()
|
||||
|
||||
if len(pkgm) == 0:
|
||||
pkgm = cmdline("which dnf 2>/dev/null").strip()
|
||||
if len(pkgm) > 0:
|
||||
pkgm += " install -y "
|
||||
pkgm += " check-update;sudo dnf install -y "
|
||||
else:
|
||||
pkgm += " install -y "
|
||||
pkgm += " update; sudo apt-get install -y "
|
||||
|
||||
if len(pkgm) == 0:
|
||||
pkgm = cmdline("which pacman 2>/dev/null").strip()
|
||||
if len(pkgm) > 0:
|
||||
pkgm += " -S "
|
||||
else:
|
||||
print("hello")
|
||||
pkgm += " -Syy; sudo pacman -S "
|
||||
|
||||
|
||||
if len(pkgm) == 0:
|
||||
@@ -67,14 +70,18 @@ if len(pkgm) == 0:
|
||||
runpkg = 0
|
||||
run_pkg = ""
|
||||
|
||||
if len(check_xbind) > 0 and len(check_xdotool) > 0:
|
||||
print("Xbindkeys, and xdotool requirement is installed.")
|
||||
if len(check_xbind) > 0 and len(check_xdotool) > 0 and len(check_ibus) > 0:
|
||||
print("Xbindkeys, xdotool and IBus requirement is installed.")
|
||||
if len(check_xbind) == 0:
|
||||
run_pkg = "xbindkeys"
|
||||
runpkg = 1
|
||||
if len(check_xdotool) == 0:
|
||||
run_pkg += " xdotool"
|
||||
runpkg = 1
|
||||
if len(check_ibus) == 0:
|
||||
# may differ with distro, but for now
|
||||
run_pkg += " ibus"
|
||||
runpkg = 1
|
||||
|
||||
if runpkg != 0:
|
||||
requirements(pkgm)
|
||||
|
@@ -5,7 +5,8 @@ PartOf=graphical-session.target
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
#Environment=DISPLAY=:0.0
|
||||
# eg DISPLAY=:0.0
|
||||
#Environment=DISPLAY={displayid}
|
||||
RestartSec=1
|
||||
WorkingDirectory=/home/{username}/.config/kinto
|
||||
ExecStart=/bin/bash -c "/home/{username}/.config/kinto/xactive.sh carrots"
|
||||
|
@@ -36,7 +36,7 @@
|
||||
"symbols": "",
|
||||
"types": "",
|
||||
"de": [],
|
||||
"appnames": [ "Chromium","Chromium-browser","Google-chrome" ]
|
||||
"appnames": [ "Chromium","Chromium-browser","Google-chrome","Epiphany" ]
|
||||
}],
|
||||
"init": [],
|
||||
"detypes":["gnome2","gnome3","kde4","kde5","xfce","i3wm"],
|
||||
|
Reference in New Issue
Block a user