Added proper keyboard remapping.
This commit is contained in:
parent
8952696c5f
commit
faaffd5955
280 changed files with 98603 additions and 9 deletions
2
cros-keyboard-map/.gitignore
vendored
Normal file
2
cros-keyboard-map/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
cros.conf
|
||||||
|
pkg.log
|
28
cros-keyboard-map/LICENSE
Normal file
28
cros-keyboard-map/LICENSE
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
BSD 3-Clause License
|
||||||
|
|
||||||
|
Copyright (c) 2023, WeirdTreeThing
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
3. Neither the name of the copyright holder nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived from
|
||||||
|
this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
18
cros-keyboard-map/README.md
Normal file
18
cros-keyboard-map/README.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<h1 align="center">Utility to generate keyd configurations for use on Chromebooks</h1>
|
||||||
|
|
||||||
|
## List of supported distributions
|
||||||
|
- Alpine
|
||||||
|
- Arch Linux
|
||||||
|
- Chimera Linux
|
||||||
|
- Debian
|
||||||
|
- Fedora
|
||||||
|
- openSUSE
|
||||||
|
- Ubuntu
|
||||||
|
- Void Linux
|
||||||
|
|
||||||
|
### Instructions
|
||||||
|
1. git clone https://github.com/WeirdTreeThing/cros-keyboard-map
|
||||||
|
2. cd cros-keyboard-map
|
||||||
|
3. ./install.sh
|
||||||
|
|
||||||
|
Thanks to rvaiya for creating [keyd](https://github.com/rvaiya/keyd).
|
3
cros-keyboard-map/configs/61-pixel-keyboard.hwdb
Normal file
3
cros-keyboard-map/configs/61-pixel-keyboard.hwdb
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGoogle:pn*:pvr*
|
||||||
|
KEYBOARD_KEY_d8=leftmeta
|
||||||
|
|
44
cros-keyboard-map/configs/cros-pixel.conf
Normal file
44
cros-keyboard-map/configs/cros-pixel.conf
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
[ids]
|
||||||
|
# Pixelbook and Pixelbook Go use AT Keyboard (0001:0001)
|
||||||
|
# Nocturne uses Google hammer (18d1:5030)
|
||||||
|
0001:0001
|
||||||
|
18d1:5030
|
||||||
|
|
||||||
|
[main]
|
||||||
|
f1 = back
|
||||||
|
f2 = refresh
|
||||||
|
f3 = f11
|
||||||
|
f4 = scale
|
||||||
|
f5 = brightnessdown
|
||||||
|
f6 = brightnessup
|
||||||
|
f7 = playpause
|
||||||
|
f8 = mute
|
||||||
|
f9 = volumedown
|
||||||
|
f10 = volumeup
|
||||||
|
f13 = f13
|
||||||
|
|
||||||
|
[meta]
|
||||||
|
f1 = f1
|
||||||
|
f2 = f2
|
||||||
|
f3 = f3
|
||||||
|
f4 = f4
|
||||||
|
f5 = f5
|
||||||
|
f6 = f6
|
||||||
|
f7 = f7
|
||||||
|
f8 = f8
|
||||||
|
f9 = f9
|
||||||
|
f10 = f10
|
||||||
|
f13 = f13
|
||||||
|
|
||||||
|
|
||||||
|
[alt]
|
||||||
|
backspace = delete
|
||||||
|
f5 = kbdillumdown
|
||||||
|
f6 = kbdillumup
|
||||||
|
|
||||||
|
[control]
|
||||||
|
f5 = print
|
||||||
|
|
||||||
|
|
||||||
|
[control+alt]
|
||||||
|
backspace = C-A-delete
|
39
cros-keyboard-map/configs/cros-sarien.conf
Normal file
39
cros-keyboard-map/configs/cros-sarien.conf
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
# Config for Sarien and its variant, Arcada
|
||||||
|
[ids]
|
||||||
|
# AT keyboard is device 0001:0001
|
||||||
|
0001:0001
|
||||||
|
|
||||||
|
[main]
|
||||||
|
back = back
|
||||||
|
refresh = refresh
|
||||||
|
zoom = f11
|
||||||
|
scale = scale
|
||||||
|
print = print
|
||||||
|
camera = brightnessdown
|
||||||
|
prog1 = brightnessup
|
||||||
|
mute = mute
|
||||||
|
volumedown = volumedown
|
||||||
|
volumeup = volumeup
|
||||||
|
sleep = coffee
|
||||||
|
|
||||||
|
[meta]
|
||||||
|
back = f1
|
||||||
|
refresh = f2
|
||||||
|
zoom = f3
|
||||||
|
scale = f4
|
||||||
|
camera = f5
|
||||||
|
prog1 = f6
|
||||||
|
mute = f7
|
||||||
|
volumedown = f8
|
||||||
|
volumeup = f9
|
||||||
|
switchvideomode = f12
|
||||||
|
|
||||||
|
|
||||||
|
[alt]
|
||||||
|
backspace = delete
|
||||||
|
meta = capslock
|
||||||
|
camera = kbdillumdown
|
||||||
|
prog1 = kbdillumup
|
||||||
|
|
||||||
|
[control+alt]
|
||||||
|
backspace = C-A-delete
|
186
cros-keyboard-map/cros-keyboard-map.py
Normal file
186
cros-keyboard-map/cros-keyboard-map.py
Normal file
|
@ -0,0 +1,186 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import platform
|
||||||
|
|
||||||
|
device_ids = {
|
||||||
|
"k:0000:0000", # cros_ec keyboard
|
||||||
|
"k:0001:0001", # AT keyboard
|
||||||
|
"k:18d1:503c", # Google Inc. Hammer
|
||||||
|
"k:18d1:5050", # Google Inc. Hammer
|
||||||
|
"k:18d1:504c", # Google Inc. Hammer
|
||||||
|
"k:18d1:5052", # Google Inc. Hammer
|
||||||
|
"k:18d1:5057", # Google Inc. Hammer
|
||||||
|
"k:18d1:505b", # Google Inc. Hammer
|
||||||
|
"k:18d1:5030", # Google Inc. Hammer
|
||||||
|
"k:18d1:503d", # Google Inc. Hammer
|
||||||
|
"k:18d1:5044", # Google Inc. Hammer
|
||||||
|
"k:18d1:5061", # Google Inc. Hammer
|
||||||
|
"k:18d1:502b", # Google Inc. Hammer
|
||||||
|
}
|
||||||
|
|
||||||
|
vivaldi_keys = {
|
||||||
|
"x86_64": {
|
||||||
|
"90": "previoussong",
|
||||||
|
"91": "zoom",
|
||||||
|
"92": "scale",
|
||||||
|
"93": "sysrq",
|
||||||
|
"94": "brightnessdown",
|
||||||
|
"95": "brightnessup",
|
||||||
|
"97": "kbdillumdown",
|
||||||
|
"98": "kbdillumup",
|
||||||
|
"99": "nextsong",
|
||||||
|
"9A": "playpause",
|
||||||
|
"9B": "micmute",
|
||||||
|
"9E": "kbdillumtoggle",
|
||||||
|
"A0": "mute",
|
||||||
|
"AE": "volumedown",
|
||||||
|
"B0": "volumeup",
|
||||||
|
"E9": "forward",
|
||||||
|
"EA": "back",
|
||||||
|
"E7": "refresh",
|
||||||
|
},
|
||||||
|
"arm": {
|
||||||
|
"158": "back",
|
||||||
|
"159": "forward",
|
||||||
|
"173": "refresh",
|
||||||
|
"372": "zoom",
|
||||||
|
"120": "scale",
|
||||||
|
"224": "brightnessdown",
|
||||||
|
"225": "brightnessup",
|
||||||
|
"113": "mute",
|
||||||
|
"114": "volumedown",
|
||||||
|
"115": "volumeup",
|
||||||
|
"99" : "sysrq",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def get_arch():
|
||||||
|
return platform.uname().machine
|
||||||
|
|
||||||
|
def get_ids_string(device_ids):
|
||||||
|
return "\n".join(device_ids)
|
||||||
|
|
||||||
|
def get_dt_layout():
|
||||||
|
keys = []
|
||||||
|
keycodes = []
|
||||||
|
|
||||||
|
fdt = libfdt.Fdt(open("/sys/firmware/fdt", "rb").read())
|
||||||
|
currentnode = fdt.first_subnode(0)
|
||||||
|
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
if fdt.get_name(currentnode) == "keyboard-controller":
|
||||||
|
prop = fdt.getprop(currentnode, "linux,keymap")
|
||||||
|
keys = prop.as_uint32_list()
|
||||||
|
currentnode = fdt.next_node(currentnode, 10)[0]
|
||||||
|
except:
|
||||||
|
break
|
||||||
|
|
||||||
|
if not keys:
|
||||||
|
return ""
|
||||||
|
|
||||||
|
for key in keys:
|
||||||
|
keycode = str(key & 0xFFFF)
|
||||||
|
if keycode in vivaldi_keys["arm"]:
|
||||||
|
keycodes.append(keycode)
|
||||||
|
return keycodes
|
||||||
|
|
||||||
|
def get_physmap_data():
|
||||||
|
if get_arch() == "x86_64":
|
||||||
|
try:
|
||||||
|
with open("/sys/bus/platform/devices/i8042/serio0/function_row_physmap", "r") as file:
|
||||||
|
return file.read().strip().split()
|
||||||
|
except FileNotFoundError:
|
||||||
|
return ""
|
||||||
|
else:
|
||||||
|
return get_dt_layout()
|
||||||
|
|
||||||
|
def get_functional_row(physmap, use_vivaldi, super_is_held, super_inverted):
|
||||||
|
arch = get_arch()
|
||||||
|
if arch != "x86_64":
|
||||||
|
arch = "arm"
|
||||||
|
|
||||||
|
i = 0
|
||||||
|
result = ""
|
||||||
|
for code in physmap:
|
||||||
|
i += 1
|
||||||
|
# Map zoom to f11 since most applications wont listen to zoom
|
||||||
|
mapping = "f11" if vivaldi_keys[arch][code] == "zoom" \
|
||||||
|
else vivaldi_keys[arch][code]
|
||||||
|
|
||||||
|
match [super_is_held, use_vivaldi, super_inverted]:
|
||||||
|
case [True, True, False] | [False, True, True]:
|
||||||
|
result += f"{vivaldi_keys[arch][code]} = f{i}\n"
|
||||||
|
case [True, False, False] | [False, False, True]:
|
||||||
|
result += f"f{i} = f{i}\n"
|
||||||
|
case [False, True, False] | [True, True, True]:
|
||||||
|
result += f"{vivaldi_keys[arch][code]} = {mapping}\n"
|
||||||
|
case [False, False, False] | [True, False, True]:
|
||||||
|
result += f"f{i} = {mapping}\n"
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
def get_keyd_config(physmap, inverted):
|
||||||
|
config = f"""\
|
||||||
|
[ids]
|
||||||
|
{get_ids_string(device_ids)}
|
||||||
|
|
||||||
|
[main]
|
||||||
|
{get_functional_row(physmap, use_vivaldi=False, super_is_held=False, super_inverted=inverted)}
|
||||||
|
{get_functional_row(physmap, use_vivaldi=True, super_is_held=False, super_inverted=inverted)}
|
||||||
|
f13=coffee
|
||||||
|
sleep=coffee
|
||||||
|
|
||||||
|
[meta]
|
||||||
|
{get_functional_row(physmap, use_vivaldi=False, super_is_held=True, super_inverted=inverted)}
|
||||||
|
{get_functional_row(physmap, use_vivaldi=True, super_is_held=True, super_inverted=inverted)}
|
||||||
|
|
||||||
|
[alt]
|
||||||
|
backspace = delete
|
||||||
|
brightnessdown = kbdillumdown
|
||||||
|
brightnessup = kbdillumup
|
||||||
|
f6 = kbdillumdown
|
||||||
|
f7 = kbdillumup
|
||||||
|
|
||||||
|
[control]
|
||||||
|
f5 = sysrq
|
||||||
|
scale = sysrq
|
||||||
|
|
||||||
|
[altgr]
|
||||||
|
backspace = delete
|
||||||
|
left = home
|
||||||
|
right = end
|
||||||
|
up = pageup
|
||||||
|
down = pagedown
|
||||||
|
|
||||||
|
[control+alt]
|
||||||
|
backspace = C-A-delete
|
||||||
|
"""
|
||||||
|
return config
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument("-f", "--file", default="cros.conf", help="path to save config (default: cros.conf)")
|
||||||
|
parser.add_argument("-i", "--inverted", action="store_true",
|
||||||
|
help="use functional keys by default and media keys when super is held")
|
||||||
|
args = vars(parser.parse_args())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
physmap = get_physmap_data()
|
||||||
|
if not physmap:
|
||||||
|
print("no function row mapping found, using default mapping")
|
||||||
|
if get_arch() == "x86_64":
|
||||||
|
physmap = ['EA', 'E9', 'E7', '91', '92', '94', '95', 'A0', 'AE', 'B0']
|
||||||
|
else:
|
||||||
|
physmap = ['158', '159', '173', '372', '120', '224', '225', '113', '114', '115']
|
||||||
|
|
||||||
|
config = get_keyd_config(physmap, args["inverted"])
|
||||||
|
with open(args["file"], "w") as conf:
|
||||||
|
conf.write(config)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if get_arch() != "x86_64":
|
||||||
|
import libfdt
|
||||||
|
main()
|
167
cros-keyboard-map/install.sh
Executable file
167
cros-keyboard-map/install.sh
Executable file
|
@ -0,0 +1,167 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# void, alpine, arch, and suse have packages
|
||||||
|
# need to build on fedora (without terra) and debian/ubuntu
|
||||||
|
|
||||||
|
ROOT=$(pwd)
|
||||||
|
|
||||||
|
# fancy color
|
||||||
|
printf "\033[94m"
|
||||||
|
|
||||||
|
if [ -f /usr/bin/apt ]; then
|
||||||
|
distro="deb"
|
||||||
|
elif [ -f /usr/bin/zypper ]; then
|
||||||
|
distro="suse"
|
||||||
|
elif [ -f /usr/bin/pacman ]; then
|
||||||
|
distro="arch"
|
||||||
|
elif [ -f /usr/bin/dnf4 ]; then
|
||||||
|
distro="fedora"
|
||||||
|
elif [ -f /sbin/apk ]; then
|
||||||
|
distro="alpine"
|
||||||
|
elif [ -f /bin/xbps-install ]; then
|
||||||
|
distro="void"
|
||||||
|
elif grep 'ID=nixos' /etc/os-release &>> pkg.log; then
|
||||||
|
echo "WARNING: This script will not install keyd on NixOS, but can install the configuration for you."
|
||||||
|
printf "Continue? (y/N) "
|
||||||
|
read -r NIXINSTALL
|
||||||
|
[[ $NIXINSTALL =~ ^[Yy]$ ]] || exit 1
|
||||||
|
distro="nixos"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if which sudo &>/dev/null; then
|
||||||
|
privesc="sudo"
|
||||||
|
elif which doas &>/dev/null; then
|
||||||
|
privesc="doas"
|
||||||
|
elif which run0 &>/dev/null; then
|
||||||
|
privesc="run0"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Installing, this may take some time...."
|
||||||
|
|
||||||
|
# Fedora with the terra repo (Ultramarine) has keyd packaged
|
||||||
|
[ "$distro" = "fedora" ] && dnf4 info keyd -y&>> pkg.log && FEDORA_HAS_KEYD=1
|
||||||
|
|
||||||
|
if ! which keyd &>/dev/null && [ "$distro" != "nixos" ] ; then
|
||||||
|
build_keyd=1
|
||||||
|
# if keyd isnt installed
|
||||||
|
|
||||||
|
# Debian-based distros and Fedora don't have keyd in the repos, ask the user to compile it from source.
|
||||||
|
if [ "distro" = "fedora" ] && [ ! "$FEDORA_HAS_KEYD" = "1" ] || [ "$distro" = "deb" ]; then
|
||||||
|
echo "This script can compile keyd for you or you can choose to get it from another source."
|
||||||
|
printf "Compile keyd? (Y/n) "
|
||||||
|
read -r COMPKEYD
|
||||||
|
[[ $COMPKEYD =~ ^[Nn]$ ]] && build_keyd=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$build_keyd" = "1" ]; then
|
||||||
|
echo "Installing keyd dependencies"
|
||||||
|
case $distro in
|
||||||
|
deb)
|
||||||
|
$privesc apt install -y build-essential git &>> pkg.log
|
||||||
|
;;
|
||||||
|
fedora)
|
||||||
|
[ ! "$FEDORA_HAS_KEYD" = "1" ] && $privesc dnf4 install -y kernel-headers gcc make &>> pkg.log
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ( [ "distro" = "fedora" ] && [ ! "$FEDORA_HAS_KEYD" = "1" ] || [ "$distro" = "deb" ] ) && [ "$build_keyd" = "1" ]; then
|
||||||
|
echo "Compiling keyd"
|
||||||
|
git clone https://github.com/rvaiya/keyd &>> pkg.log
|
||||||
|
cd keyd
|
||||||
|
make &>> pkg.log
|
||||||
|
$privesc make install
|
||||||
|
cd ..
|
||||||
|
else
|
||||||
|
echo "Installing keyd"
|
||||||
|
case $distro in
|
||||||
|
suse)
|
||||||
|
$privesc zypper --non-interactive install keyd &>> pkg.log
|
||||||
|
;;
|
||||||
|
arch)
|
||||||
|
$privesc pacman -S --noconfirm keyd &>> pkg.log
|
||||||
|
;;
|
||||||
|
alpine)
|
||||||
|
$privesc apk add --no-interactive keyd &>> pkg.log
|
||||||
|
;;
|
||||||
|
void)
|
||||||
|
$privesc xbps-install -S keyd -y &>> pkg.log
|
||||||
|
;;
|
||||||
|
fedora)
|
||||||
|
$privesc dnf4 install -y keyd &>> pkg.log
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Generating config"
|
||||||
|
# Handle any special cases
|
||||||
|
if (grep -E "^(Nocturne|Atlas|Eve)$" /sys/class/dmi/id/product_name &> /dev/null)
|
||||||
|
then
|
||||||
|
cp configs/cros-pixel.conf cros.conf
|
||||||
|
$privesc mkdir -p /etc/udev/hwdb.d/
|
||||||
|
$privesc cp configs/61-pixel-keyboard.hwdb /etc/udev/hwdb.d/
|
||||||
|
$privesc udevadm hwdb --update
|
||||||
|
$privesc udevadm trigger
|
||||||
|
elif (grep -E "^(Sarien|Arcada)$" /sys/class/dmi/id/product_name &> /dev/null)
|
||||||
|
then
|
||||||
|
cp configs/cros-sarien.conf cros.conf
|
||||||
|
else
|
||||||
|
printf "By default, the top row keys will do their special function (brightness, volume, browser control, etc).\n"
|
||||||
|
printf "Holding the search key will make the top row keys act like fn keys (f1, f2, f3, etc).\n"
|
||||||
|
printf "Would you like to invert this? (y/N) "
|
||||||
|
read -r INVERT
|
||||||
|
if [ "$distro" == "nixos" ] && ! which python3 &>/dev/null; then
|
||||||
|
[[ $INVERT =~ ^[Yy]$ ]] && nix-shell -p python3 --run "python3 cros-keyboard-map.py -i" ||
|
||||||
|
nix-shell -p python3 --run "python3 cros-keyboard-map.py"
|
||||||
|
else
|
||||||
|
[[ $INVERT =~ ^[Yy]$ ]] && python3 cros-keyboard-map.py -i || python3 cros-keyboard-map.py
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Installing config"
|
||||||
|
$privesc mkdir -p /etc/keyd
|
||||||
|
$privesc cp cros.conf /etc/keyd
|
||||||
|
|
||||||
|
echo "Enabling keyd"
|
||||||
|
case $distro in
|
||||||
|
alpine)
|
||||||
|
# Chimera uses apk like alpine but uses dinit instead of openrc
|
||||||
|
if [ -f /usr/bin/dinitctl ]; then
|
||||||
|
$privesc dinitctl start keyd
|
||||||
|
$privesc dinitctl enable keyd
|
||||||
|
else
|
||||||
|
$privesc rc-update add keyd
|
||||||
|
$privesc rc-service keyd restart
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
void)
|
||||||
|
if [ -f /usr/bin/sv ]; then
|
||||||
|
$privesc ln -s /etc/sv/keyd /var/service
|
||||||
|
$privesc sv enable keyd
|
||||||
|
$privesc sv start keyd
|
||||||
|
else
|
||||||
|
echo "This script can only be used for Void Linux using 'runit' init system. Other init system on Void Linux are currently unsupported."
|
||||||
|
echo "I'M OUTTA HERE!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
$privesc systemctl enable keyd
|
||||||
|
$privesc systemctl restart keyd
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "Installing libinput configuration"
|
||||||
|
$privesc mkdir -p /etc/libinput
|
||||||
|
if [ -f /etc/libinput/local-overrides.quirks ]; then
|
||||||
|
cat $ROOT/local-overrides.quirks | $privesc tee -a /etc/libinput/local-overrides.quirks > /dev/null
|
||||||
|
else
|
||||||
|
$privesc cp $ROOT/local-overrides.quirks /etc/libinput/local-overrides.quirks
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Done"
|
||||||
|
# reset color
|
||||||
|
printf "\033[0m"
|
3
cros-keyboard-map/keyd/.gitattributes
vendored
Normal file
3
cros-keyboard-map/keyd/.gitattributes
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
data/* -diff
|
||||||
|
layouts/* -diff
|
||||||
|
src/unicode.c -diff
|
11
cros-keyboard-map/keyd/.gitignore
vendored
Normal file
11
cros-keyboard-map/keyd/.gitignore
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
*.swp
|
||||||
|
*.swn
|
||||||
|
*.swo
|
||||||
|
*.out
|
||||||
|
tags
|
||||||
|
bin/
|
||||||
|
*.o
|
||||||
|
*.gch
|
||||||
|
__pycache__
|
||||||
|
test.log
|
||||||
|
keyd.service
|
7
cros-keyboard-map/keyd/CONTRIBUTING.md
Normal file
7
cros-keyboard-map/keyd/CONTRIBUTING.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
The best way to contribute is to file an issue with any bugs you find or any
|
||||||
|
features you think belong in keyd. Small issues pertaining to things like
|
||||||
|
compilation on different platforms can be submitted as PRs but please avoid
|
||||||
|
sending in patches which change core functionality without filing an issue
|
||||||
|
first. The key logic can be deceptively simple and contains a few subtleties
|
||||||
|
that need to be managed properly. Additionally, I reserve the right to reject
|
||||||
|
any features which I do not think belong in keyd.
|
21
cros-keyboard-map/keyd/LICENSE
Normal file
21
cros-keyboard-map/keyd/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT/X Consortium License
|
||||||
|
|
||||||
|
© 2020 Raheman Vaiya <r.vaiya@gmail.com>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of this software and associated documentation files (the "Software"),
|
||||||
|
to deal in the Software without restriction, including without limitation
|
||||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
DEALINGS IN THE SOFTWARE.
|
114
cros-keyboard-map/keyd/Makefile
Normal file
114
cros-keyboard-map/keyd/Makefile
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
.PHONY: all clean install uninstall debug man compose test-harness
|
||||||
|
VERSION=2.5.0
|
||||||
|
COMMIT=$(shell git describe --no-match --always --abbrev=7 --dirty)
|
||||||
|
VKBD=uinput
|
||||||
|
PREFIX?=/usr/local
|
||||||
|
|
||||||
|
CONFIG_DIR?=/etc/keyd
|
||||||
|
SOCKET_PATH=/var/run/keyd.socket
|
||||||
|
|
||||||
|
CFLAGS:=-DVERSION=\"v$(VERSION)\ \($(COMMIT)\)\" \
|
||||||
|
-I/usr/local/include \
|
||||||
|
-L/usr/local/lib \
|
||||||
|
-Wall \
|
||||||
|
-Wextra \
|
||||||
|
-Wno-unused \
|
||||||
|
-std=c11 \
|
||||||
|
-DSOCKET_PATH=\"$(SOCKET_PATH)\" \
|
||||||
|
-DCONFIG_DIR=\"$(CONFIG_DIR)\" \
|
||||||
|
-DDATA_DIR=\"$(PREFIX)/share/keyd\" \
|
||||||
|
-D_FORTIFY_SOURCE=2 \
|
||||||
|
-D_DEFAULT_SOURCE \
|
||||||
|
-Werror=format-security \
|
||||||
|
$(CFLAGS)
|
||||||
|
|
||||||
|
platform=$(shell uname -s)
|
||||||
|
|
||||||
|
ifeq ($(platform), Linux)
|
||||||
|
COMPAT_FILES=
|
||||||
|
else
|
||||||
|
LDFLAGS+=-linotify
|
||||||
|
COMPAT_FILES=
|
||||||
|
endif
|
||||||
|
|
||||||
|
all:
|
||||||
|
-mkdir bin
|
||||||
|
cp scripts/keyd-application-mapper bin/
|
||||||
|
$(CC) $(CFLAGS) -O3 $(COMPAT_FILES) src/*.c src/vkbd/$(VKBD).c -lpthread -o bin/keyd $(LDFLAGS)
|
||||||
|
debug:
|
||||||
|
CFLAGS="-g -fsanitize=address -Wunused" $(MAKE)
|
||||||
|
compose:
|
||||||
|
-mkdir data
|
||||||
|
./scripts/generate_xcompose
|
||||||
|
man:
|
||||||
|
for f in docs/*.scdoc; do \
|
||||||
|
target=$${f%%.scdoc}.1.gz; \
|
||||||
|
target=data/$${target##*/}; \
|
||||||
|
scdoc < "$$f" | gzip > "$$target"; \
|
||||||
|
done
|
||||||
|
install:
|
||||||
|
|
||||||
|
@if [ -e /run/systemd/system ]; then \
|
||||||
|
sed -e 's#@PREFIX@#$(PREFIX)#' keyd.service.in > keyd.service; \
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/lib/systemd/system/; \
|
||||||
|
install -Dm644 keyd.service $(DESTDIR)$(PREFIX)/lib/systemd/system/keyd.service; \
|
||||||
|
else \
|
||||||
|
echo "NOTE: systemd not found, you will need to manually add keyd to your system's init process."; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
@if [ "$(VKBD)" = "usb-gadget" ]; then \
|
||||||
|
sed -e 's#@PREFIX@#$(PREFIX)#' src/vkbd/usb-gadget.service.in > src/vkbd/usb-gadget.service; \
|
||||||
|
install -Dm644 src/vkbd/usb-gadget.service $(DESTDIR)$(PREFIX)/lib/systemd/system/keyd-usb-gadget.service; \
|
||||||
|
install -Dm755 src/vkbd/usb-gadget.sh $(DESTDIR)$(PREFIX)/bin/keyd-usb-gadget.sh; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $(DESTDIR)$(CONFIG_DIR)
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/bin/
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/share/keyd/
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/share/keyd/layouts/
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/share/man/man1/
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/share/doc/keyd/
|
||||||
|
mkdir -p $(DESTDIR)$(PREFIX)/share/doc/keyd/examples/
|
||||||
|
|
||||||
|
-groupadd keyd
|
||||||
|
install -m755 bin/* $(DESTDIR)$(PREFIX)/bin/
|
||||||
|
install -m644 docs/*.md $(DESTDIR)$(PREFIX)/share/doc/keyd/
|
||||||
|
install -m644 examples/* $(DESTDIR)$(PREFIX)/share/doc/keyd/examples/
|
||||||
|
install -m644 layouts/* $(DESTDIR)$(PREFIX)/share/keyd/layouts
|
||||||
|
cp -r data/gnome-* $(DESTDIR)$(PREFIX)/share/keyd
|
||||||
|
install -m644 data/*.1.gz $(DESTDIR)$(PREFIX)/share/man/man1/
|
||||||
|
install -m644 data/keyd.compose $(DESTDIR)$(PREFIX)/share/keyd/
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
-groupdel keyd
|
||||||
|
rm -rf $(DESTDIR)$(PREFIX)/lib/systemd/system/keyd.service \
|
||||||
|
$(DESTDIR)$(PREFIX)/bin/keyd \
|
||||||
|
$(DESTDIR)$(PREFIX)/bin/keyd-application-mapper \
|
||||||
|
$(DESTDIR)$(PREFIX)/share/doc/keyd/ \
|
||||||
|
$(DESTDIR)$(PREFIX)/share/man/man1/keyd*.gz \
|
||||||
|
$(DESTDIR)$(PREFIX)/share/keyd/ \
|
||||||
|
$(DESTDIR)$(PREFIX)/lib/systemd/system/keyd-usb-gadget.service \
|
||||||
|
$(DESTDIR)$(PREFIX)/bin/keyd-usb-gadget.sh \
|
||||||
|
$(DESTDIR)$(PREFIX)/lib/systemd/system/keyd.service
|
||||||
|
clean:
|
||||||
|
-rm -rf bin keyd.service src/vkbd/usb-gadget.service
|
||||||
|
test:
|
||||||
|
@cd t; \
|
||||||
|
for f in *.sh; do \
|
||||||
|
./$$f; \
|
||||||
|
done
|
||||||
|
test-io:
|
||||||
|
-mkdir bin
|
||||||
|
$(CC) \
|
||||||
|
-DDATA_DIR= \
|
||||||
|
-o bin/test-io \
|
||||||
|
t/test-io.c \
|
||||||
|
src/keyboard.c \
|
||||||
|
src/string.c \
|
||||||
|
src/macro.c \
|
||||||
|
src/config.c \
|
||||||
|
src/log.c \
|
||||||
|
src/ini.c \
|
||||||
|
src/keys.c \
|
||||||
|
src/unicode.c && \
|
||||||
|
./bin/test-io t/test.conf t/*.t
|
338
cros-keyboard-map/keyd/README.md
Normal file
338
cros-keyboard-map/keyd/README.md
Normal file
|
@ -0,0 +1,338 @@
|
||||||
|
[](https://ko-fi.com/rvaiya)
|
||||||
|
|
||||||
|
# Impetus
|
||||||
|
|
||||||
|
[](https://repology.org/project/keyd/versions)
|
||||||
|
|
||||||
|
Linux lacks a good key remapping solution. In order to achieve satisfactory
|
||||||
|
results a medley of tools need to be employed (e.g xcape, xmodmap) with the end
|
||||||
|
result often being tethered to a specified environment (X11). keyd attempts to
|
||||||
|
solve this problem by providing a flexible system wide daemon which remaps keys
|
||||||
|
using kernel level input primitives (evdev, uinput).
|
||||||
|
|
||||||
|
# Note on v2
|
||||||
|
|
||||||
|
The config format has undergone several iterations since the first
|
||||||
|
release. For those migrating their configs from v1 it is best
|
||||||
|
to reread the [man page](https://raw.githubusercontent.com/rvaiya/keyd/refs/heads/master/docs/keyd.scdoc) (`man keyd`).
|
||||||
|
|
||||||
|
See also: [changelog](docs/CHANGELOG.md).
|
||||||
|
|
||||||
|
# Goals
|
||||||
|
|
||||||
|
- Speed (a hand tuned input loop written in C that takes <<1ms)
|
||||||
|
- Simplicity (a [config format](#sample-config) that is intuitive)
|
||||||
|
- Consistency (modifiers that [play nicely with layers](https://github.com/rvaiya/keyd/blob/6dc2d5c4ea76802fd192b143bdd53b1787fd6deb/docs/keyd.scdoc#L128) by default)
|
||||||
|
- Modularity (a UNIXy core extensible through the use of an [IPC](https://github.com/rvaiya/keyd/blob/90973686723522c2e44d8e90bb3508a6da625a20/docs/keyd.scdoc#L391) mechanism)
|
||||||
|
|
||||||
|
# Features
|
||||||
|
|
||||||
|
keyd has several unique features many of which are traditionally only
|
||||||
|
found in custom keyboard firmware like [QMK](https://github.com/qmk/qmk_firmware)
|
||||||
|
as well as some which are unique to keyd.
|
||||||
|
|
||||||
|
Some of the more interesting ones include:
|
||||||
|
|
||||||
|
- Layers (with support for [hybrid modifiers](https://github.com/rvaiya/keyd/blob/6dc2d5c4ea76802fd192b143bdd53b1787fd6deb/docs/keyd.scdoc#L128)).
|
||||||
|
- Key overloading (different behaviour on tap/hold).
|
||||||
|
- Keyboard specific configuration.
|
||||||
|
- Instantaneous remapping (no more flashing :)).
|
||||||
|
- A client-server model that facilitates scripting and display server agnostic application remapping. (Currently ships with support for X, sway, and gnome (wayland)).
|
||||||
|
- System wide config (works in a VT).
|
||||||
|
- First class support for modifier overloading.
|
||||||
|
- Unicode support.
|
||||||
|
|
||||||
|
### keyd is for people who:
|
||||||
|
|
||||||
|
- Would like to experiment with custom [layers](https://docs.qmk.fm/feature_layers) (i.e custom shift keys)
|
||||||
|
and oneshot modifiers.
|
||||||
|
- Want to have multiple keyboards with different layouts on the same machine.
|
||||||
|
- Want to be able to remap `C-1` without breaking modifier semantics.
|
||||||
|
- Want a keyboard config format which is easy to grok.
|
||||||
|
- Like tiny daemons that adhere to the Unix philosophy.
|
||||||
|
- Want to put the control and escape keys where God intended.
|
||||||
|
- Wish to be able to switch to a VT to debug something without breaking their keymap.
|
||||||
|
|
||||||
|
### What keyd isn't:
|
||||||
|
|
||||||
|
- A tool for programming individual key up/down events.
|
||||||
|
|
||||||
|
# Dependencies
|
||||||
|
|
||||||
|
- Your favourite C compiler
|
||||||
|
- Linux kernel headers (already present on most systems)
|
||||||
|
|
||||||
|
## Optional
|
||||||
|
|
||||||
|
- python (for application specific remapping)
|
||||||
|
- python-xlib (only for X support)
|
||||||
|
- dbus-python (only for KDE support)
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
|
||||||
|
*Note:* master serves as the development branch, things may occasionally break
|
||||||
|
between releases. Releases are [tagged](https://github.com/rvaiya/keyd/tags), and should be considered stable.
|
||||||
|
|
||||||
|
## From Source
|
||||||
|
|
||||||
|
git clone https://github.com/rvaiya/keyd
|
||||||
|
cd keyd
|
||||||
|
make && sudo make install
|
||||||
|
sudo systemctl enable --now keyd
|
||||||
|
|
||||||
|
# Quickstart
|
||||||
|
|
||||||
|
1. Install and start keyd (e.g `sudo systemctl enable keyd --now`)
|
||||||
|
|
||||||
|
2. Put the following in `/etc/keyd/default.conf`:
|
||||||
|
|
||||||
|
```
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
# Maps capslock to escape when pressed and control when held.
|
||||||
|
capslock = overload(control, esc)
|
||||||
|
|
||||||
|
# Remaps the escape key to capslock
|
||||||
|
esc = capslock
|
||||||
|
```
|
||||||
|
|
||||||
|
Key names can be obtained by using the `keyd monitor` command. Note that while keyd is running, the output of this
|
||||||
|
command will correspond to keyd's output. The original input events can be seen by first stopping keyd and then
|
||||||
|
running the command. See the man page for more details.
|
||||||
|
|
||||||
|
3. Run `sudo keyd reload` to reload the config set.
|
||||||
|
|
||||||
|
4. See the man page (`man keyd`) for a more comprehensive description.
|
||||||
|
|
||||||
|
Config errors will appear in the log output and can be accessed in the usual
|
||||||
|
way using your system's service manager (e.g `sudo journalctl -eu keyd`).
|
||||||
|
|
||||||
|
*Note*: It is possible to render your machine unusable with a bad config file.
|
||||||
|
Should you find yourself in this position, the special key sequence
|
||||||
|
`backspace+escape+enter` should cause keyd to terminate.
|
||||||
|
|
||||||
|
Some mice (e.g the Logitech MX Master) are capable of emitting keys and
|
||||||
|
are consequently matched by the wildcard id. It may be necessary to
|
||||||
|
explicitly blacklist these.
|
||||||
|
|
||||||
|
## Application Specific Remapping (experimental)
|
||||||
|
|
||||||
|
- Add yourself to the keyd group:
|
||||||
|
|
||||||
|
`usermod -aG keyd <user>`
|
||||||
|
|
||||||
|
- Populate `~/.config/keyd/app.conf`:
|
||||||
|
|
||||||
|
E.G
|
||||||
|
|
||||||
|
[alacritty]
|
||||||
|
|
||||||
|
alt.] = macro(C-g n)
|
||||||
|
alt.[ = macro(C-g p)
|
||||||
|
|
||||||
|
[chromium]
|
||||||
|
|
||||||
|
alt.[ = C-S-tab
|
||||||
|
alt.] = macro(C-tab)
|
||||||
|
|
||||||
|
- Run:
|
||||||
|
|
||||||
|
`keyd-application-mapper`
|
||||||
|
|
||||||
|
You will probably want to put `keyd-application-mapper -d` somewhere in your
|
||||||
|
display server initialization logic (e.g ~/.xinitrc) unless you are running Gnome.
|
||||||
|
|
||||||
|
See the man page for more details.
|
||||||
|
|
||||||
|
## SBC support
|
||||||
|
|
||||||
|
Experimental support for single board computers (SBCs) via usb-gadget
|
||||||
|
has been added courtesy of Giorgi Chavchanidze.
|
||||||
|
|
||||||
|
See [usb-gadget.md](src/vkbd/usb-gadget.md) for details.
|
||||||
|
|
||||||
|
## Packages
|
||||||
|
|
||||||
|
Third party packages for the some distributions also exist. If you wish to add
|
||||||
|
yours to the list please file a PR. These are kindly maintained by community
|
||||||
|
members, no personal responsibility is taken for them.
|
||||||
|
|
||||||
|
### Alpine Linux
|
||||||
|
|
||||||
|
[keyd](https://pkgs.alpinelinux.org/packages?name=keyd) package maintained by [@jirutka](https://github.com/jirutka).
|
||||||
|
|
||||||
|
### Arch
|
||||||
|
|
||||||
|
[Arch Linux](https://archlinux.org/packages/extra/x86_64/keyd/) package maintained by Arch packagers.
|
||||||
|
|
||||||
|
### Debian
|
||||||
|
|
||||||
|
Experimental `keyd` and `keyd-application-mapper` packages can be found in the
|
||||||
|
CI build artifacts of the [work-in-progress Debian package
|
||||||
|
repository](https://salsa.debian.org/rhansen/keyd):
|
||||||
|
|
||||||
|
* [amd64 (64-bit)](https://salsa.debian.org/rhansen/keyd/-/jobs/artifacts/debian/latest/browse/debian/output?job=build)
|
||||||
|
* [i386 (32-bit)](https://salsa.debian.org/rhansen/keyd/-/jobs/artifacts/debian/latest/browse/debian/output?job=build%20i386)
|
||||||
|
|
||||||
|
Any Debian Developer who is willing to review the debianization effort and
|
||||||
|
sponsor its upload is encouraged to contact
|
||||||
|
[@rhansen](https://github.com/rhansen) (also see the [Debian ITP
|
||||||
|
bug](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1060023)).
|
||||||
|
|
||||||
|
### Fedora
|
||||||
|
|
||||||
|
[COPR](https://copr.fedorainfracloud.org/coprs/alternateved/keyd/) package maintained by [@alternateved](https://github.com/alternateved).
|
||||||
|
|
||||||
|
### Gentoo
|
||||||
|
|
||||||
|
[GURU](https://gitweb.gentoo.org/repo/proj/guru.git/tree/app-misc/keyd) package maintained by [jack@pngu.org](mailto:jack@pngu.org).
|
||||||
|
|
||||||
|
### openSUSE
|
||||||
|
[opensuse](https://software.opensuse.org//download.html?project=hardware&package=keyd) package maintained by [@bubbleguuum](https://github.com/bubbleguuum).
|
||||||
|
|
||||||
|
Easy install with `sudo zypper in keyd`.
|
||||||
|
|
||||||
|
### Ubuntu
|
||||||
|
|
||||||
|
Experimental `keyd` and `keyd-application-mapper` packages can be found in the
|
||||||
|
[`ppa:keyd-team/ppa`
|
||||||
|
archive](https://launchpad.net/~keyd-team/+archive/ubuntu/ppa).
|
||||||
|
|
||||||
|
If you wish to help maintain this PPA, please contact
|
||||||
|
[@rhansen](https://github.com/rhansen).
|
||||||
|
|
||||||
|
### Void Linux
|
||||||
|
|
||||||
|
[xbps](https://github.com/void-linux/void-packages/tree/master/srcpkgs/keyd) package maintained by [@Barbaross](https://gitlab.com/Barbaross).
|
||||||
|
|
||||||
|
Easy install with `sudo xbps-install -Su keyd`.
|
||||||
|
|
||||||
|
# Example 1
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
leftshift = oneshot(shift)
|
||||||
|
capslock = overload(symbols, esc)
|
||||||
|
|
||||||
|
[symbols]
|
||||||
|
|
||||||
|
d = ~
|
||||||
|
f = /
|
||||||
|
...
|
||||||
|
|
||||||
|
# Example 2
|
||||||
|
|
||||||
|
This overrides specific alt combinations macOS users might
|
||||||
|
be more familiar with, while keeping the rest intact.
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
|
||||||
|
[alt]
|
||||||
|
|
||||||
|
x = C-x
|
||||||
|
c = C-c
|
||||||
|
v = C-v
|
||||||
|
|
||||||
|
a = C-a
|
||||||
|
f = C-f
|
||||||
|
r = C-r
|
||||||
|
z = C-z
|
||||||
|
|
||||||
|
# Recommended config
|
||||||
|
|
||||||
|
Many users will probably not be interested in taking full advantage of keyd.
|
||||||
|
For those who seek simple quality of life improvements I can recommend the
|
||||||
|
following config:
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
shift = oneshot(shift)
|
||||||
|
meta = oneshot(meta)
|
||||||
|
control = oneshot(control)
|
||||||
|
|
||||||
|
leftalt = oneshot(alt)
|
||||||
|
rightalt = oneshot(altgr)
|
||||||
|
|
||||||
|
capslock = overload(control, esc)
|
||||||
|
insert = S-insert
|
||||||
|
|
||||||
|
This overloads the capslock key to function as both escape (when tapped) and
|
||||||
|
control (when held) and remaps all modifiers to 'oneshot' keys. Thus to produce
|
||||||
|
the letter A you can now simply tap shift and then a instead of having to hold
|
||||||
|
it. Finally it remaps insert to S-insert (paste on X11).
|
||||||
|
|
||||||
|
# FAQS
|
||||||
|
|
||||||
|
## Why is my trackpad is interfering with input after enabling keyd?
|
||||||
|
|
||||||
|
libinput, a higher level input component used by most wayland and X11 setups,
|
||||||
|
includes a feature called 'disable-while-typing' that disables the trackpad
|
||||||
|
when typing.
|
||||||
|
|
||||||
|
In order to achieve this, it needs to distinguish between internal and external
|
||||||
|
keyboards, which it does by hard coding a rules for specific hardware
|
||||||
|
('quirks'). Since keyd creates a virtual device which subsumes both external
|
||||||
|
and integrated keyboards, you will need to instruct libinput to regard the keyd
|
||||||
|
virtual device as internal.
|
||||||
|
|
||||||
|
This can be achieved by adding the following to `/etc/libinput/local-overrides.quirks` (which may need to be created):
|
||||||
|
|
||||||
|
```
|
||||||
|
[Serial Keyboards]
|
||||||
|
|
||||||
|
MatchUdevType=keyboard
|
||||||
|
MatchName=keyd*keyboard
|
||||||
|
AttrKeyboardIntegration=internal
|
||||||
|
```
|
||||||
|
|
||||||
|
Credit to @mark-herbert42 and @canadaduane for the original solution.
|
||||||
|
|
||||||
|
## What about xmodmap/setxkbmap/*?
|
||||||
|
|
||||||
|
xmodmap and friends are display server level tools with limited functionality.
|
||||||
|
keyd is a system level solution which implements advanced features like
|
||||||
|
layering and [oneshot](https://docs.qmk.fm/#/one_shot_keys)
|
||||||
|
modifiers. While some X tools offer similar functionality I am not aware of
|
||||||
|
anything that is as flexible as keyd.
|
||||||
|
|
||||||
|
## What about [kmonad](https://github.com/kmonad/kmonad)?
|
||||||
|
|
||||||
|
keyd was written several years ago to allow me to easily experiment with
|
||||||
|
different layouts on my growing keyboard collection. At the time kmonad did not
|
||||||
|
exist and custom keyboard firmware like
|
||||||
|
[QMK](https://github.com/qmk/qmk_firmware) (which inspired keyd) was the only
|
||||||
|
way to get comparable features. I became aware of kmonad after having published
|
||||||
|
keyd. While kmonad is a fine project with similar goals, it takes a different
|
||||||
|
approach and has a different design philosophy.
|
||||||
|
|
||||||
|
Notably keyd was written entirely in C with performance and simplicitly in
|
||||||
|
mind and will likely never be as configurable as kmonad (which is extensible
|
||||||
|
in Haskell). Having said that, it supplies (in the author's opinion) the
|
||||||
|
most valuable features in less than 2000 lines of C while providing
|
||||||
|
a simple language agnostic config format.
|
||||||
|
|
||||||
|
## Why doesn't keyd implement feature X?
|
||||||
|
|
||||||
|
If you feel something is missing or find a bug you are welcome to file an issue
|
||||||
|
on github. keyd has a minimalist (but sane) design philosophy which
|
||||||
|
intentionally omits certain features (e.g execing arbitrary executables
|
||||||
|
as root). Things which already exist in custom keyboard firmware like QMK are
|
||||||
|
good candidates for inclusion.
|
||||||
|
|
||||||
|
# Contributing
|
||||||
|
|
||||||
|
See [CONTRIBUTING](CONTRIBUTING.md).
|
||||||
|
IRC Channel: #keyd on oftc
|
8
cros-keyboard-map/keyd/TODO
Normal file
8
cros-keyboard-map/keyd/TODO
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
streamline test logic
|
||||||
|
organize tests
|
||||||
|
cleanup manpage
|
||||||
|
[idea] tmux like layer timeouts
|
||||||
|
improved mouse support (integrate moused?)
|
||||||
|
multi-user support (remove keyd group)
|
||||||
|
split up the man page + add FAQ
|
||||||
|
add descriptor state + isolate descriptor logic
|
65
cros-keyboard-map/keyd/data/gnome-extension-45/extension.js
Normal file
65
cros-keyboard-map/keyd/data/gnome-extension-45/extension.js
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
|
import GLib from 'gi://GLib';
|
||||||
|
import Shell from 'gi://Shell';
|
||||||
|
import Gio from 'gi://Gio';
|
||||||
|
import { Extension } from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||||
|
|
||||||
|
let file = Gio.File.new_for_path(makePipe());
|
||||||
|
let pipe = file.append_to_async(0, 0, null, on_pipe_open);
|
||||||
|
|
||||||
|
function makePipe() {
|
||||||
|
let runtime_dir = GLib.getenv('XDG_RUNTIME_DIR');
|
||||||
|
if (!runtime_dir)
|
||||||
|
runtime_dir = '/run/user/'+new TextDecoder().decode(
|
||||||
|
GLib.spawn_command_line_sync('id -u')[1]
|
||||||
|
).trim();
|
||||||
|
|
||||||
|
let path = runtime_dir + '/keyd.fifo';
|
||||||
|
GLib.spawn_command_line_sync('mkfifo ' + path);
|
||||||
|
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
function send(msg) {
|
||||||
|
if (!pipe)
|
||||||
|
return;
|
||||||
|
|
||||||
|
try {
|
||||||
|
pipe.write(msg, null);
|
||||||
|
} catch {
|
||||||
|
log('pipe closed, reopening...');
|
||||||
|
pipe = null;
|
||||||
|
file.append_to_async(0, 0, null, on_pipe_open);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function on_pipe_open(file, res) {
|
||||||
|
log('pipe opened');
|
||||||
|
pipe = file.append_to_finish(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default class KeydExtension extends Extension {
|
||||||
|
enable() {
|
||||||
|
Shell.WindowTracker.get_default().connect('notify::focus-app', () => {
|
||||||
|
const win = global.display.focus_window;
|
||||||
|
const cls = win ? win.get_wm_class() : 'root';
|
||||||
|
const title = win ? win.get_title() : '';
|
||||||
|
|
||||||
|
send(`${cls} ${title}\n`);
|
||||||
|
});
|
||||||
|
|
||||||
|
Main.layoutManager.connectObject(
|
||||||
|
'system-modal-opened', () => {
|
||||||
|
send(`system-modal ${global.stage.get_title()}\n`);
|
||||||
|
},
|
||||||
|
this
|
||||||
|
);
|
||||||
|
|
||||||
|
GLib.spawn_command_line_async('keyd-application-mapper -d');
|
||||||
|
}
|
||||||
|
|
||||||
|
disable() {
|
||||||
|
GLib.spawn_command_line_async('pkill -f keyd-application-mapper');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"name": "keyd",
|
||||||
|
"description": "Used by keyd to obtain active window information.",
|
||||||
|
"uuid": "keyd",
|
||||||
|
"shell-version": [ "45", "46", "47", "48" ]
|
||||||
|
}
|
||||||
|
|
65
cros-keyboard-map/keyd/data/gnome-extension/extension.js
Normal file
65
cros-keyboard-map/keyd/data/gnome-extension/extension.js
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
const Shell = imports.gi.Shell;
|
||||||
|
const GLib = imports.gi.GLib;
|
||||||
|
const Gio = imports.gi.Gio;
|
||||||
|
const Main = imports.ui.main;
|
||||||
|
|
||||||
|
let file = Gio.File.new_for_path(makePipe());
|
||||||
|
let pipe = file.append_to_async(0, 0, null, on_pipe_open);
|
||||||
|
|
||||||
|
function makePipe() {
|
||||||
|
let runtime_dir = GLib.getenv('XDG_RUNTIME_DIR');
|
||||||
|
if (!runtime_dir)
|
||||||
|
runtime_dir = '/run/user/'+new TextDecoder().decode(
|
||||||
|
GLib.spawn_command_line_sync('id -u')[1]
|
||||||
|
).trim();
|
||||||
|
|
||||||
|
let path = runtime_dir + '/keyd.fifo';
|
||||||
|
GLib.spawn_command_line_sync('mkfifo ' + path);
|
||||||
|
|
||||||
|
return path;
|
||||||
|
}
|
||||||
|
|
||||||
|
function send(msg) {
|
||||||
|
if (!pipe)
|
||||||
|
return;
|
||||||
|
|
||||||
|
try {
|
||||||
|
pipe.write(msg, null);
|
||||||
|
} catch {
|
||||||
|
log('pipe closed, reopening...');
|
||||||
|
pipe = null;
|
||||||
|
file.append_to_async(0, 0, null, on_pipe_open);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function on_pipe_open(file, res) {
|
||||||
|
log('pipe opened');
|
||||||
|
pipe = file.append_to_finish(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
function init() {
|
||||||
|
return {
|
||||||
|
enable: function() {
|
||||||
|
Shell.WindowTracker.get_default().connect('notify::focus-app', () => {
|
||||||
|
const win = global.display.focus_window;
|
||||||
|
const cls = win ? win.get_wm_class() : 'root';
|
||||||
|
const title = win ? win.get_title() : '';
|
||||||
|
|
||||||
|
send(`${cls} ${title}\n`);
|
||||||
|
});
|
||||||
|
|
||||||
|
Main.layoutManager.connectObject(
|
||||||
|
'system-modal-opened', () => {
|
||||||
|
send(`system-modal ${global.stage.get_title()}\n`);
|
||||||
|
},
|
||||||
|
this
|
||||||
|
);
|
||||||
|
|
||||||
|
GLib.spawn_command_line_async('keyd-application-mapper -d');
|
||||||
|
},
|
||||||
|
|
||||||
|
disable: function() {
|
||||||
|
GLib.spawn_command_line_async('pkill -f keyd-application-mapper');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"name": "keyd",
|
||||||
|
"description": "Used by keyd to obtain active window information.",
|
||||||
|
"uuid": "keyd",
|
||||||
|
"shell-version": [ "42", "43", "44" ]
|
||||||
|
}
|
||||||
|
|
BIN
cros-keyboard-map/keyd/data/keyd-application-mapper.1.gz
Normal file
BIN
cros-keyboard-map/keyd/data/keyd-application-mapper.1.gz
Normal file
Binary file not shown.
BIN
cros-keyboard-map/keyd/data/keyd.1.gz
Normal file
BIN
cros-keyboard-map/keyd/data/keyd.1.gz
Normal file
Binary file not shown.
34493
cros-keyboard-map/keyd/data/keyd.compose
Normal file
34493
cros-keyboard-map/keyd/data/keyd.compose
Normal file
File diff suppressed because it is too large
Load diff
34627
cros-keyboard-map/keyd/data/unicode.txt
Normal file
34627
cros-keyboard-map/keyd/data/unicode.txt
Normal file
File diff suppressed because it is too large
Load diff
242
cros-keyboard-map/keyd/docs/CHANGELOG.md
Normal file
242
cros-keyboard-map/keyd/docs/CHANGELOG.md
Normal file
|
@ -0,0 +1,242 @@
|
||||||
|
# v2.5.0
|
||||||
|
|
||||||
|
- Allow 64 character layer names
|
||||||
|
- Introduce a new device id format to distinguish between devices with identical product/vendor id pairs (backward compatible)
|
||||||
|
- Add KDE/plasma5 support to `keyd-application-mapper`
|
||||||
|
- Gnome v45/v46 application remapping support
|
||||||
|
- Increases the maximum number of descriptors to allow for more advanced configs
|
||||||
|
- Add `setlayout()` to facilitate dynamically set layouts
|
||||||
|
- `toggle()` now activates the layer on key down instead of key up
|
||||||
|
- Improve support for exotic keys
|
||||||
|
- Various minor bug fixes
|
||||||
|
|
||||||
|
# v2.4.3
|
||||||
|
|
||||||
|
## Summary (non exhaustive)
|
||||||
|
|
||||||
|
- Introduces a new layout type
|
||||||
|
- Improves application based remapping suport for wayland/X
|
||||||
|
- Adds `swap` support for toggled layers
|
||||||
|
- Adds support for chording
|
||||||
|
- Numerous bugfixes and stability improvements
|
||||||
|
|
||||||
|
## New Actions:
|
||||||
|
|
||||||
|
- togglem (#270)
|
||||||
|
- clear() (#253)
|
||||||
|
- overloadt (#309)
|
||||||
|
- overloadt2
|
||||||
|
|
||||||
|
## New Commands:
|
||||||
|
|
||||||
|
- listen command (#294, #217)
|
||||||
|
- reload
|
||||||
|
- do
|
||||||
|
- input
|
||||||
|
|
||||||
|
## New timeout and modifier knobs:
|
||||||
|
|
||||||
|
- disable_modifier_guard (#257)
|
||||||
|
- oneshot_timeout option
|
||||||
|
- overload_tap_timeout
|
||||||
|
- macro_sequence_timeout (#255)
|
||||||
|
|
||||||
|
See the manpage for details.
|
||||||
|
|
||||||
|
|
||||||
|
# v2.4.2
|
||||||
|
|
||||||
|
- Add include directive to the config syntax
|
||||||
|
- Ship includable common layouts
|
||||||
|
- Allow comments in the ids section (#245)
|
||||||
|
- Create virtual pointer on initialization (#249)
|
||||||
|
- Misc bug fixes
|
||||||
|
|
||||||
|
# v2.4.1
|
||||||
|
|
||||||
|
- Route button presses through the virtual keyboard (#162)
|
||||||
|
- Improve mouse support
|
||||||
|
- Fix VT repeat bug
|
||||||
|
- Allow overload to accept an arbitrary action (#199)
|
||||||
|
- Add support for full key serquences to swap()
|
||||||
|
- Misc bugfixes
|
||||||
|
|
||||||
|
# v2.4.0
|
||||||
|
|
||||||
|
- Fix macro timeouts
|
||||||
|
- Allow timeouts to be used in conjunction with + (#181)
|
||||||
|
- Add macro2() to allow for per-macro timeout values (#176)
|
||||||
|
- Add command() to allow for command execution
|
||||||
|
- Add [global] section
|
||||||
|
- Improve unicode support
|
||||||
|
- Add support for older kernels (#163)
|
||||||
|
- Clear oneshot on click
|
||||||
|
- Various bugfixes and enhancements
|
||||||
|
|
||||||
|
# v2.3.1-rc
|
||||||
|
|
||||||
|
- Add unicode support
|
||||||
|
- Add noop
|
||||||
|
- Fix keyd-application-mapper hotswapping
|
||||||
|
|
||||||
|
# v2.3.0-rc
|
||||||
|
|
||||||
|
This is a **major release** which breaks **backward compatibility** with
|
||||||
|
non trivial configs. It is best to reread the man page. Minimal
|
||||||
|
breaking changes are expected moving forward.
|
||||||
|
|
||||||
|
- Introduce composite layers
|
||||||
|
- Add timeout()
|
||||||
|
- Simplify layer model
|
||||||
|
- Layer entries are now affected by active modifiers (current layer modifiers excepted)
|
||||||
|
- Eliminate layer types
|
||||||
|
- Eliminate -d
|
||||||
|
|
||||||
|
See [DESIGN.md](DESIGN.md) for a more thorough description of changes.
|
||||||
|
|
||||||
|
# v2.2.7-beta
|
||||||
|
|
||||||
|
- Fix support for symlinked config files (#148)
|
||||||
|
- Improve out of the box handling of alt and meta overloading (#128)
|
||||||
|
- Add unicode support to keyd-application-mapper
|
||||||
|
- Various bugfixes and stability improvements
|
||||||
|
|
||||||
|
# v2.2.5-beta
|
||||||
|
|
||||||
|
- Eliminate udev as a dependency
|
||||||
|
- Permit mapping to modifier key codes (still discouraged)
|
||||||
|
- Support for nested swapping
|
||||||
|
- Improve app detection
|
||||||
|
- Various bug fixes
|
||||||
|
|
||||||
|
# v2.2.4-beta
|
||||||
|
|
||||||
|
- Add support for application mapping by title
|
||||||
|
- Fix macro timeouts
|
||||||
|
- Forbid modifier keycodes as lone right hand values in favour of layers
|
||||||
|
|
||||||
|
# v2.2.3-beta
|
||||||
|
|
||||||
|
- Enable hot swapping of depressed keybindings via -e
|
||||||
|
- Improve support for application remapping
|
||||||
|
|
||||||
|
# v2.2.2-beta
|
||||||
|
|
||||||
|
- Change panic sequence to `backspace+enter+escape` (#94)
|
||||||
|
- Fix overload+modifer behaviour (#95)
|
||||||
|
|
||||||
|
# v2.2.1-beta
|
||||||
|
|
||||||
|
- Move application bindings into ~/.config/keyd/app.conf.
|
||||||
|
- Add -d to keyd-application-mapper.
|
||||||
|
- Fix broken gnome support.
|
||||||
|
|
||||||
|
# v2.2.0-beta
|
||||||
|
|
||||||
|
- Add a new IPC mechanism for dynamically altering the keymap (-e).
|
||||||
|
- Add experimental support for app specific bindings.
|
||||||
|
|
||||||
|
# v2.1.0-beta
|
||||||
|
|
||||||
|
NOTE: This might break some configs (see below)
|
||||||
|
|
||||||
|
- Change default modifier mappings to their full names (i.e `control =
|
||||||
|
layer(control)` instead of `control = layer(C)` in an unmodified key map)`.
|
||||||
|
|
||||||
|
- Modifier names are now syntactic sugar for assigning both associated key
|
||||||
|
codes. E.G `control` corresponds to both `leftcontrol` and `rightcontrol`
|
||||||
|
when assigned instead of just the former. (Note: this also means it is no
|
||||||
|
longer a valid right hand value)
|
||||||
|
|
||||||
|
- Fixes v1 overload regression (#74)
|
||||||
|
|
||||||
|
# v2.0.1-beta
|
||||||
|
|
||||||
|
- Add + syntax to macros to allow for simultaenously held keys.
|
||||||
|
|
||||||
|
# v2.0.0-beta
|
||||||
|
|
||||||
|
Major version update.
|
||||||
|
|
||||||
|
This breaks 1.x configs. The format may ~~change slightly~~ (see [2.3.0-rc](#v230-rc)) before leaving beta,
|
||||||
|
but once it does should remain backwards compatible for the foreseeable future.
|
||||||
|
|
||||||
|
A non exhaustive list of changes can be found below. It is best to forget
|
||||||
|
everything you know and read man page anew.
|
||||||
|
|
||||||
|
- Eliminate layer inheritance in favour of simple types.
|
||||||
|
(layouts are now defined with `:layout` instead of `:main`)
|
||||||
|
- Macros are now repeatable.
|
||||||
|
- Overload now accepts a hold threshold timeout.
|
||||||
|
- Config files are now vendor/product id oriented.
|
||||||
|
- SIGUSR1 now triggers a config reload.
|
||||||
|
- Modifiers are layers by default and can be extended directly.
|
||||||
|
- Config files now end in `.conf`.
|
||||||
|
- `layert()` is now `toggle()`.
|
||||||
|
- All layers are 'modifier layers' (terminological change)
|
||||||
|
- Eliminate the dedicated modifer layout.
|
||||||
|
- Modifiers no longer apply to key sequences defined within a layer.
|
||||||
|
(Layer entries are now always executed verbatim.)
|
||||||
|
|
||||||
|
The old behaviour was unintuitive and can be emulated using nested
|
||||||
|
layers if necessary.
|
||||||
|
|
||||||
|
For most old configs transitioning should be a simple matter of changing
|
||||||
|
the file extension from `.cfg` to `.conf`, replacing `layert` with
|
||||||
|
`toggle`, changing `:main` to `:layout` and adding
|
||||||
|
|
||||||
|
```
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
```
|
||||||
|
|
||||||
|
to the top of the file.
|
||||||
|
|
||||||
|
More involved configs may need additional changes, but should be possible
|
||||||
|
to replicate using the new rules. If not, please file an issue on
|
||||||
|
[github](https://github.com/rvaiya/keyd/issues).
|
||||||
|
|
||||||
|
# v1.1.1
|
||||||
|
|
||||||
|
- Make layert behaviour more intuitive when combined with oneshot() and layer().
|
||||||
|
|
||||||
|
# v1.1.0
|
||||||
|
|
||||||
|
- Add layert() to facilitate semipermanent-activation of occluding layers.
|
||||||
|
- Resolve layer conflicts by picking the one which was most recently activated.
|
||||||
|
|
||||||
|
# v1.0.0
|
||||||
|
|
||||||
|
Major version update:
|
||||||
|
|
||||||
|
- Introduce support for modifier layers.
|
||||||
|
- Simplify the config format.
|
||||||
|
- Improve consistency/expected key behaviour.
|
||||||
|
- Symbols can now be assigned directly place of their names (e.g `&` instead of `S-7`).
|
||||||
|
- Macro support.
|
||||||
|
|
||||||
|
*This breaks existing configs*. Moving forward the config format is expected to
|
||||||
|
remain backwards compatible.
|
||||||
|
|
||||||
|
Main Config Changes:
|
||||||
|
|
||||||
|
- Modifiers are now just treated as layers
|
||||||
|
- The default layer is now called main
|
||||||
|
- The modifier layout is distinct from the key layout
|
||||||
|
|
||||||
|
Config migration map:
|
||||||
|
|
||||||
|
```
|
||||||
|
mods_on_hold(C, esc) = overload(C, esc)
|
||||||
|
layer_on_hold(layer, esc) = overload(layer, esc)
|
||||||
|
layer_toggle(layer) = layout(layer)
|
||||||
|
layer(layer) = layer(layer)
|
||||||
|
oneshot(mods) = oneshot(mods)
|
||||||
|
oneshot_layer(layer) = oneshot(layer)
|
||||||
|
[dvorak:default] = [dvorak:main]
|
||||||
|
```
|
||||||
|
|
||||||
|
See the [manpage](man.md) for details.
|
122
cros-keyboard-map/keyd/docs/DESIGN.md
Normal file
122
cros-keyboard-map/keyd/docs/DESIGN.md
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
This document contains a description of major design iterations.
|
||||||
|
It is not intended to be exhaustive.
|
||||||
|
|
||||||
|
# v2.3.0-rc
|
||||||
|
|
||||||
|
This is a major release which breaks backward compatibility for
|
||||||
|
non-trivial configs (we are still in beta after all :P).
|
||||||
|
|
||||||
|
In the absence of too much blowback, this will probably become the final
|
||||||
|
v2 design.
|
||||||
|
|
||||||
|
Much of this harkens back to v1, with some additional simplifications
|
||||||
|
and enhancements.
|
||||||
|
|
||||||
|
## Notable changes:
|
||||||
|
|
||||||
|
- Introduced composite layers
|
||||||
|
|
||||||
|
- Eliminated sequences in favour of macros (C-x is now just syntactic
|
||||||
|
sugar for macro(C-x)).
|
||||||
|
|
||||||
|
- Actions which previously accepted sequences as a second argument
|
||||||
|
now accept macros of any kind.
|
||||||
|
|
||||||
|
- General stability/speed/memory improvements
|
||||||
|
|
||||||
|
- Made the man page less war and peacey
|
||||||
|
|
||||||
|
## Non backward-compatible changes
|
||||||
|
|
||||||
|
- Replaced three arg overload() with a more flexible timeout() mechanism
|
||||||
|
|
||||||
|
- Layers are now fully transparent. That is, bindings are drawn on the basis
|
||||||
|
of activation order with [main] being active by default.
|
||||||
|
|
||||||
|
- Modifiers now apply to all bindings with the exception of modifiers
|
||||||
|
associated with the active layer.
|
||||||
|
|
||||||
|
Rationale:
|
||||||
|
|
||||||
|
The end result is more intuitive and in conjunction with transparency
|
||||||
|
allows modifiers to be paired with layer entries without having
|
||||||
|
to use layer nesting (#103).
|
||||||
|
|
||||||
|
E.G
|
||||||
|
|
||||||
|
```
|
||||||
|
capslock = layer(nav)
|
||||||
|
|
||||||
|
[nav:C]
|
||||||
|
|
||||||
|
h = left
|
||||||
|
l = right
|
||||||
|
```
|
||||||
|
|
||||||
|
will cause `capslock+h` to produce `left` (rather than `C-left`), while
|
||||||
|
`control+capslock+h` will produce `C-left`, as one might intuit.
|
||||||
|
|
||||||
|
- Abolished layer types. Notably, the concept of a 'layout' no longer exists.
|
||||||
|
|
||||||
|
Rationale:
|
||||||
|
|
||||||
|
This simplifies the lookup logic, elminates the need for dedicated layout
|
||||||
|
actions, and makes it easier to define common bindings for letter layouts
|
||||||
|
since the main layer can be used as a fallback during lookup.
|
||||||
|
|
||||||
|
E.G
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
capslock = layer(capslock)
|
||||||
|
|
||||||
|
[dvorak]
|
||||||
|
|
||||||
|
a = a
|
||||||
|
s = o
|
||||||
|
...
|
||||||
|
|
||||||
|
[capslock]
|
||||||
|
|
||||||
|
1 = toggle(dvorak)
|
||||||
|
|
||||||
|
- Special characters within macros like ) and \ must be escaped with a backslash.
|
||||||
|
|
||||||
|
- Modifier sequences (e.g `C-M`) are no longer valid layers by default.
|
||||||
|
|
||||||
|
Rationale:
|
||||||
|
|
||||||
|
This was legacy magic from v1 which added a bunch of cruft to the code and
|
||||||
|
seemed to cause confusion by blurring the boundaries between layers and
|
||||||
|
modifiers. Similar results can be achieved by explicitly defining an
|
||||||
|
empty layer with the desired modifier tags:
|
||||||
|
|
||||||
|
I.E
|
||||||
|
|
||||||
|
a = layer(M-C)
|
||||||
|
b = layer(M)
|
||||||
|
|
||||||
|
becomes
|
||||||
|
|
||||||
|
a = layer(meta-control)
|
||||||
|
b = layer(meta)
|
||||||
|
|
||||||
|
[meta-control:M-C]
|
||||||
|
|
||||||
|
Note that in the above sample "meta" does not need to be
|
||||||
|
explicitly defined, since full modifier names are still
|
||||||
|
mapped to their eponymously named layers.
|
||||||
|
|
||||||
|
- Eliminated -d
|
||||||
|
|
||||||
|
Rationale:
|
||||||
|
|
||||||
|
Modern init systems are quite adept at daemonization, and the end user
|
||||||
|
can always redirect/fork using a wrapper script if desired.
|
||||||
|
|
||||||
|
- Eliminated reload on SIGUSR1
|
||||||
|
|
||||||
|
Rationale:
|
||||||
|
|
||||||
|
Startup time has been reduced making the cost of a full
|
||||||
|
restart negligible (and probably more reliable).
|
113
cros-keyboard-map/keyd/docs/keyd-application-mapper.scdoc
Normal file
113
cros-keyboard-map/keyd/docs/keyd-application-mapper.scdoc
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
keyd-application-mapper(1)
|
||||||
|
|
||||||
|
# NAME
|
||||||
|
|
||||||
|
keyd-application-mapper - remap keys when window focus changes
|
||||||
|
|
||||||
|
# SYNOPSIS
|
||||||
|
|
||||||
|
*keyd-application-mapper* [*-d*|*--daemonize*] [*-v*|*--verbose*]
|
||||||
|
|
||||||
|
# OPTIONS
|
||||||
|
|
||||||
|
*-v, --verbose*
|
||||||
|
Write verbose output. This includes printing the window focus events detected.
|
||||||
|
You can use this output to determine what a window's class and title is for the
|
||||||
|
purpose of setting mappings for that window in the config file.
|
||||||
|
|
||||||
|
*-d, --daemonize*
|
||||||
|
Daemonize, write output to _~/.config/keyd/app.log_ instead of stdout.
|
||||||
|
|
||||||
|
# DESCRIPTION
|
||||||
|
|
||||||
|
A script which reads _~/.config/keyd/app.conf_ and applies the supplied
|
||||||
|
bindings whenever a window with a matching class comes into focus.
|
||||||
|
|
||||||
|
You can think of each section as a set of application specific masks applied
|
||||||
|
over the global rules defined in _/etc/keyd/\*.conf_.
|
||||||
|
|
||||||
|
The config file has the following form:
|
||||||
|
|
||||||
|
```
|
||||||
|
[<filter>]
|
||||||
|
|
||||||
|
<expression 1>
|
||||||
|
<expression 2>
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
Where _<filter>_ has one of the following forms:
|
||||||
|
|
||||||
|
```
|
||||||
|
\[<class exp>\] # Match by window class
|
||||||
|
\[<class exp>|<title exp>\] # Match by class and title
|
||||||
|
```
|
||||||
|
|
||||||
|
and each _<expression>_ is a valid argument to _keyd bind_ (see *Bindings*).
|
||||||
|
|
||||||
|
_<class exp>_ and _<title exp>_ are strings which describe window class and title names
|
||||||
|
to be matched, and may optionally contain unix style wildcards (\*). For example,
|
||||||
|
_[gnome|\*find\*]_ will match any window with a class of _gnome_ and a title
|
||||||
|
containing the substring _find_.
|
||||||
|
|
||||||
|
E.G:
|
||||||
|
|
||||||
|
```
|
||||||
|
[kitty]
|
||||||
|
|
||||||
|
alt.] = C-tab
|
||||||
|
alt.[ = C-S-tab
|
||||||
|
alt.t = C-S-t
|
||||||
|
|
||||||
|
[st-*]
|
||||||
|
|
||||||
|
alt.1 = macro(Inside space st)
|
||||||
|
|
||||||
|
[chromium]
|
||||||
|
|
||||||
|
control.1 = macro(Inside space chrome!)
|
||||||
|
alt.] = C-tab
|
||||||
|
alt.[ = C-S-tab
|
||||||
|
alt.t = C-t
|
||||||
|
```
|
||||||
|
|
||||||
|
Will remap _A-1_ to the the string 'Inside st' when a window with a class
|
||||||
|
that begins with 'st-' (e.g st-256color) is active.
|
||||||
|
|
||||||
|
Window class and title names can be obtained by inspecting the output if the program
|
||||||
|
was started with the _-v, --verbose_ option. If the program was daemonized, you can
|
||||||
|
read the log file output by e.g. _tail\ -f\ ~/.config/keyd/app.log_.
|
||||||
|
A reload may be triggered by sending the script a USR1 signal.
|
||||||
|
|
||||||
|
At the moment X, Sway and Gnome are supported.
|
||||||
|
|
||||||
|
# INSTALLATION
|
||||||
|
|
||||||
|
Installation is a simple matter of running the command _keyd-application-mapper -d_
|
||||||
|
somewhere in your display server initialization logic (e.g _~/.xinitrc_ or
|
||||||
|
_~/.xsession_). If you are running Gnome,
|
||||||
|
running _keyd-application-mapper_ for the first time will install an extension
|
||||||
|
which manages the script lifecycle.
|
||||||
|
|
||||||
|
In order for this to work, keyd must be running and the user must have access
|
||||||
|
to */var/run/keyd.socket* (i.e be a member of the *keyd* group).
|
||||||
|
|
||||||
|
# ENVIRONMENT VARIABLES
|
||||||
|
|
||||||
|
*KEYD_DEBUG*
|
||||||
|
Debug log level. _0_,_1_ can be specified (default: 0).
|
||||||
|
|
||||||
|
# A note on security
|
||||||
|
|
||||||
|
*Any user which can interact with a program that directly controls input devices
|
||||||
|
should be assumed to have full access to the system.*
|
||||||
|
|
||||||
|
While keyd offers slightly better isolation compared to other remappers by dint
|
||||||
|
of mediating access through an IPC mechanism (rather than granting users
|
||||||
|
blanket access to /dev/input/\* and /dev/uinput), it still provides an
|
||||||
|
opportunity for abuse and should be treated with due deference.
|
||||||
|
|
||||||
|
Specifically, access to */var/run/keyd.socket* should only be granted to
|
||||||
|
trusted users and the group _keyd_ should be regarded with the same reverence
|
||||||
|
as _wheel_.
|
||||||
|
|
994
cros-keyboard-map/keyd/docs/keyd.scdoc
Normal file
994
cros-keyboard-map/keyd/docs/keyd.scdoc
Normal file
|
@ -0,0 +1,994 @@
|
||||||
|
keyd(1)
|
||||||
|
|
||||||
|
# NAME
|
||||||
|
|
||||||
|
*keyd* - A key remapping daemon.
|
||||||
|
|
||||||
|
# SYNOPSIS
|
||||||
|
|
||||||
|
*keyd* [command] [options]
|
||||||
|
|
||||||
|
# COMMANDS
|
||||||
|
|
||||||
|
*monitor [-t]*
|
||||||
|
Print key events. If -t is supplied, also prints time since the last event in ms. Useful for discovering key names/device ids and debugging.
|
||||||
|
|
||||||
|
*listen*
|
||||||
|
Print layer state changes of the running keyd daemon to stdout. Useful for scripting.
|
||||||
|
|
||||||
|
*bind reset|<binding> [<binding>...]*
|
||||||
|
Apply the supplied bindings. See _Bindings_ for details.
|
||||||
|
|
||||||
|
*reload*
|
||||||
|
Reload config files.
|
||||||
|
|
||||||
|
*list-keys*
|
||||||
|
List valid key names.
|
||||||
|
|
||||||
|
*input [-t <timeout>] <text> [<text>...]*
|
||||||
|
Input the supplied text. If no arguments are given, read the input from STDIN.
|
||||||
|
A timeout in microseconds may optionally be supplied corresponding to the time
|
||||||
|
between emitted events.
|
||||||
|
|
||||||
|
*do [-t <timeout>] [<exp>]*
|
||||||
|
Execute the supplied expression. See MACROS for the format of <exp>. If no arguments are given, the expression is read from STDIN. If supplied, <timeout> corresponds to the macro_sequence_timeout.
|
||||||
|
|
||||||
|
*check [<config file>...]*
|
||||||
|
Validate the supplied config files. If no files are supplied, all files in the config directory are checked.
|
||||||
|
This exits with a non-zero return code if and only if any files fail validation.
|
||||||
|
|
||||||
|
# OPTIONS
|
||||||
|
|
||||||
|
*-v, --version*
|
||||||
|
Print the current version and exit.
|
||||||
|
|
||||||
|
*-h, --help*
|
||||||
|
Print help and exit.
|
||||||
|
|
||||||
|
# DESCRIPTION
|
||||||
|
|
||||||
|
keyd is a system wide key remapping daemon which supports features like
|
||||||
|
layering, oneshot modifiers, and macros. In its most basic form it can be used
|
||||||
|
to define a custom key layout that persists across display server boundaries
|
||||||
|
(e.g wayland/X/tty).
|
||||||
|
|
||||||
|
The program runs in the foreground, printing diagnostic information to the
|
||||||
|
standard output streams, and is intended to be run as a single instance managed
|
||||||
|
by the init system.
|
||||||
|
|
||||||
|
*NOTE:*
|
||||||
|
|
||||||
|
Because keyd modifies your primary input device, it is possible to render your
|
||||||
|
machine unusable with a bad config file. If you find yourself in this situation
|
||||||
|
the panic sequence *<backspace>+<escape>+<enter>* will force keyd to
|
||||||
|
terminate.
|
||||||
|
|
||||||
|
# CONFIGURATION
|
||||||
|
|
||||||
|
Configuration files loosely follow an INI style format consisting of headers of
|
||||||
|
the form _[section_name]_ followed by a set of _bindings_. Lines beginning
|
||||||
|
with a hash are ignored.
|
||||||
|
|
||||||
|
Config files are stored in _/etc/keyd/_ and loaded upon initialization.
|
||||||
|
The reload command can be used to update the working set of config
|
||||||
|
files (e.g sudo keyd reload).
|
||||||
|
|
||||||
|
A valid config file has the extension _.conf_ and *must* begin with an _[ids]_
|
||||||
|
section that has one of the following forms:
|
||||||
|
|
||||||
|
```
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
<id 1 (obtained via keyd monitor)>
|
||||||
|
<id 2>
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
-<id 1>
|
||||||
|
-<id 2>
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
The first form specifies a list of ids to be explicitly matched, while the
|
||||||
|
second matches any id which has not been explicitly excluded.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
-0123:4567
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Will match all keyboards which *do not*(2) have the id _0123:4567_, while:
|
||||||
|
|
||||||
|
```
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
0123:4567
|
||||||
|
```
|
||||||
|
|
||||||
|
will exclusively match any devices which do. Device ids can be obtained from
|
||||||
|
the monitor command (see _COMMANDS_). Note that a device id may only be
|
||||||
|
listed in a single config file.
|
||||||
|
|
||||||
|
Each subsequent section of the file corresponds to a _layer_ (with the exception
|
||||||
|
of _[global]_ (see _GLOBALS_).
|
||||||
|
|
||||||
|
Config errors will appear in the log output and can be accessed in the usual
|
||||||
|
way using your system's service manager (e.g sudo journalctl -eu keyd).
|
||||||
|
|
||||||
|
If an id matches more than one device type, the prefix k: may
|
||||||
|
be used to exclusively match keyboards and the prefix m: may be used to
|
||||||
|
exclusively match mice. (E.g m:046d:b01d)
|
||||||
|
|
||||||
|
Note: All keyboards defined within a given config file will share the
|
||||||
|
same state. This is useful for linking separate input devices together
|
||||||
|
(e.g foot pedals).
|
||||||
|
|
||||||
|
Note 2: The wildcard will only match devices which keyd identifies as keyboards.
|
||||||
|
keyd is also capable of *managing mice* (e.g to facilitate clearing
|
||||||
|
of oneshot modifiers on click), but their ids must be explicitly listed.
|
||||||
|
|
||||||
|
Note 3: *Mouse support is currently experimental*, and is mostly confined to
|
||||||
|
traditional mice (e.g touchpads). Adding some mice to
|
||||||
|
your ids section may break your pointer. *It may also be necessary
|
||||||
|
to explicitly blacklist mice which are misidentified as keyboards
|
||||||
|
(e.g if you find your moused misbehaving).*
|
||||||
|
|
||||||
|
## Layers
|
||||||
|
|
||||||
|
A layer is a collection of _bindings_, each of which specifies the behaviour of
|
||||||
|
a particular key. Multiple layers may be active at any given time, forming a
|
||||||
|
stack of occluding keymaps consulted in activation order. The default layer is
|
||||||
|
called _main_ and is where common bindings should be defined.
|
||||||
|
|
||||||
|
For example, the following config snippet defines a layer called _nav_
|
||||||
|
and creates a toggle for it in the _main_ layer:
|
||||||
|
|
||||||
|
```
|
||||||
|
[main]
|
||||||
|
|
||||||
|
capslock = layer(nav)
|
||||||
|
|
||||||
|
[nav]
|
||||||
|
|
||||||
|
h = left
|
||||||
|
k = up
|
||||||
|
j = down
|
||||||
|
l = right
|
||||||
|
```
|
||||||
|
|
||||||
|
When capslock is held, the _nav_ layer occludes the _main_ layer
|
||||||
|
causing _hjkl_ to function as the corresponding arrow keys.
|
||||||
|
|
||||||
|
Unlike most other remapping tools, keyd provides first class support for
|
||||||
|
modifiers. A layer name may optionally end with a ':' followed by a
|
||||||
|
set of modifiers to emulate in the absence of an explicit mapping.
|
||||||
|
*Layer names may consist of a maximum of 64 characters* (including
|
||||||
|
all modifiers).
|
||||||
|
|
||||||
|
These layers play nicely with other modifiers and preserve existing stacking
|
||||||
|
semantics.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
[main]
|
||||||
|
|
||||||
|
capslock = layer(capslock)
|
||||||
|
|
||||||
|
[capslock:C]
|
||||||
|
|
||||||
|
j = down
|
||||||
|
```
|
||||||
|
|
||||||
|
will cause _capslock_ to behave as _control_, except in the case of _capslock+j_, which will
|
||||||
|
emit _down_. This makes it trivial to define custom modifiers which don't interfere with
|
||||||
|
one another.
|
||||||
|
|
||||||
|
Note that bindings are not affected by the modifiers of the layer in which they
|
||||||
|
are defined. Thus *capslock+j* will produce an unmodified *down* keypress, while
|
||||||
|
*shift+capslock+j* will produce *shift+down* as expected.
|
||||||
|
|
||||||
|
|
||||||
|
Formally, each layer heading has the following form:
|
||||||
|
|
||||||
|
```
|
||||||
|
"[" <layer name>[:<modifier set>] "]"
|
||||||
|
```
|
||||||
|
|
||||||
|
Where _<modifier_set>_ has the form:
|
||||||
|
|
||||||
|
_<modifier1>[-<modifier2>]..._
|
||||||
|
|
||||||
|
and each modifier is one of:
|
||||||
|
|
||||||
|
*C* - Control++
|
||||||
|
*M* - Meta/Super++
|
||||||
|
*A* - Alt++
|
||||||
|
*S* - Shift++
|
||||||
|
*G* - AltGr
|
||||||
|
|
||||||
|
Finally, each layer heading is followed by a set of bindings which take the form:
|
||||||
|
|
||||||
|
<key> | <alias> = <key>|<macro>|<action>
|
||||||
|
|
||||||
|
for a description of <action> and <macro> see _ACTIONS_ and _MACROS_.
|
||||||
|
|
||||||
|
By default, each key is bound to itself within the main layer. The exception to this
|
||||||
|
are the modifier keys, which are instead bound to eponymously named layers with the
|
||||||
|
corresponding modifiers.
|
||||||
|
|
||||||
|
For example, _meta_ is actually bound to _layer(meta)_, where _meta_ is
|
||||||
|
internally defined as _meta:M_.
|
||||||
|
|
||||||
|
The full set of modifier bindings are as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
control = layer(control)
|
||||||
|
meta = layer(meta)
|
||||||
|
shift = layer(shift)
|
||||||
|
leftalt = layer(alt)
|
||||||
|
rightalt = layer(altgr)
|
||||||
|
```
|
||||||
|
|
||||||
|
A consequence of this is that overriding modifier keys is a simple matter of
|
||||||
|
adding the desired bindings to an appropriate pre-defined layer.
|
||||||
|
|
||||||
|
Thus
|
||||||
|
|
||||||
|
```
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
|
||||||
|
[control]
|
||||||
|
j = down
|
||||||
|
```
|
||||||
|
|
||||||
|
is a completely valid config, which does what the benighted user might expect. Internally,
|
||||||
|
the full config actually looks something like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
leftcontrol = layer(control)
|
||||||
|
rightcontrol = layer(control)
|
||||||
|
|
||||||
|
[control:C]
|
||||||
|
j = down
|
||||||
|
```
|
||||||
|
|
||||||
|
If multiple bindings for the same key are present, the most recent one takes precedence.
|
||||||
|
|
||||||
|
A layer heading may also appear multiple times, in which case the layer will
|
||||||
|
contain the sum of all bindings. Note that the layer type may not be reassigned.
|
||||||
|
|
||||||
|
That is:
|
||||||
|
|
||||||
|
```
|
||||||
|
[mylayer:A]
|
||||||
|
a = b
|
||||||
|
c = d
|
||||||
|
|
||||||
|
[mylayer:C]
|
||||||
|
a = x
|
||||||
|
b = c
|
||||||
|
```
|
||||||
|
|
||||||
|
is equivalent to:
|
||||||
|
|
||||||
|
```
|
||||||
|
[mylayer:A]
|
||||||
|
a = x
|
||||||
|
b = c
|
||||||
|
c = d
|
||||||
|
```
|
||||||
|
|
||||||
|
## Composite Layers
|
||||||
|
|
||||||
|
A special kind of layer called a *composite layer* can be defined by creating a
|
||||||
|
layer with a name consisting of existing layers delimited by _+_. The resultant
|
||||||
|
layer will be activated and given precedence when all of its constituents are
|
||||||
|
activated. Composite layers are not allowed to have modifiers attached and
|
||||||
|
cannot be explicitly assigned.
|
||||||
|
|
||||||
|
E.g.
|
||||||
|
|
||||||
|
```
|
||||||
|
[control+alt]
|
||||||
|
h = left
|
||||||
|
```
|
||||||
|
|
||||||
|
will cause the sequence _control+alt+h_ to produce _left_ (ignoring the control
|
||||||
|
and alt modifiers attached to the active control and alt layers), while pressing
|
||||||
|
_control+alt+f1_ preserves those modifiers, emitting exactly what was pressed,
|
||||||
|
as there is no explicit binding for _f1_ on the composite layer.
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
[main]
|
||||||
|
capslock = layer(capslock)
|
||||||
|
|
||||||
|
[capslock:C]
|
||||||
|
|
||||||
|
[capslock+shift]
|
||||||
|
h = left
|
||||||
|
```
|
||||||
|
|
||||||
|
Will cause the sequence _capslock+shift+h_ to produce _left_, while preserving the expected functionality of _capslock_ and _shift_ in isolation.
|
||||||
|
|
||||||
|
*Note:* composite layers *must* always be defined _after_ the layers of which they
|
||||||
|
are comprised.
|
||||||
|
|
||||||
|
That is:
|
||||||
|
|
||||||
|
```
|
||||||
|
[layer1]
|
||||||
|
[layer2]
|
||||||
|
[layer1+layer2]
|
||||||
|
```
|
||||||
|
|
||||||
|
and not
|
||||||
|
|
||||||
|
```
|
||||||
|
[layer1+layer2]
|
||||||
|
[layer1]
|
||||||
|
[layer2]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Layouts
|
||||||
|
|
||||||
|
A layout is a special kind of layer intended for modifying alpha keys. Unlike
|
||||||
|
layers, layouts cannot have any associated modifiers, and only one layout may
|
||||||
|
be active at a given time. The default layout is called 'main', and can be
|
||||||
|
changed using the _setlayout()_ action.
|
||||||
|
|
||||||
|
For convenience, keyd ships with a number of common letter layouts in
|
||||||
|
/usr/share/keyd/layouts. Before including these, it is instructive to inspect them.
|
||||||
|
Non-english layouts include a dedicated shift layer (making order of inclusion
|
||||||
|
important) and *require the use of keyd's compose definitions* (see *Unicode
|
||||||
|
Support*)
|
||||||
|
|
||||||
|
E.g.
|
||||||
|
|
||||||
|
```
|
||||||
|
# Include the shipped colemak layout.
|
||||||
|
include layouts/colemak
|
||||||
|
|
||||||
|
[global]
|
||||||
|
default_layout = mylayout
|
||||||
|
|
||||||
|
[mylayout:layout]
|
||||||
|
a = b
|
||||||
|
b = c
|
||||||
|
#etc...
|
||||||
|
|
||||||
|
[control]
|
||||||
|
1 = setlayout(customlayout)
|
||||||
|
2 = setlayout(colemak)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Chording
|
||||||
|
|
||||||
|
_Chords_ are groups of keys which are treated as a unit when simultaneously
|
||||||
|
depressed. A chord can be defined by using a group of + delimited key names as
|
||||||
|
a left hand value. The corresponding action will be activated if all keys are
|
||||||
|
struck within the chording interval (_chord_timeout_).
|
||||||
|
|
||||||
|
E.g
|
||||||
|
|
||||||
|
```
|
||||||
|
j+k = esc
|
||||||
|
```
|
||||||
|
|
||||||
|
will cause _esc_ to be produced if both _j_ and _k_ are simultaneously depressed.
|
||||||
|
|
||||||
|
Note: It may be desirable to change the default chording interval (50ms) to
|
||||||
|
account for the physical characteristics of your keyboard.
|
||||||
|
|
||||||
|
## Unicode Support
|
||||||
|
|
||||||
|
If keyd encounters a valid UTF8 sequence as a right hand value, it will try and
|
||||||
|
translate that sequence into a macro which emits a keyd-specific XKB sequence.
|
||||||
|
|
||||||
|
In order for this to work, the sequences defined in the compose file shipped
|
||||||
|
with keyd (_/usr/share/keyd/keyd.compose_) must be accessible. This can be achieved
|
||||||
|
globally by copying the file to the appropriate location in
|
||||||
|
_/usr/share/X11/locale_, or on a per-user basis by symlinking it to
|
||||||
|
~/.XCompose.
|
||||||
|
|
||||||
|
E.g.
|
||||||
|
|
||||||
|
ln -s /usr/share/keyd/keyd.compose ~/.XCompose
|
||||||
|
|
||||||
|
**Additionally you will need to be using the default US layout on your
|
||||||
|
display server.** Users of non-english layouts are advised to set their layout
|
||||||
|
within keyd (see **Layouts**) to avoid conflicts between the display server
|
||||||
|
layout and keyd's unicode functionality.
|
||||||
|
|
||||||
|
**Note:** You may have to restart your applications for this to take effect.
|
||||||
|
|
||||||
|
**Note 2:** The generated compose sequences are affected by modifiers in the
|
||||||
|
normal way. If you want shift to produce a different symbol, you will need to
|
||||||
|
define a custom shift layer (see the included layout files for an example).
|
||||||
|
|
||||||
|
**Note 3:**
|
||||||
|
GTK4 currently has a bug which causes it to crash in the presence of large XCompose files
|
||||||
|
(like /usr/share/keyd/keyd.compose).
|
||||||
|
|
||||||
|
## Aliases
|
||||||
|
|
||||||
|
Each key may optionally be assigned an *alias*. This alias may be used in place
|
||||||
|
of the key as a valid left hand value. Multiple keys may be bound to the same alias,
|
||||||
|
but only one alias may be assigned to a key at a given time.
|
||||||
|
|
||||||
|
For example, the keys 'leftmeta' and 'rightmeta' are bound to the alias *meta*
|
||||||
|
by default. Thus the binding 'meta = a' is equivalent to the bindings 'leftmeta
|
||||||
|
= a' and 'rightmeta = a'.
|
||||||
|
|
||||||
|
Aliases are defined in a special section called 'aliases' where each line takes
|
||||||
|
the form:
|
||||||
|
|
||||||
|
<key> = <name>
|
||||||
|
|
||||||
|
where _<key>_ must be a valid key name.
|
||||||
|
|
||||||
|
Note that <name> may itself be a valid key name, in which case all references
|
||||||
|
to the key within the config file will be replaced with the new key.
|
||||||
|
Additionally, if the assigned alias is a valid key name, the corresponding
|
||||||
|
keycode will be assigned to the key by default. This makes it possible to
|
||||||
|
redefine keys before any bindings are applied and is particularly useful in
|
||||||
|
conjunction with the include mechanism to account for variations in hardware.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
/etc/keyd/common:
|
||||||
|
meta = oneshot(meta)
|
||||||
|
alt = oneshot(alt)
|
||||||
|
|
||||||
|
a = a
|
||||||
|
s = o
|
||||||
|
# etc..
|
||||||
|
|
||||||
|
/etc/keyd/default.conf:
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
include common
|
||||||
|
|
||||||
|
/etc/keyd/magic_keyboard.conf:
|
||||||
|
[ids]
|
||||||
|
004c:0267
|
||||||
|
|
||||||
|
[aliases]
|
||||||
|
leftalt = meta
|
||||||
|
rightalt = meta
|
||||||
|
rightmeta = alt
|
||||||
|
leftmeta = alt
|
||||||
|
|
||||||
|
[main]
|
||||||
|
include common
|
||||||
|
```
|
||||||
|
|
||||||
|
Allows the user to define a set of universal bindings in /etc/keyd/common
|
||||||
|
without having to explicitly account for the transposed meta and alt keys within
|
||||||
|
the included config snippet.
|
||||||
|
|
||||||
|
## File Inclusion
|
||||||
|
|
||||||
|
Config files may include other files located within the config directory using
|
||||||
|
the _include_ keyword. A line of the form *include <file>* may appear at any
|
||||||
|
point after the [ids] section. The resultant config will behave as though the
|
||||||
|
contents of the included file appear in place of the include statement.
|
||||||
|
|
||||||
|
Making strategic use of these statements makes it possible to share common
|
||||||
|
functionality between configs.
|
||||||
|
|
||||||
|
Include paths are relative and must be placed in one of the following
|
||||||
|
directories:
|
||||||
|
|
||||||
|
- /etc/keyd/
|
||||||
|
- /usr/share/keyd/
|
||||||
|
|
||||||
|
E.g.
|
||||||
|
|
||||||
|
```
|
||||||
|
/etc/keyd/default.conf:
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
|
||||||
|
# Add our shared custom bindings.
|
||||||
|
include common
|
||||||
|
|
||||||
|
# Appends bindings to the main layer
|
||||||
|
# defined in /etc/keyd/common (order matters)
|
||||||
|
[main]
|
||||||
|
capslock = layer(capslock)
|
||||||
|
|
||||||
|
[capslock]
|
||||||
|
1 = setlayout(colemak)
|
||||||
|
2 = setlayout(dvorak)
|
||||||
|
|
||||||
|
/etc/keyd/common:
|
||||||
|
[main]
|
||||||
|
|
||||||
|
rightmeta = layer(nav)
|
||||||
|
|
||||||
|
[nav]
|
||||||
|
|
||||||
|
h = left
|
||||||
|
j = down
|
||||||
|
k = up
|
||||||
|
l = right
|
||||||
|
|
||||||
|
/usr/share/keyd/layouts/dvorak:
|
||||||
|
a = a
|
||||||
|
s = o
|
||||||
|
...
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Limitations:
|
||||||
|
|
||||||
|
- All include statements should appear after the [ids] section in the including file.
|
||||||
|
- Included files should not contain an ids section.
|
||||||
|
- Included files should not include other files (inclusion is non-recursive).
|
||||||
|
- Included files should not end in .conf.
|
||||||
|
|
||||||
|
|
||||||
|
# GLOBALS
|
||||||
|
|
||||||
|
A special section called _[global]_ may be defined in the file and can contain
|
||||||
|
any of the following options:
|
||||||
|
|
||||||
|
*macro_timeout:* The time (in milliseconds) separating the initial execution of a macro
|
||||||
|
sequence and the first repetition.
|
||||||
|
(default: 600)
|
||||||
|
|
||||||
|
*macro_repeat_timeout:* The time separating successive executions of a macro.
|
||||||
|
(default: 50)
|
||||||
|
|
||||||
|
*layer_indicator:* If set, this will turn the capslock light on whenever a layer is active.
|
||||||
|
Note: Some wayland compositors will aggressively toggle LED state rendering this option
|
||||||
|
unusable.
|
||||||
|
|
||||||
|
(default: 0)
|
||||||
|
|
||||||
|
*macro_sequence_timeout:* If set, this will add a timeout (*in
|
||||||
|
microseconds*) between each emitted key in a macro sequence. This is
|
||||||
|
useful to avoid overflowing the input buffer on some systems.
|
||||||
|
|
||||||
|
*chord_timeout:* The maximum time between successive keys
|
||||||
|
interpreted as part of a chord.
|
||||||
|
(default: 50)
|
||||||
|
|
||||||
|
*chord_hold_timeout:* The length of time a chord
|
||||||
|
must be held before being activated.
|
||||||
|
(default: 0)
|
||||||
|
|
||||||
|
*oneshot_timeout:* If non-zero, timeout a oneshot layer
|
||||||
|
activation after the supplied number of milliseconds.
|
||||||
|
(default: 0)
|
||||||
|
|
||||||
|
*disable_modifier_guard:* By default, keyd will inject additional
|
||||||
|
control keypresses where necessary in order to prevent programs from
|
||||||
|
seeing additional modifier taps (E.g alt in firefox). If set, this
|
||||||
|
option disables that behaviour.
|
||||||
|
(default: 0)
|
||||||
|
|
||||||
|
*overload_tap_timeout:* If non-zero, ignore the tap behaviour of an
|
||||||
|
overloaded key if it is held for the given number of miliseconds.
|
||||||
|
(default: 0).
|
||||||
|
|
||||||
|
|
||||||
|
*Note:* Unicode characters and key sequences are treated as macros, and
|
||||||
|
are consequently affected by the corresponding timeout options.
|
||||||
|
|
||||||
|
# MACROS
|
||||||
|
|
||||||
|
Various keyd actions accept macro expressions.
|
||||||
|
|
||||||
|
A macro expression has one of the following forms:
|
||||||
|
|
||||||
|
. macro(<exp>)
|
||||||
|
. [<modifier 1>[-<modifier 2>...]-<key>
|
||||||
|
. <char>
|
||||||
|
|
||||||
|
Where _<char>_ is a valid unicode character and _<exp>_ has the form _<token1> [<token2>...]_ and each token is one of:
|
||||||
|
|
||||||
|
- A valid key code.
|
||||||
|
- A type 2 macro.
|
||||||
|
- A contiguous group of unicode characters.
|
||||||
|
- A group of key codes delimited by + to be depressed as a unit.
|
||||||
|
- A timeout of the form _<time>ms_ (where _<time>_ < 1024).
|
||||||
|
|
||||||
|
The following are all valid macro expressions:
|
||||||
|
|
||||||
|
- C-a
|
||||||
|
- macro(C-a)
|
||||||
|
- macro(leftcontrol+leftmeta) # simultaneously taps the left meta and left control keys
|
||||||
|
- A-M-x
|
||||||
|
- macro(Hello space World)
|
||||||
|
- macro(h e l l o space w o r ld) (identical to the above)
|
||||||
|
- macro(C-t 100ms google.com enter)
|
||||||
|
|
||||||
|
Splitting into smaller tokens serves as an escaping mechanism: _macro(space)_
|
||||||
|
inserts a space but _macro(s pace)_ writes "space". Likewise, _macro(3+5)_
|
||||||
|
depresses the 3 and 5 keys as a unit while _macro(3 + 5)_ writes "3+5".
|
||||||
|
|
||||||
|
Some prerequisites are needed for non-ASCII characters to work, see _Unicode Support_.
|
||||||
|
|
||||||
|
# ACTIONS
|
||||||
|
|
||||||
|
A key may optionally be bound to an _action_ which accepts zero or more arguments.
|
||||||
|
|
||||||
|
*layer(<layer>)*
|
||||||
|
Activate the given layer for the duration of the keypress.
|
||||||
|
|
||||||
|
*oneshot(<layer>)*
|
||||||
|
|
||||||
|
If tapped, activate the supplied layer for the duration of the next keypress.
|
||||||
|
|
||||||
|
*swap(<layer>)*
|
||||||
|
Swap the currently active layer with the supplied one. If the current
|
||||||
|
layer is toggled, it is deactivated and the supplied layer is toggled
|
||||||
|
instead. Otherwise, the active layer is deactivated and the supplied
|
||||||
|
layer remains active for the duration of the depression of the
|
||||||
|
activating key. The behaviour of this action is undefined for
|
||||||
|
composite layers.
|
||||||
|
|
||||||
|
```
|
||||||
|
[control]
|
||||||
|
|
||||||
|
x = swap(xlayer)
|
||||||
|
|
||||||
|
[xlayer]
|
||||||
|
|
||||||
|
s = C-s
|
||||||
|
b = S-insert
|
||||||
|
```
|
||||||
|
|
||||||
|
NOTE:
|
||||||
|
|
||||||
|
You probably don't need to use this unless you are trying to do something quite
|
||||||
|
involved. Think hard about whether or not what you are trying to achieve
|
||||||
|
can be done by other means, as it is easy to end up in states which
|
||||||
|
are impossible to exit.
|
||||||
|
|
||||||
|
*setlayout(<layout>)*
|
||||||
|
Set the current layout.
|
||||||
|
|
||||||
|
*clear()*
|
||||||
|
Clear any toggled or oneshot layers.
|
||||||
|
|
||||||
|
*toggle(<layer>)*
|
||||||
|
Permanently toggle the state of the given layer.
|
||||||
|
|
||||||
|
*layerm(<layer>, <macro>)*
|
||||||
|
Identical to *layer*, but executes the supplied macro before the layer change.
|
||||||
|
|
||||||
|
*oneshotm(<layer>, <macro>)*
|
||||||
|
Identical to *oneshot*, but executes the supplied macro before the layer change.
|
||||||
|
|
||||||
|
*swapm(<layer>, <macro>)*
|
||||||
|
Identical to *swap*, but accepts a macro to be executed immediately
|
||||||
|
after the layer change.
|
||||||
|
|
||||||
|
*togglem(<layer>, <macro>)*
|
||||||
|
Equivalent to *toggle*, but additionally executes the supplied macro before
|
||||||
|
toggling the layer.
|
||||||
|
|
||||||
|
*clearm(<macro>)*
|
||||||
|
Identical to *clear*, but executes the supplied macro before clearing layers.
|
||||||
|
|
||||||
|
## Key overloading
|
||||||
|
|
||||||
|
*overload(<layer>, <action>)*
|
||||||
|
Activates the given layer while held and executes <action> on tap.
|
||||||
|
|
||||||
|
*overloadt(<layer>, <action>, <timeout>)*
|
||||||
|
Identical to overload, but only activates the layer if the bound key is
|
||||||
|
held for \<timeout\> milliseconds. This is mainly useful for overloading keys
|
||||||
|
which are commonly struck in sequence (e.g letter keys).
|
||||||
|
|
||||||
|
Note that this will add a visual delay when typing, since overlapping
|
||||||
|
keys will be queued until the timeout expires or the bound key is
|
||||||
|
released.
|
||||||
|
|
||||||
|
*overloadt2(<layer>, <action>, <timeout>)*
|
||||||
|
Identical to overloadt, but additionally resolves as a hold in the
|
||||||
|
event of an intervening key tap.
|
||||||
|
|
||||||
|
*overloadi(<action 1>, <action 2>, <idle timeout>)*
|
||||||
|
Activate <action 1> if the last non-action (i.e symbol) key was struck less
|
||||||
|
than <timeout> milliseconds ago, otherwise activate <action 2>.
|
||||||
|
|
||||||
|
This can be used in combination with other overload timeouts and is particularly
|
||||||
|
useful for overloading letter keys (often called 'homerow mods').
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
a = overloadi(a, overloadt2(control, a, 200), 150)
|
||||||
|
```
|
||||||
|
|
||||||
|
will produce _a_ if and only if:
|
||||||
|
|
||||||
|
- _a_ is struck within 150ms of another non-action key.
|
||||||
|
- _a_ is struck more than 150ms after the last non-action key but held for less than 200ms
|
||||||
|
and there are no intervening key taps.
|
||||||
|
|
||||||
|
This reduces the visual latency by immediately resolving the key as a letter when
|
||||||
|
typed midword, but also facilitates its use as a layer trigger if it is held for a long
|
||||||
|
enough period with no intervening symbols.
|
||||||
|
|
||||||
|
Since this is a common usecase, a macro called *lettermod* (defined below) has been
|
||||||
|
defined to facilitate such definitions.
|
||||||
|
|
||||||
|
*lettermod(<layer>, <key>, <idle timeout>, <hold timeout>)*
|
||||||
|
An alias for:
|
||||||
|
|
||||||
|
*overloadi(<key>, overloadt2(<layer>, <key>, <hold timeout>), <idle timeout>)*
|
||||||
|
|
||||||
|
*timeout(<action 1>, <timeout>, <action 2>)*
|
||||||
|
If no key events occur within _<timeout> ms_, execute <action1>, otherwise
|
||||||
|
execute <action1>.
|
||||||
|
|
||||||
|
E.g.
|
||||||
|
|
||||||
|
timeout(a, 500, layer(control))
|
||||||
|
|
||||||
|
Will cause the assigned key to behave as control if it is held for more than
|
||||||
|
500 ms without any keys being struck in the interval.
|
||||||
|
|
||||||
|
*NOTE:* This is an older option with numerous subtle implications. It is
|
||||||
|
mainly intended to be used in combination with other actions to achieve
|
||||||
|
things which are not otherwise possible. Most users will want to use
|
||||||
|
one of overload functions for simple tap/hold behaviour.
|
||||||
|
|
||||||
|
*macro2(<timeout>, <repeat timeout>, <macro>)*
|
||||||
|
Creates a macro with the given timeout and repeat timeout. If a timeout value of 0 is used,
|
||||||
|
macro repeat is disabled.
|
||||||
|
|
||||||
|
Note that <macro> must be a valid macro expression.
|
||||||
|
|
||||||
|
E.g.
|
||||||
|
```
|
||||||
|
macro2(400, 50, macro(Hello space World))
|
||||||
|
macro2(120, 80, left)
|
||||||
|
```
|
||||||
|
*command(<shell command>)*
|
||||||
|
Execute the given shell command.
|
||||||
|
|
||||||
|
E.g.
|
||||||
|
|
||||||
|
command(brightness down)
|
||||||
|
|
||||||
|
*NOTE:* Commands are executed by the user running the keyd process (probably root),
|
||||||
|
use this feature judiciously.
|
||||||
|
|
||||||
|
*noop*
|
||||||
|
Do nothing.
|
||||||
|
|
||||||
|
# IPC
|
||||||
|
|
||||||
|
To facilitate extensibility, keyd employs a client-server model accessible
|
||||||
|
through the use of *-e*. The keymap can thus be conceived of as a
|
||||||
|
living entity that can be modified at run time.
|
||||||
|
|
||||||
|
In addition to allowing the user to try new bindings on the fly, this
|
||||||
|
enables the user to fully leverage keyd's expressive power from other programs
|
||||||
|
without incurring a performance penalty.
|
||||||
|
|
||||||
|
For instance, the user may use this functionality to write a script which
|
||||||
|
alters the keymap when they switch between different tmux sessions.
|
||||||
|
|
||||||
|
The application remapping tool (*keyd-application-mapper(1)*) which ships with keyd
|
||||||
|
is a good example of this. It is a small python script which performs event
|
||||||
|
detection for the various display servers (e.g X/sway/gnome, etc) and feeds the
|
||||||
|
desired mappings to the core using _-e_.
|
||||||
|
|
||||||
|
*NOTE:* Users with access to the keyd socket should be considered privileged
|
||||||
|
(i.e assumed to have access to the entire system.).
|
||||||
|
|
||||||
|
## Bindings
|
||||||
|
|
||||||
|
The _bind_ command accepts one or more _bindings_, each of which must have the following form:
|
||||||
|
|
||||||
|
\[<layer>.\]<key> = <key>|<macro>|<action>
|
||||||
|
|
||||||
|
Where _<layer>_ is the name of an (existing) layer in which the key is to be bound.
|
||||||
|
|
||||||
|
As a special case, the string "reset" may be used in place of a binding, in
|
||||||
|
which case the current keymap will revert to its original state (all
|
||||||
|
dynamically applied bindings will be dropped).
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ keyd bind '- = C-c'
|
||||||
|
$ keyd bind reset '+ = C-c' # Reset the keyboard before applying the '+' binding (drops the previous '-' binding)
|
||||||
|
```
|
||||||
|
|
||||||
|
By default expressions apply to the most recently active keyboard.
|
||||||
|
|
||||||
|
# EXAMPLES
|
||||||
|
|
||||||
|
## Example 1
|
||||||
|
|
||||||
|
Make _esc+q_ toggle the dvorak letter layout.
|
||||||
|
|
||||||
|
```
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
esc = layer(esc)
|
||||||
|
|
||||||
|
[dvorak]
|
||||||
|
|
||||||
|
a = a
|
||||||
|
s = o
|
||||||
|
...
|
||||||
|
|
||||||
|
[esc]
|
||||||
|
|
||||||
|
q = toggle(dvorak)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example 2
|
||||||
|
|
||||||
|
Invert the behaviour of the shift key without breaking modifier behaviour.
|
||||||
|
|
||||||
|
```
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
0 = )
|
||||||
|
|
||||||
|
[shift]
|
||||||
|
0 = 0
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example 3
|
||||||
|
|
||||||
|
Tapping control once causes it to apply to the next key, tapping it twice
|
||||||
|
activates it until it is pressed again, and holding it produces expected
|
||||||
|
behaviour.
|
||||||
|
|
||||||
|
```
|
||||||
|
[main]
|
||||||
|
|
||||||
|
control = oneshot(control)
|
||||||
|
|
||||||
|
[control]
|
||||||
|
|
||||||
|
control = toggle(control)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example 4
|
||||||
|
|
||||||
|
Meta behaves as normal except when \` is pressed, after which the alt_tab layer
|
||||||
|
is activated for the duration of the leftmeta keypress. Subsequent actuations
|
||||||
|
_will thus produce A-tab instead of M-\\_.
|
||||||
|
|
||||||
|
```
|
||||||
|
[meta]
|
||||||
|
|
||||||
|
` = swap(alt_tab, A-tab)
|
||||||
|
|
||||||
|
[alt_tab:A]
|
||||||
|
|
||||||
|
tab = A-S-tab
|
||||||
|
` = A-tab
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example 5
|
||||||
|
|
||||||
|
```
|
||||||
|
# Uses the compose key functionality of the display server to generate
|
||||||
|
# international glyphs. # For this to work 'setxkbmap -option
|
||||||
|
# compose:menu' must # be run after keyd has started.
|
||||||
|
|
||||||
|
# A list of sequences can be found in /usr/share/X11/locale/en_US.UTF-8/Compose
|
||||||
|
# on most systems.
|
||||||
|
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
rightalt = layer(dia)
|
||||||
|
|
||||||
|
[dia]
|
||||||
|
|
||||||
|
# Map o to ö
|
||||||
|
o = macro(compose o ")
|
||||||
|
|
||||||
|
# Map e to €
|
||||||
|
e = macro(compose c =)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example 6
|
||||||
|
|
||||||
|
```
|
||||||
|
# Tapping both shift keys will activate capslock.
|
||||||
|
|
||||||
|
[shift]
|
||||||
|
|
||||||
|
leftshift = capslock
|
||||||
|
rightshift = capslock
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example 7
|
||||||
|
|
||||||
|
Capslock will behave as control in all instances except when used
|
||||||
|
in conjunction with 'h/j/k/l' in which case it will produce arrow
|
||||||
|
keys. If tapped, it will function as escape.
|
||||||
|
|
||||||
|
```
|
||||||
|
[main]
|
||||||
|
capslock = overload(capslock, esc)
|
||||||
|
esc = capslock
|
||||||
|
|
||||||
|
[capslock:C]
|
||||||
|
h = left
|
||||||
|
k = up
|
||||||
|
j = down
|
||||||
|
l = right
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example 8
|
||||||
|
|
||||||
|
Disables the esc and end keys.
|
||||||
|
|
||||||
|
```
|
||||||
|
[main]
|
||||||
|
esc = noop
|
||||||
|
end = noop
|
||||||
|
```
|
||||||
|
|
||||||
|
# ENVIRONMENT VARIABLES
|
||||||
|
|
||||||
|
*KEYD_DEBUG*
|
||||||
|
Debug log level. _0_,_1_,_2_ can be specified (default: 0).
|
||||||
|
|
||||||
|
# AUTHOR
|
||||||
|
|
||||||
|
Written by Raheman Vaiya (2017-).
|
||||||
|
|
||||||
|
# BUGS
|
||||||
|
|
||||||
|
Please file any bugs or feature requests at the following url:
|
||||||
|
|
||||||
|
<https://github.com/rvaiya/keyd/issues>
|
14
cros-keyboard-map/keyd/examples/capslock-esc-basic.conf
Normal file
14
cros-keyboard-map/keyd/examples/capslock-esc-basic.conf
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# Usage: Place this file /etc/keyd/default.conf
|
||||||
|
|
||||||
|
# Causes `capslock` to behave as `control` when pressed
|
||||||
|
# and escape when tapped. Note that `control` is what
|
||||||
|
# keyd regards as a 'modifier layer'.
|
||||||
|
# See the man page for more details.
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
capslock = overload(control, esc)
|
|
@ -0,0 +1,38 @@
|
||||||
|
# NOTE: to use this, rename this file to default.conf and put in /etc/keyd/
|
||||||
|
|
||||||
|
# Advanced use of capslock as a triple function key:
|
||||||
|
#
|
||||||
|
# - when 'capslock' is tapped (pressed + released), it behaves as ESC key
|
||||||
|
#
|
||||||
|
# - when 'capslock' is held, and used in combination with another key, it
|
||||||
|
# behaves like a 'ctrl' key modifier (just like xcape)
|
||||||
|
#
|
||||||
|
# - when 'capslock' is held, and the 'space' key is tapped, we enter a 3rd
|
||||||
|
# state for "VIM mode" where hjkl keys become arrow keys until capslock
|
||||||
|
# is released.
|
||||||
|
#
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
capslock = overload(ctrl_vim, esc)
|
||||||
|
|
||||||
|
# ctrl_vim modifier layer; inherits from 'Ctrl' modifier layer
|
||||||
|
|
||||||
|
[ctrl_vim:C]
|
||||||
|
|
||||||
|
space = swap(vim_mode)
|
||||||
|
|
||||||
|
# vim_mode modifier layer; also inherits from 'Ctrl' modifier layer
|
||||||
|
|
||||||
|
[vim_mode:C]
|
||||||
|
|
||||||
|
h = left
|
||||||
|
j = down
|
||||||
|
k = up
|
||||||
|
l = right
|
||||||
|
# forward word
|
||||||
|
w = C-right
|
||||||
|
# backward word
|
||||||
|
b = C-left
|
65
cros-keyboard-map/keyd/examples/chromebook-linux.conf
Normal file
65
cros-keyboard-map/keyd/examples/chromebook-linux.conf
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
# NOTE: to use this, rename this file to default.conf or `your-chomebook-keyboard-name`.conf and put in /etc/keyd/
|
||||||
|
|
||||||
|
# This is an chromebook like configuration, this remaps function keys 1 through 10 to fall in line with the chromeos remapping
|
||||||
|
# while still allowing for full access to standard linux functions that rely on those function keys, such as TTY access or
|
||||||
|
# terminal programs
|
||||||
|
|
||||||
|
# Using this on an chromebook that has been modified to run linux will make the function keys work as designed originally
|
||||||
|
# for the most part, F4 and F5 are mapped differently due to limitations of `keyd` and lack of functional support for their features
|
||||||
|
# in most linux desktop environments
|
||||||
|
|
||||||
|
# pressing meta+Fn will trigger that FN key
|
||||||
|
# pressing ctrl+alt+Fn will trigger that key stroke
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
|
||||||
|
## Chromebook function keys
|
||||||
|
[main]
|
||||||
|
f1 = back
|
||||||
|
f2 = forward
|
||||||
|
f3 = refresh
|
||||||
|
f4 = print
|
||||||
|
f5 = A-tab
|
||||||
|
f6 = brightnessdown
|
||||||
|
f7 = brightnessup
|
||||||
|
f8 = mute
|
||||||
|
f9 = volumedown
|
||||||
|
f10 = volumeup
|
||||||
|
|
||||||
|
## Allow F1-10 access through meta+fnX
|
||||||
|
[meta]
|
||||||
|
f1 = f1
|
||||||
|
f2 = f2
|
||||||
|
f3 = f3
|
||||||
|
f4 = f4
|
||||||
|
f5 = f5
|
||||||
|
f6 = f6
|
||||||
|
f7 = f7
|
||||||
|
f8 = f8
|
||||||
|
f9 = f9
|
||||||
|
f10 = f10
|
||||||
|
|
||||||
|
## Allow TTY access
|
||||||
|
[control+alt]
|
||||||
|
f1 = C-A-f1
|
||||||
|
f2 = C-A-f2
|
||||||
|
f3 = C-A-f3
|
||||||
|
f4 = C-A-f4
|
||||||
|
f5 = C-A-f5
|
||||||
|
f6 = C-A-f6
|
||||||
|
f7 = C-A-f7
|
||||||
|
f8 = C-A-f8
|
||||||
|
f9 = C-A-f9
|
||||||
|
f10 = C-A-f10
|
||||||
|
left = home
|
||||||
|
right = end
|
||||||
|
|
||||||
|
[control+alt]
|
||||||
|
up = home
|
||||||
|
down = end
|
||||||
|
|
||||||
|
[alt]
|
||||||
|
backspace = delete
|
||||||
|
up = pageup
|
||||||
|
down = pagedown
|
37
cros-keyboard-map/keyd/examples/extend-layer.conf
Normal file
37
cros-keyboard-map/keyd/examples/extend-layer.conf
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# This example demonstrates how to implement a variant of the Extend layer. Notice how
|
||||||
|
# you can pin the layer down with the space bar if you need to do complex operations
|
||||||
|
# using the fingers of both hands. Vim users might prefer to bind left, down up and right
|
||||||
|
# to h, j, k and l respectively.
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
capslock = overload(extend, capslock)
|
||||||
|
|
||||||
|
[extend]
|
||||||
|
|
||||||
|
q = overload(alt, escape)
|
||||||
|
y = pageup
|
||||||
|
u = home
|
||||||
|
i = up
|
||||||
|
o = end
|
||||||
|
p = insert
|
||||||
|
a = leftcontrol
|
||||||
|
s = leftshift
|
||||||
|
d = leftmeta
|
||||||
|
f = leftalt
|
||||||
|
h = pagedown
|
||||||
|
j = left
|
||||||
|
k = down
|
||||||
|
l = right
|
||||||
|
semicolon = delete
|
||||||
|
apostrophe = esc
|
||||||
|
n = compose
|
||||||
|
m = backspace
|
||||||
|
comma = space
|
||||||
|
dot = tab
|
||||||
|
slash = enter
|
||||||
|
space = overload(extend, capslock)
|
82
cros-keyboard-map/keyd/examples/half-qwerty.conf
Normal file
82
cros-keyboard-map/keyd/examples/half-qwerty.conf
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
# NOTE: to use this, rename this file to default.conf and put in /etc/keyd/
|
||||||
|
#
|
||||||
|
# Half-QWERTY emulation example. This is useful for one-handed typing.
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
# Maps capslock to escape when pressed and control when held.
|
||||||
|
capslock = overload(control, esc)
|
||||||
|
|
||||||
|
# Space becomes a modifier when pressed in combination with another key,
|
||||||
|
# otherwise outputs a regular space character. When this modifier is used, the
|
||||||
|
# keys are mirrored to the other half of the keyboard.
|
||||||
|
space = overload(mirroring, space)
|
||||||
|
|
||||||
|
# Single quote becomes Ctrl when combined.
|
||||||
|
' = overload(control, ')
|
||||||
|
|
||||||
|
# Alt+Tab is a common combination for switcing windows. When typing with the
|
||||||
|
# right hand it requires pressing space+[+Alt. Adding F12 as another Tab makes
|
||||||
|
# it easier.
|
||||||
|
f12 = tab
|
||||||
|
|
||||||
|
[mirroring]
|
||||||
|
6 = 5
|
||||||
|
7 = 4
|
||||||
|
8 = 3
|
||||||
|
9 = 2
|
||||||
|
0 = 1
|
||||||
|
- = `
|
||||||
|
|
||||||
|
h = g
|
||||||
|
j = f
|
||||||
|
k = d
|
||||||
|
l = s
|
||||||
|
semicolon = a
|
||||||
|
|
||||||
|
y = t
|
||||||
|
u = r
|
||||||
|
i = e
|
||||||
|
o = w
|
||||||
|
p = q
|
||||||
|
[ = tab
|
||||||
|
] = tab
|
||||||
|
\ = esc
|
||||||
|
|
||||||
|
n = b
|
||||||
|
m = v
|
||||||
|
, = c
|
||||||
|
. = x
|
||||||
|
/ = z
|
||||||
|
|
||||||
|
1 = 0
|
||||||
|
2 = 9
|
||||||
|
3 = 8
|
||||||
|
4 = 7
|
||||||
|
5 = 6
|
||||||
|
|
||||||
|
tab = delete
|
||||||
|
q = p
|
||||||
|
w = o
|
||||||
|
e = i
|
||||||
|
r = u
|
||||||
|
t = y
|
||||||
|
|
||||||
|
a = ;
|
||||||
|
s = l
|
||||||
|
d = k
|
||||||
|
f = j
|
||||||
|
g = h
|
||||||
|
|
||||||
|
z = /
|
||||||
|
x = .
|
||||||
|
c = ,
|
||||||
|
v = m
|
||||||
|
b = n
|
||||||
|
|
||||||
|
# TODO: Map space+capslock to return. The naive approach below does not work.
|
||||||
|
# capslock = return
|
24
cros-keyboard-map/keyd/examples/home-row-mods.conf
Normal file
24
cros-keyboard-map/keyd/examples/home-row-mods.conf
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# This example demonstrates how to implement one of the variants of home row modifers.
|
||||||
|
# Notice we use the one-shot-shift pattern. This is important to prevent shifting errors
|
||||||
|
# caused by the necessary delay with which characters are emitted under overloadt (on
|
||||||
|
# release, instead of on press). It is not recommended to use home-row shift for typing
|
||||||
|
# for that reason. Home row modifiers are best suited for combinations (i.e., shortcuts).
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
a = overloadt(control, a, 200)
|
||||||
|
s = overloadt(shift, s, 200)
|
||||||
|
d = overloadt(meta, d, 200)
|
||||||
|
f = overloadt(alt, f, 200)
|
||||||
|
j = overloadt(alt, j, 200)
|
||||||
|
k = overloadt(meta, k, 200)
|
||||||
|
l = overloadt(shift, l, 200)
|
||||||
|
; = overloadt(control, ;, 200)
|
||||||
|
v = overloadt(altgr, v, 200)
|
||||||
|
m = overloadt(altgr, m, 200)
|
||||||
|
leftshift = oneshot(shift)
|
||||||
|
rightshift = oneshot(shift)
|
23
cros-keyboard-map/keyd/examples/international-glyphs.conf
Normal file
23
cros-keyboard-map/keyd/examples/international-glyphs.conf
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
# This config demonstrates how international characters can be mapped using
|
||||||
|
# keyd. It works by using the display server's (i.e wayland/X) compose key
|
||||||
|
# functionality in conjunction with macros to generate the glyph of interest.
|
||||||
|
|
||||||
|
# For this to work 'setxkbmap -option compose:menu' must be run after keyd has started.
|
||||||
|
|
||||||
|
# A list of compose sequences can be found in /usr/share/X11/locale/en_US.UTF-8/Compose on most systems.
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
rightalt = layer(dia)
|
||||||
|
|
||||||
|
[dia]
|
||||||
|
|
||||||
|
# Map o to ö
|
||||||
|
o = macro(compose o ")
|
||||||
|
|
||||||
|
# Map e to €
|
||||||
|
e = macro(compose c =)
|
38
cros-keyboard-map/keyd/examples/layer-carousel.conf
Normal file
38
cros-keyboard-map/keyd/examples/layer-carousel.conf
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
# This example demostrates how to implement a layer carousel which behaves as follows:
|
||||||
|
# - Hold space (numbers layer)
|
||||||
|
# - Tap right shift (functions layer)
|
||||||
|
# - Tap left shift (numbers layer)
|
||||||
|
# - Tap left shift (symbols layer)
|
||||||
|
# - Release space (main layer)
|
||||||
|
# By using swap in our secondary layers, the layer held by space (as determined in the
|
||||||
|
# main layer) is replaced and remains active until another swap takes place or the space
|
||||||
|
# is eventually released, which brings us back to the main layer.
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
space = overloadt(numbers, space, 200)
|
||||||
|
|
||||||
|
[numbers]
|
||||||
|
|
||||||
|
a = 1
|
||||||
|
# Other numbers here.
|
||||||
|
leftshift = overload(shift, swap(symbols))
|
||||||
|
rightshift = overload(shift, swap(functions))
|
||||||
|
|
||||||
|
[functions]
|
||||||
|
|
||||||
|
a = f1
|
||||||
|
# Other functions here.
|
||||||
|
leftshift = overload(shift, swap(numbers))
|
||||||
|
rightshift = overload(shift, swap(symbols))
|
||||||
|
|
||||||
|
[symbols]
|
||||||
|
|
||||||
|
a = grave
|
||||||
|
# Other symbols here.
|
||||||
|
leftshift = overload(shift, swap(functions))
|
||||||
|
rightshift = overload(shift, swap(numbers))
|
80
cros-keyboard-map/keyd/examples/macos.conf
Normal file
80
cros-keyboard-map/keyd/examples/macos.conf
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
# NOTE: to use this, rename this file to default.conf and put in /etc/keyd/
|
||||||
|
|
||||||
|
# Mac-Like Configuration Example
|
||||||
|
#
|
||||||
|
# Uses "Alt" button to the left of spacebar as "Cmd" key
|
||||||
|
#
|
||||||
|
# Note:
|
||||||
|
# This 'trick' generally requires that the press+release of the Meta
|
||||||
|
# key will do nothing. On my system, I had to disable the "overlay-key"
|
||||||
|
# in mutter to make it inert:
|
||||||
|
# - `gsettings set org.gnome.mutter overlay-key ''`
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
# Create a new "Cmd" button, with various Mac OS-like features below
|
||||||
|
leftalt = layer(meta_mac)
|
||||||
|
|
||||||
|
# Swap meta/alt
|
||||||
|
leftmeta = alt
|
||||||
|
|
||||||
|
|
||||||
|
# meta_mac modifier layer; inherits from 'Ctrl' modifier layer
|
||||||
|
#
|
||||||
|
# The main part! Using this layer, we can remap our new "Cmd" key to
|
||||||
|
# do almost everything our muscle memory might need...
|
||||||
|
[meta_mac:C]
|
||||||
|
|
||||||
|
# Meta-Space: Open the Launcher (a feature of gnome-shell)
|
||||||
|
# keybinding: ? how did we arrive at M-/ ?
|
||||||
|
space = M-/
|
||||||
|
|
||||||
|
# Switch directly to an open tab (e.g. Firefox, VS code)
|
||||||
|
1 = A-1
|
||||||
|
2 = A-2
|
||||||
|
3 = A-3
|
||||||
|
4 = A-4
|
||||||
|
5 = A-5
|
||||||
|
6 = A-6
|
||||||
|
7 = A-7
|
||||||
|
8 = A-8
|
||||||
|
9 = A-9
|
||||||
|
|
||||||
|
# Copy
|
||||||
|
c = C-insert
|
||||||
|
# Paste
|
||||||
|
v = S-insert
|
||||||
|
# Cut
|
||||||
|
x = S-delete
|
||||||
|
|
||||||
|
# Move cursor to beginning of line
|
||||||
|
left = home
|
||||||
|
# Move cursor to end of Line
|
||||||
|
right = end
|
||||||
|
|
||||||
|
# As soon as tab is pressed (but not yet released), we switch to the
|
||||||
|
# "app_switch_state" overlay where we can handle Meta-Backtick differently.
|
||||||
|
# Also, send a 'M-tab' key tap before entering app_switch_sate.
|
||||||
|
tab = swapm(app_switch_state, M-tab)
|
||||||
|
|
||||||
|
# Meta-Backtick: Switch to next window in the application group
|
||||||
|
# - A-f6 is the default binding for 'cycle-group' in gnome
|
||||||
|
# - keybinding: `gsettings get org.gnome.desktop.wm.keybindings cycle-group`
|
||||||
|
` = A-f6
|
||||||
|
|
||||||
|
|
||||||
|
# app_switch_state modifier layer; inherits from 'Meta' modifier layer
|
||||||
|
[app_switch_state:M]
|
||||||
|
|
||||||
|
# Meta-Tab: Switch to next application
|
||||||
|
# - keybinding: `gsettings get org.gnome.desktop.wm.keybindings switch-applications`
|
||||||
|
tab = M-tab
|
||||||
|
right = M-tab
|
||||||
|
|
||||||
|
# Meta-Backtick: Switch to previous application
|
||||||
|
# - keybinding: `gsettings get org.gnome.desktop.wm.keybindings switch-applications-backward`
|
||||||
|
` = M-S-tab
|
||||||
|
left = M-S-tab
|
53
cros-keyboard-map/keyd/examples/nav-layer.conf
Normal file
53
cros-keyboard-map/keyd/examples/nav-layer.conf
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
# Goal:
|
||||||
|
#
|
||||||
|
# To create a vi like navigation layer accessible by holding capslock while holding capslock
|
||||||
|
# otherwise behave like the control key (when held) and escape when tapped.
|
||||||
|
#
|
||||||
|
# In essence we want:
|
||||||
|
#
|
||||||
|
# - capslock+h = left
|
||||||
|
# - capslock+j = down
|
||||||
|
# - capslock+k = up
|
||||||
|
# - capslock+l = right
|
||||||
|
#
|
||||||
|
# - capslock+shift+h = C-left
|
||||||
|
# - capslock+shift+l = C-right
|
||||||
|
# - capslock+shift+j = C-down
|
||||||
|
# - capslock+shift+k = C-up
|
||||||
|
#
|
||||||
|
# - capslock = escape (when tapped)
|
||||||
|
#
|
||||||
|
# In all other instances capslock should behave as normal control:
|
||||||
|
#
|
||||||
|
# - capslock+a = C-a
|
||||||
|
# - capslock+b = C-b
|
||||||
|
# - capslock+c = C-c
|
||||||
|
# ...
|
||||||
|
# - capslock+shift+i = C-S-i
|
||||||
|
# - capslock+shift+k = C-S-k
|
||||||
|
# ....
|
||||||
|
|
||||||
|
# This is achieved by creating a composite layer called [capslock+shift]
|
||||||
|
# which is activated whenever capslock and shift are simultaneously
|
||||||
|
# held.
|
||||||
|
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
capslock = overload(capslock, esc)
|
||||||
|
|
||||||
|
[capslock:C]
|
||||||
|
h = left
|
||||||
|
j = down
|
||||||
|
k = up
|
||||||
|
l = right
|
||||||
|
|
||||||
|
# Activates when both capslock and shift is pressed
|
||||||
|
[capslock+shift]
|
||||||
|
h = C-left
|
||||||
|
j = C-down
|
||||||
|
k = C-up
|
||||||
|
l = C-right
|
||||||
|
|
15
cros-keyboard-map/keyd/examples/shift-bar.conf
Normal file
15
cros-keyboard-map/keyd/examples/shift-bar.conf
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# This example demostrates how to use the space-bar as a shift key by:
|
||||||
|
# 1. Holding shift
|
||||||
|
# 2. Holding space
|
||||||
|
# 3. Releasing shift
|
||||||
|
# The space-bar will keep the shift layer active until your release it. The advanteage is
|
||||||
|
# that you can type using the fingers of both hands freely. Consider it as an alternative
|
||||||
|
# to caps-word mode (see issue #711).
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[shift]
|
||||||
|
|
||||||
|
space = overloadt(shift, space, 200)
|
18
cros-keyboard-map/keyd/examples/simlayer.conf
Normal file
18
cros-keyboard-map/keyd/examples/simlayer.conf
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# This example demonstrates what is sometimes called a simlayer: when the layer is
|
||||||
|
# activated, if no action is taken within a specified period of time, another action
|
||||||
|
# takes place. This can be used, for example, to preserve the repeat action of the key
|
||||||
|
# that is being overloaded (backspace in this case).
|
||||||
|
|
||||||
|
[ids]
|
||||||
|
|
||||||
|
*
|
||||||
|
|
||||||
|
[main]
|
||||||
|
|
||||||
|
backspace = timeout(overload(shortcuts, backspace), 500, backspace)
|
||||||
|
|
||||||
|
[shortcuts]
|
||||||
|
|
||||||
|
1 = M-pageup
|
||||||
|
2 = M-pagedown
|
||||||
|
# Other shortcuts here.
|
9
cros-keyboard-map/keyd/keyd.service.in
Normal file
9
cros-keyboard-map/keyd/keyd.service.in
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
[Unit]
|
||||||
|
Description=key remapping daemon
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=@PREFIX@/bin/keyd
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
127
cros-keyboard-map/keyd/layouts/af
Normal file
127
cros-keyboard-map/keyd/layouts/af
Normal file
|
@ -0,0 +1,127 @@
|
||||||
|
[af:layout]
|
||||||
|
|
||||||
|
' = گ
|
||||||
|
, = و
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = ۱
|
||||||
|
2 = ۲
|
||||||
|
3 = ۳
|
||||||
|
4 = ۴
|
||||||
|
5 = ۵
|
||||||
|
6 = ۶
|
||||||
|
7 = ۷
|
||||||
|
8 = ۸
|
||||||
|
9 = ۹
|
||||||
|
; = ک
|
||||||
|
= = =
|
||||||
|
[ = ج
|
||||||
|
\ = \
|
||||||
|
] = چ
|
||||||
|
a = ش
|
||||||
|
b = ذ
|
||||||
|
c = ز
|
||||||
|
d = ی
|
||||||
|
e = ث
|
||||||
|
f = ب
|
||||||
|
g = ل
|
||||||
|
h = ا
|
||||||
|
i = ه
|
||||||
|
j = ت
|
||||||
|
k = ن
|
||||||
|
l = م
|
||||||
|
m = پ
|
||||||
|
n = د
|
||||||
|
o = خ
|
||||||
|
p = ح
|
||||||
|
q = ض
|
||||||
|
r = ق
|
||||||
|
s = س
|
||||||
|
t = ف
|
||||||
|
u = ع
|
||||||
|
v = ر
|
||||||
|
w = ص
|
||||||
|
x = ط
|
||||||
|
y = غ
|
||||||
|
z = ظ
|
||||||
|
shift = layer(af_shift)
|
||||||
|
altgr = layer(af_altgr)
|
||||||
|
|
||||||
|
[af_shift:S]
|
||||||
|
' = ؛
|
||||||
|
, = >
|
||||||
|
- = ـ
|
||||||
|
. = <
|
||||||
|
/ = ؟
|
||||||
|
1 = !
|
||||||
|
2 = ٬
|
||||||
|
3 = ٫
|
||||||
|
4 =
|
||||||
|
5 = ٪
|
||||||
|
6 = ×
|
||||||
|
7 = ،
|
||||||
|
8 = *
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = }
|
||||||
|
\ = |
|
||||||
|
] = {
|
||||||
|
a = ؤ
|
||||||
|
b =
|
||||||
|
c = ژ
|
||||||
|
d = ي
|
||||||
|
e = ٍ
|
||||||
|
f = إ
|
||||||
|
g = أ
|
||||||
|
h = آ
|
||||||
|
i = ّ
|
||||||
|
j = ة
|
||||||
|
m = ء
|
||||||
|
n = ٔ
|
||||||
|
o = ]
|
||||||
|
p = [
|
||||||
|
q = ْ
|
||||||
|
r = ً
|
||||||
|
s = ئ
|
||||||
|
t = ُ
|
||||||
|
u = َ
|
||||||
|
v = ٰ
|
||||||
|
w = ٌ
|
||||||
|
x = ٓ
|
||||||
|
y = ِ
|
||||||
|
z = ك
|
||||||
|
|
||||||
|
[af_altgr:G]
|
||||||
|
' = ګ
|
||||||
|
. = ۇ
|
||||||
|
/ = ۉ
|
||||||
|
3 = #
|
||||||
|
8 = •
|
||||||
|
9 =
|
||||||
|
[ = ځ
|
||||||
|
] = څ
|
||||||
|
a = ښ
|
||||||
|
b = ڈ
|
||||||
|
c = ږ
|
||||||
|
d = ى
|
||||||
|
e = €
|
||||||
|
f = ې
|
||||||
|
g = ڷ
|
||||||
|
h = ٱ
|
||||||
|
i = ٕ
|
||||||
|
j = ټ
|
||||||
|
k = ڼ
|
||||||
|
l = ں
|
||||||
|
m = ٹ
|
||||||
|
n = ډ
|
||||||
|
r = ﴾
|
||||||
|
s = ۍ
|
||||||
|
t = ﴿
|
||||||
|
u =
|
||||||
|
v = ړ
|
||||||
|
x = ڑ
|
||||||
|
y =
|
||||||
|
z = ے
|
||||||
|
|
||||||
|
[af_altgr+af_shift]
|
169
cros-keyboard-map/keyd/layouts/al
Normal file
169
cros-keyboard-map/keyd/layouts/al
Normal file
|
@ -0,0 +1,169 @@
|
||||||
|
[al:layout]
|
||||||
|
|
||||||
|
' = [
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ë
|
||||||
|
= = =
|
||||||
|
[ = ç
|
||||||
|
\ = ]
|
||||||
|
] = @
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = z
|
||||||
|
z = y
|
||||||
|
shift = layer(al_shift)
|
||||||
|
altgr = layer(al_altgr)
|
||||||
|
|
||||||
|
[al_shift:S]
|
||||||
|
' = {
|
||||||
|
, = ;
|
||||||
|
- = _
|
||||||
|
. = :
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = Ë
|
||||||
|
= = +
|
||||||
|
[ = Ç
|
||||||
|
\ = }
|
||||||
|
] = '
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Z
|
||||||
|
z = Y
|
||||||
|
|
||||||
|
[al_altgr:G]
|
||||||
|
' = ß
|
||||||
|
, = <
|
||||||
|
. = >
|
||||||
|
1 = ~
|
||||||
|
7 = `
|
||||||
|
; = $
|
||||||
|
[ = ÷
|
||||||
|
\ = ¤
|
||||||
|
] = ×
|
||||||
|
a = æ
|
||||||
|
b = {
|
||||||
|
c = ¢
|
||||||
|
d = Đ
|
||||||
|
e = €
|
||||||
|
f = [
|
||||||
|
g = ]
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ł
|
||||||
|
l = ł
|
||||||
|
m = §
|
||||||
|
n = }
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = \
|
||||||
|
r = ¶
|
||||||
|
s = đ
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = @
|
||||||
|
w = |
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[al_altgr+al_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
2 = ⅛
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
a = Æ
|
||||||
|
b = '
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = €
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = }
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = §
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = `
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
95
cros-keyboard-map/keyd/layouts/am
Normal file
95
cros-keyboard-map/keyd/layouts/am
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[am:layout]
|
||||||
|
|
||||||
|
' = ր
|
||||||
|
, = խ
|
||||||
|
- = է
|
||||||
|
. = շ
|
||||||
|
/ = ռ
|
||||||
|
1 = ֆ
|
||||||
|
2 = ձ
|
||||||
|
3 = ֊
|
||||||
|
4 = ,
|
||||||
|
5 = ։
|
||||||
|
6 = ՞
|
||||||
|
7 = ․
|
||||||
|
8 = ՛
|
||||||
|
9 = )
|
||||||
|
; = պ
|
||||||
|
= = ղ
|
||||||
|
[ = ծ
|
||||||
|
\ = »
|
||||||
|
] = ց
|
||||||
|
a = ջ
|
||||||
|
b = զ
|
||||||
|
c = չ
|
||||||
|
d = գ
|
||||||
|
e = բ
|
||||||
|
f = ե
|
||||||
|
g = ա
|
||||||
|
h = ն
|
||||||
|
i = կ
|
||||||
|
j = ի
|
||||||
|
k = տ
|
||||||
|
l = հ
|
||||||
|
m = ք
|
||||||
|
n = լ
|
||||||
|
o = ը
|
||||||
|
p = թ
|
||||||
|
q = ճ
|
||||||
|
r = ս
|
||||||
|
s = վ
|
||||||
|
t = մ
|
||||||
|
u = ւ
|
||||||
|
v = յ
|
||||||
|
w = փ
|
||||||
|
x = դ
|
||||||
|
y = ո
|
||||||
|
z = ժ
|
||||||
|
shift = layer(am_shift)
|
||||||
|
|
||||||
|
[am_shift:S]
|
||||||
|
' = Ր
|
||||||
|
, = Խ
|
||||||
|
- = Է
|
||||||
|
. = Շ
|
||||||
|
/ = Ռ
|
||||||
|
1 = Ֆ
|
||||||
|
2 = Ձ
|
||||||
|
3 = —
|
||||||
|
4 = $
|
||||||
|
5 = …
|
||||||
|
6 = %
|
||||||
|
7 = և
|
||||||
|
8 = ՚
|
||||||
|
9 = (
|
||||||
|
; = Պ
|
||||||
|
= = Ղ
|
||||||
|
[ = Ծ
|
||||||
|
\ = «
|
||||||
|
] = Ց
|
||||||
|
a = Ջ
|
||||||
|
b = Զ
|
||||||
|
c = Չ
|
||||||
|
d = Գ
|
||||||
|
e = Բ
|
||||||
|
f = Ե
|
||||||
|
g = Ա
|
||||||
|
h = Ն
|
||||||
|
i = Կ
|
||||||
|
j = Ի
|
||||||
|
k = Տ
|
||||||
|
l = Հ
|
||||||
|
m = Ք
|
||||||
|
n = Լ
|
||||||
|
o = Ը
|
||||||
|
p = Թ
|
||||||
|
q = Ճ
|
||||||
|
r = Ս
|
||||||
|
s = Վ
|
||||||
|
t = Մ
|
||||||
|
u = Ւ
|
||||||
|
v = Յ
|
||||||
|
w = Փ
|
||||||
|
x = Դ
|
||||||
|
y = Ո
|
||||||
|
z = Ժ
|
147
cros-keyboard-map/keyd/layouts/ara
Normal file
147
cros-keyboard-map/keyd/layouts/ara
Normal file
|
@ -0,0 +1,147 @@
|
||||||
|
[ara:layout]
|
||||||
|
|
||||||
|
' = ط
|
||||||
|
, = و
|
||||||
|
- = -
|
||||||
|
. = ز
|
||||||
|
/ = ظ
|
||||||
|
` = ذ
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ك
|
||||||
|
= = =
|
||||||
|
[ = ج
|
||||||
|
\ = \
|
||||||
|
] = د
|
||||||
|
a = ش
|
||||||
|
b = ﻻ
|
||||||
|
c = ؤ
|
||||||
|
d = ي
|
||||||
|
e = ث
|
||||||
|
f = ب
|
||||||
|
g = ل
|
||||||
|
h = ا
|
||||||
|
i = ه
|
||||||
|
j = ت
|
||||||
|
k = ن
|
||||||
|
l = م
|
||||||
|
m = ة
|
||||||
|
n = ى
|
||||||
|
o = خ
|
||||||
|
p = ح
|
||||||
|
q = ض
|
||||||
|
r = ق
|
||||||
|
s = س
|
||||||
|
t = ف
|
||||||
|
u = ع
|
||||||
|
v = ر
|
||||||
|
w = ص
|
||||||
|
x = ء
|
||||||
|
y = غ
|
||||||
|
z = ئ
|
||||||
|
shift = layer(ara_shift)
|
||||||
|
altgr = layer(ara_altgr)
|
||||||
|
|
||||||
|
[ara_shift:S]
|
||||||
|
' = "
|
||||||
|
, = ,
|
||||||
|
- = _
|
||||||
|
. = .
|
||||||
|
/ = ؟
|
||||||
|
` = ّ
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = )
|
||||||
|
0 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = <
|
||||||
|
\ = …
|
||||||
|
] = >
|
||||||
|
a = ِ
|
||||||
|
b = ﻵ
|
||||||
|
c = }
|
||||||
|
d = ]
|
||||||
|
e = ُ
|
||||||
|
f = [
|
||||||
|
g = ﻷ
|
||||||
|
h = أ
|
||||||
|
i = ÷
|
||||||
|
j = ـ
|
||||||
|
k = ،
|
||||||
|
l = /
|
||||||
|
m = '
|
||||||
|
n = آ
|
||||||
|
o = ×
|
||||||
|
p = ؛
|
||||||
|
q = َ
|
||||||
|
r = ٌ
|
||||||
|
s = ٍ
|
||||||
|
t = ﻹ
|
||||||
|
u = `
|
||||||
|
v = {
|
||||||
|
w = ً
|
||||||
|
x = ْ
|
||||||
|
y = إ
|
||||||
|
z = ~
|
||||||
|
|
||||||
|
[ara_altgr:G]
|
||||||
|
' = ⟩
|
||||||
|
, = ٬
|
||||||
|
- = –
|
||||||
|
. = ژ
|
||||||
|
/ = ٭
|
||||||
|
1 = ١
|
||||||
|
2 = ٢
|
||||||
|
3 = ٣
|
||||||
|
4 = ٤
|
||||||
|
5 = ٥
|
||||||
|
6 = ٦
|
||||||
|
7 = ٧
|
||||||
|
8 = ٨
|
||||||
|
9 = ٩
|
||||||
|
0 = ̥
|
||||||
|
; = گ
|
||||||
|
= = ≠
|
||||||
|
[ = چ
|
||||||
|
\ = ⟨
|
||||||
|
f = پ
|
||||||
|
h = ٱ
|
||||||
|
k = ٫
|
||||||
|
n = ٰ
|
||||||
|
t = ڤ
|
||||||
|
x = «
|
||||||
|
z = »
|
||||||
|
|
||||||
|
[ara_altgr+ara_shift]
|
||||||
|
' =
|
||||||
|
- = ‑
|
||||||
|
/ =
|
||||||
|
5 = ‰
|
||||||
|
= = ≈
|
||||||
|
[ =
|
||||||
|
\ =
|
||||||
|
] =
|
||||||
|
e =
|
||||||
|
i =
|
||||||
|
p =
|
||||||
|
q =
|
||||||
|
r =
|
||||||
|
u =
|
||||||
|
w =
|
||||||
|
x = ‹
|
||||||
|
y =
|
||||||
|
z = ›
|
177
cros-keyboard-map/keyd/layouts/at
Normal file
177
cros-keyboard-map/keyd/layouts/at
Normal file
|
@ -0,0 +1,177 @@
|
||||||
|
[at:layout]
|
||||||
|
|
||||||
|
' = ä
|
||||||
|
, = ,
|
||||||
|
- = ß
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ö
|
||||||
|
[ = ü
|
||||||
|
\ = #
|
||||||
|
] = +
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = z
|
||||||
|
z = y
|
||||||
|
shift = layer(at_shift)
|
||||||
|
altgr = layer(at_altgr)
|
||||||
|
|
||||||
|
[at_shift:S]
|
||||||
|
' = Ä
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = §
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = Ö
|
||||||
|
[ =
|
||||||
|
\ = '
|
||||||
|
] = *
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Z
|
||||||
|
z = Y
|
||||||
|
|
||||||
|
[at_altgr:G]
|
||||||
|
, = ·
|
||||||
|
- = \
|
||||||
|
. = …
|
||||||
|
/ = –
|
||||||
|
1 = ¹
|
||||||
|
2 = ²
|
||||||
|
3 = ³
|
||||||
|
4 = ¼
|
||||||
|
5 = ½
|
||||||
|
6 = ¬
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
\ = ’
|
||||||
|
] = ~
|
||||||
|
a = æ
|
||||||
|
b = “
|
||||||
|
c = ¢
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ”
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = @
|
||||||
|
r = ¶
|
||||||
|
s = ſ
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ſ
|
||||||
|
x = «
|
||||||
|
y = ←
|
||||||
|
z = »
|
||||||
|
|
||||||
|
[at_altgr+at_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
/ = —
|
||||||
|
1 = ¡
|
||||||
|
2 = ⅛
|
||||||
|
3 = £
|
||||||
|
4 = ¤
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
] = ¯
|
||||||
|
a = Æ
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = €
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = ‹
|
||||||
|
y = ¥
|
||||||
|
z = ›
|
95
cros-keyboard-map/keyd/layouts/au
Normal file
95
cros-keyboard-map/keyd/layouts/au
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[au:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(au_shift)
|
||||||
|
|
||||||
|
[au_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = |
|
||||||
|
] = }
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
95
cros-keyboard-map/keyd/layouts/az
Normal file
95
cros-keyboard-map/keyd/layouts/az
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[az:layout]
|
||||||
|
|
||||||
|
' = ə
|
||||||
|
, = ç
|
||||||
|
- = -
|
||||||
|
. = ş
|
||||||
|
/ = .
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ı
|
||||||
|
= = =
|
||||||
|
[ = ö
|
||||||
|
\ = \
|
||||||
|
] = ğ
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = ü
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(az_shift)
|
||||||
|
|
||||||
|
[az_shift:S]
|
||||||
|
' = Ə
|
||||||
|
, = Ç
|
||||||
|
- = _
|
||||||
|
. = Ş
|
||||||
|
/ = ,
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = Ⅶ
|
||||||
|
4 = ;
|
||||||
|
5 = %
|
||||||
|
6 = :
|
||||||
|
7 = ?
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = I
|
||||||
|
= = +
|
||||||
|
[ = Ö
|
||||||
|
\ = /
|
||||||
|
] = Ğ
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = İ
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w =
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
171
cros-keyboard-map/keyd/layouts/ba
Normal file
171
cros-keyboard-map/keyd/layouts/ba
Normal file
|
@ -0,0 +1,171 @@
|
||||||
|
[ba:layout]
|
||||||
|
|
||||||
|
' = ć
|
||||||
|
, = ,
|
||||||
|
- = '
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = č
|
||||||
|
= = +
|
||||||
|
[ = š
|
||||||
|
\ = ž
|
||||||
|
] = đ
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = z
|
||||||
|
z = y
|
||||||
|
shift = layer(ba_shift)
|
||||||
|
altgr = layer(ba_altgr)
|
||||||
|
|
||||||
|
[ba_shift:S]
|
||||||
|
' = Ć
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = Č
|
||||||
|
= = *
|
||||||
|
[ = Š
|
||||||
|
\ = Ž
|
||||||
|
] = Đ
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Z
|
||||||
|
z = Y
|
||||||
|
|
||||||
|
[ba_altgr:G]
|
||||||
|
' = ß
|
||||||
|
, = <
|
||||||
|
. = >
|
||||||
|
/ = —
|
||||||
|
[ = ÷
|
||||||
|
\ = ¤
|
||||||
|
] = ×
|
||||||
|
a = æ
|
||||||
|
b = {
|
||||||
|
c = ¢
|
||||||
|
d = “
|
||||||
|
e = €
|
||||||
|
f = [
|
||||||
|
g = ]
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ł
|
||||||
|
l = ł
|
||||||
|
m = §
|
||||||
|
n = }
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = \
|
||||||
|
r = ¶
|
||||||
|
s = „
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = @
|
||||||
|
w = |
|
||||||
|
x = ’
|
||||||
|
y = ←
|
||||||
|
z = ‘
|
||||||
|
|
||||||
|
[ba_altgr+ba_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¨
|
||||||
|
. = ÷
|
||||||
|
/ = –
|
||||||
|
1 = ~
|
||||||
|
2 = ˇ
|
||||||
|
3 = ^
|
||||||
|
4 = ˘
|
||||||
|
5 = °
|
||||||
|
6 = ˛
|
||||||
|
7 = `
|
||||||
|
8 = ˙
|
||||||
|
9 = '
|
||||||
|
= = ¸
|
||||||
|
a = Æ
|
||||||
|
b = '
|
||||||
|
c = ©
|
||||||
|
d = «
|
||||||
|
e = €
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = }
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = »
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = `
|
||||||
|
w = Ł
|
||||||
|
x = «
|
||||||
|
y = ¥
|
||||||
|
z = »
|
135
cros-keyboard-map/keyd/layouts/bd
Normal file
135
cros-keyboard-map/keyd/layouts/bd
Normal file
|
@ -0,0 +1,135 @@
|
||||||
|
[bd:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = ১
|
||||||
|
2 = ২
|
||||||
|
3 = ৩
|
||||||
|
4 = ৪
|
||||||
|
5 = ৫
|
||||||
|
6 = ৬
|
||||||
|
7 = ৭
|
||||||
|
8 = ৮
|
||||||
|
9 = ৯
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = ৃ
|
||||||
|
b = ন
|
||||||
|
c = ে
|
||||||
|
d = ি
|
||||||
|
e = ড
|
||||||
|
f = ব
|
||||||
|
g = ্
|
||||||
|
h = া
|
||||||
|
i = হ
|
||||||
|
j = ক
|
||||||
|
k = ত
|
||||||
|
l = দ
|
||||||
|
m = ম
|
||||||
|
n = স
|
||||||
|
o = গ
|
||||||
|
p = ড়
|
||||||
|
q = ঙ
|
||||||
|
r = প
|
||||||
|
s = ু
|
||||||
|
t = ট
|
||||||
|
u = জ
|
||||||
|
v = র
|
||||||
|
w = য
|
||||||
|
x = ো
|
||||||
|
y = চ
|
||||||
|
z = ঁ
|
||||||
|
shift = layer(bd_shift)
|
||||||
|
altgr = layer(bd_altgr)
|
||||||
|
|
||||||
|
[bd_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = |
|
||||||
|
] = }
|
||||||
|
a = ৗ
|
||||||
|
b = ণ
|
||||||
|
c = ৈ
|
||||||
|
d = ী
|
||||||
|
e = ঢ
|
||||||
|
f = ভ
|
||||||
|
g = ।
|
||||||
|
h = অ
|
||||||
|
i = ঞ
|
||||||
|
j = খ
|
||||||
|
k = থ
|
||||||
|
l = ধ
|
||||||
|
m = শ
|
||||||
|
n = ষ
|
||||||
|
o = ঘ
|
||||||
|
p = ঢ়
|
||||||
|
q = ং
|
||||||
|
r = ফ
|
||||||
|
s = ূ
|
||||||
|
t = ঠ
|
||||||
|
u = ঝ
|
||||||
|
v = ল
|
||||||
|
w = য়
|
||||||
|
x = ৌ
|
||||||
|
y = ছ
|
||||||
|
z = ঃ
|
||||||
|
|
||||||
|
[bd_altgr:G]
|
||||||
|
- =
|
||||||
|
. = ়
|
||||||
|
1 = ৴
|
||||||
|
2 = ৵
|
||||||
|
3 = ৶
|
||||||
|
4 = ৳
|
||||||
|
5 = ৷
|
||||||
|
6 = ৸
|
||||||
|
7 = ं
|
||||||
|
= =
|
||||||
|
a = ঋ
|
||||||
|
c = এ
|
||||||
|
d = ই
|
||||||
|
e = ৄ
|
||||||
|
f = ৰ
|
||||||
|
g = ॥
|
||||||
|
h = আ
|
||||||
|
i = ঽ
|
||||||
|
j =
|
||||||
|
k = ৎ
|
||||||
|
l = ঌ
|
||||||
|
q = ৢ
|
||||||
|
s = উ
|
||||||
|
x = ও
|
||||||
|
z = ৺
|
||||||
|
|
||||||
|
[bd_altgr+bd_shift]
|
||||||
|
4 = ৲
|
||||||
|
6 =
|
||||||
|
a = ৠ
|
||||||
|
c = ঐ
|
||||||
|
d = ঈ
|
||||||
|
f = ৱ
|
||||||
|
l = ৡ
|
||||||
|
q = ৣ
|
||||||
|
s = ঊ
|
||||||
|
x = ঔ
|
173
cros-keyboard-map/keyd/layouts/be
Normal file
173
cros-keyboard-map/keyd/layouts/be
Normal file
|
@ -0,0 +1,173 @@
|
||||||
|
[be:layout]
|
||||||
|
|
||||||
|
' = ù
|
||||||
|
, = ;
|
||||||
|
- = )
|
||||||
|
. = :
|
||||||
|
/ = =
|
||||||
|
1 = &
|
||||||
|
2 = é
|
||||||
|
3 = "
|
||||||
|
4 = '
|
||||||
|
5 = (
|
||||||
|
6 = §
|
||||||
|
7 = è
|
||||||
|
8 = !
|
||||||
|
9 = ç
|
||||||
|
; = m
|
||||||
|
= = -
|
||||||
|
\ = µ
|
||||||
|
] = $
|
||||||
|
a = q
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = ,
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = a
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = z
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = w
|
||||||
|
shift = layer(be_shift)
|
||||||
|
altgr = layer(be_altgr)
|
||||||
|
|
||||||
|
[be_shift:S]
|
||||||
|
' = %
|
||||||
|
, = .
|
||||||
|
- = °
|
||||||
|
. = /
|
||||||
|
/ = +
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = M
|
||||||
|
= = _
|
||||||
|
\ = £
|
||||||
|
] = *
|
||||||
|
a = Q
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = ?
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = A
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = Z
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = W
|
||||||
|
|
||||||
|
[be_altgr:G]
|
||||||
|
, = •
|
||||||
|
- = \
|
||||||
|
. = ·
|
||||||
|
1 = |
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = ¼
|
||||||
|
5 = ½
|
||||||
|
6 = ^
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = {
|
||||||
|
[ = [
|
||||||
|
] = ]
|
||||||
|
a = æ
|
||||||
|
b = “
|
||||||
|
c = ¢
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
n = ”
|
||||||
|
o = œ
|
||||||
|
p = þ
|
||||||
|
q = @
|
||||||
|
r = ¶
|
||||||
|
s = ß
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ſ
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[be_altgr+be_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
1 = ¡
|
||||||
|
2 = ⅛
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
a = Æ
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = ¢
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Œ
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
136
cros-keyboard-map/keyd/layouts/bg
Normal file
136
cros-keyboard-map/keyd/layouts/bg
Normal file
|
@ -0,0 +1,136 @@
|
||||||
|
[bg:layout]
|
||||||
|
|
||||||
|
' = ч
|
||||||
|
, = р
|
||||||
|
- = -
|
||||||
|
. = л
|
||||||
|
/ = б
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = м
|
||||||
|
= = .
|
||||||
|
[ = ц
|
||||||
|
\ = „
|
||||||
|
] = ;
|
||||||
|
a = ь
|
||||||
|
b = ф
|
||||||
|
c = ъ
|
||||||
|
d = а
|
||||||
|
e = е
|
||||||
|
f = о
|
||||||
|
g = ж
|
||||||
|
h = г
|
||||||
|
i = с
|
||||||
|
j = т
|
||||||
|
k = н
|
||||||
|
l = в
|
||||||
|
m = п
|
||||||
|
n = х
|
||||||
|
o = д
|
||||||
|
p = з
|
||||||
|
q = ,
|
||||||
|
r = и
|
||||||
|
s = я
|
||||||
|
t = ш
|
||||||
|
u = к
|
||||||
|
v = э
|
||||||
|
w = у
|
||||||
|
x = й
|
||||||
|
y = щ
|
||||||
|
z = ю
|
||||||
|
shift = layer(bg_shift)
|
||||||
|
altgr = layer(bg_altgr)
|
||||||
|
|
||||||
|
[bg_shift:S]
|
||||||
|
' = Ч
|
||||||
|
, = Р
|
||||||
|
- = $
|
||||||
|
. = Л
|
||||||
|
/ = Б
|
||||||
|
1 = !
|
||||||
|
2 = ?
|
||||||
|
3 = +
|
||||||
|
4 = "
|
||||||
|
5 = %
|
||||||
|
6 = =
|
||||||
|
7 = :
|
||||||
|
8 = /
|
||||||
|
9 = –
|
||||||
|
; = М
|
||||||
|
= = €
|
||||||
|
[ = Ц
|
||||||
|
\ = “
|
||||||
|
] = §
|
||||||
|
a = ѝ
|
||||||
|
b = Ф
|
||||||
|
c = Ъ
|
||||||
|
d = А
|
||||||
|
e = Е
|
||||||
|
f = О
|
||||||
|
g = Ж
|
||||||
|
h = Г
|
||||||
|
i = С
|
||||||
|
j = Т
|
||||||
|
k = Н
|
||||||
|
l = В
|
||||||
|
m = П
|
||||||
|
n = Х
|
||||||
|
o = Д
|
||||||
|
p = З
|
||||||
|
q = ы
|
||||||
|
r = И
|
||||||
|
s = Я
|
||||||
|
t = Ш
|
||||||
|
u = К
|
||||||
|
v = Э
|
||||||
|
w = У
|
||||||
|
x = Й
|
||||||
|
y = Щ
|
||||||
|
z = Ю
|
||||||
|
|
||||||
|
[bg_altgr:G]
|
||||||
|
, = ®
|
||||||
|
- = ‑
|
||||||
|
3 = †
|
||||||
|
5 = 〈
|
||||||
|
6 = —
|
||||||
|
7 = …
|
||||||
|
8 = ̀
|
||||||
|
\ = «
|
||||||
|
a = ы
|
||||||
|
c = ѫ
|
||||||
|
e = э
|
||||||
|
i = ©
|
||||||
|
j = ™
|
||||||
|
q = ’
|
||||||
|
r = ѝ
|
||||||
|
s = ѣ
|
||||||
|
u = ©
|
||||||
|
x = ѭ
|
||||||
|
|
||||||
|
[bg_altgr+bg_shift]
|
||||||
|
, = ®
|
||||||
|
- = €
|
||||||
|
3 = †
|
||||||
|
5 = 〉
|
||||||
|
6 = —
|
||||||
|
7 = …
|
||||||
|
8 = ́
|
||||||
|
\ = »
|
||||||
|
a = Ы
|
||||||
|
c = Ѫ
|
||||||
|
e = Э
|
||||||
|
i = ©
|
||||||
|
j = ™
|
||||||
|
q = ‘
|
||||||
|
r = Ѝ
|
||||||
|
s = Ѣ
|
||||||
|
u = ©
|
||||||
|
x = Ѭ
|
177
cros-keyboard-map/keyd/layouts/br
Normal file
177
cros-keyboard-map/keyd/layouts/br
Normal file
|
@ -0,0 +1,177 @@
|
||||||
|
[br:layout]
|
||||||
|
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = ;
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ç
|
||||||
|
= = =
|
||||||
|
\ = ]
|
||||||
|
] = [
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(br_shift)
|
||||||
|
altgr = layer(br_altgr)
|
||||||
|
|
||||||
|
[br_shift:S]
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = :
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = Ç
|
||||||
|
= = +
|
||||||
|
\ = }
|
||||||
|
] = {
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[br_altgr:G]
|
||||||
|
' = ~
|
||||||
|
, = •
|
||||||
|
- = \
|
||||||
|
. = ·
|
||||||
|
1 = ¹
|
||||||
|
2 = ²
|
||||||
|
3 = ³
|
||||||
|
4 = £
|
||||||
|
5 = ¢
|
||||||
|
6 = ¬
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
= = §
|
||||||
|
[ = ´
|
||||||
|
\ = º
|
||||||
|
] = ª
|
||||||
|
a = æ
|
||||||
|
b = “
|
||||||
|
c = ©
|
||||||
|
d = ð
|
||||||
|
e = °
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ”
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = /
|
||||||
|
r = ®
|
||||||
|
s = ß
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ?
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[br_altgr+br_shift]
|
||||||
|
' = ^
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
1 = ¡
|
||||||
|
2 = ½
|
||||||
|
3 = ¾
|
||||||
|
4 = ¼
|
||||||
|
5 = ⅜
|
||||||
|
6 = ¨
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
[ = `
|
||||||
|
\ = º
|
||||||
|
a = Æ
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = °
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = µ
|
||||||
|
n = ’
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = /
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = ?
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
7
cros-keyboard-map/keyd/layouts/brai
Normal file
7
cros-keyboard-map/keyd/layouts/brai
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
[brai:layout]
|
||||||
|
|
||||||
|
\ = \
|
||||||
|
shift = layer(brai_shift)
|
||||||
|
|
||||||
|
[brai_shift:S]
|
||||||
|
\ = |
|
183
cros-keyboard-map/keyd/layouts/bt
Normal file
183
cros-keyboard-map/keyd/layouts/bt
Normal file
|
@ -0,0 +1,183 @@
|
||||||
|
[bt:layout]
|
||||||
|
|
||||||
|
' = ཛ
|
||||||
|
, = ས
|
||||||
|
- = ༔
|
||||||
|
. = ཧ
|
||||||
|
/ = ཨ
|
||||||
|
1 = ༡
|
||||||
|
2 = ༢
|
||||||
|
3 = ༣
|
||||||
|
4 = ༤
|
||||||
|
5 = ༥
|
||||||
|
6 = ༦
|
||||||
|
7 = ༧
|
||||||
|
8 = ༨
|
||||||
|
9 = ༩
|
||||||
|
; = ཚ
|
||||||
|
= = །
|
||||||
|
[ = ཇ
|
||||||
|
\ = ཝ
|
||||||
|
] = ཉ
|
||||||
|
a = ཏ
|
||||||
|
b = ར
|
||||||
|
c = འ
|
||||||
|
d = ད
|
||||||
|
e = ག
|
||||||
|
f = ན
|
||||||
|
g = པ
|
||||||
|
h = ཕ
|
||||||
|
i = ོ
|
||||||
|
j = བ
|
||||||
|
k = མ
|
||||||
|
l = ཙ
|
||||||
|
m = ཤ
|
||||||
|
n = ལ
|
||||||
|
o = ཅ
|
||||||
|
p = ཆ
|
||||||
|
q = ཀ
|
||||||
|
r = ང
|
||||||
|
s = ཐ
|
||||||
|
t = ི
|
||||||
|
u = ེ
|
||||||
|
v = ཡ
|
||||||
|
w = ཁ
|
||||||
|
x = ཟ
|
||||||
|
y = ུ
|
||||||
|
z = ཞ
|
||||||
|
shift = layer(bt_shift)
|
||||||
|
altgr = layer(bt_altgr)
|
||||||
|
|
||||||
|
[bt_shift:S]
|
||||||
|
' = ྫ
|
||||||
|
, = ྶ
|
||||||
|
- = ཿ
|
||||||
|
. = ྷ
|
||||||
|
/ = ྸ
|
||||||
|
1 = ༄
|
||||||
|
2 = ༅
|
||||||
|
3 = ༆
|
||||||
|
4 =
|
||||||
|
5 =
|
||||||
|
6 = ༈
|
||||||
|
7 = ༸
|
||||||
|
8 = ༴
|
||||||
|
9 = ༼
|
||||||
|
; = ྪ
|
||||||
|
= = ༑
|
||||||
|
[ = ྗ
|
||||||
|
\ = ྭ
|
||||||
|
] = ྙ
|
||||||
|
a = ྟ
|
||||||
|
b = ྲ
|
||||||
|
c = ཱ
|
||||||
|
d = ྡ
|
||||||
|
e = ྒ
|
||||||
|
f = ྣ
|
||||||
|
g = ྤ
|
||||||
|
h = ྥ
|
||||||
|
i = ཽ
|
||||||
|
j = ྦ
|
||||||
|
k = ྨ
|
||||||
|
l = ྩ
|
||||||
|
m = ྴ
|
||||||
|
n = ླ
|
||||||
|
o = ྕ
|
||||||
|
p = ྖ
|
||||||
|
q = ྐ
|
||||||
|
r = ྔ
|
||||||
|
s = ྠ
|
||||||
|
t = ྀ
|
||||||
|
u = ཻ
|
||||||
|
v = ྱ
|
||||||
|
w = ྑ
|
||||||
|
x = ྯ
|
||||||
|
y = ྄
|
||||||
|
z = ྮ
|
||||||
|
|
||||||
|
[bt_altgr:G]
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = :
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = ཊ
|
||||||
|
b = ཪ
|
||||||
|
c = ༃
|
||||||
|
d = ཌ
|
||||||
|
e =
|
||||||
|
f = ཎ
|
||||||
|
g = ‹
|
||||||
|
h = ›
|
||||||
|
i = ༝
|
||||||
|
j = ༷
|
||||||
|
k = ཾ
|
||||||
|
l = ༹
|
||||||
|
m = ཥ
|
||||||
|
n = ྊ
|
||||||
|
o = ༞
|
||||||
|
p = ༟
|
||||||
|
q = ྈ
|
||||||
|
r = ྃ
|
||||||
|
s = ཋ
|
||||||
|
t = ༚
|
||||||
|
u = ༜
|
||||||
|
v = ༒
|
||||||
|
w = ྉ
|
||||||
|
x = ྾
|
||||||
|
y = ༛
|
||||||
|
z = ༓
|
||||||
|
|
||||||
|
[bt_altgr+bt_shift]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ༁
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = ;
|
||||||
|
= = +
|
||||||
|
[ = ༾
|
||||||
|
\ = ྺ
|
||||||
|
] = ༿
|
||||||
|
a = ྚ
|
||||||
|
b = ྼ
|
||||||
|
c = ྰ
|
||||||
|
d = ྜ
|
||||||
|
e =
|
||||||
|
f = ྞ
|
||||||
|
g = «
|
||||||
|
h = »
|
||||||
|
i = ༗
|
||||||
|
j = ༵
|
||||||
|
m = ྵ
|
||||||
|
n = ྋ
|
||||||
|
o = ༘
|
||||||
|
p = ༙
|
||||||
|
r = ྂ
|
||||||
|
s = ྛ
|
||||||
|
v = ྻ
|
||||||
|
x = ྿
|
||||||
|
z = ༶
|
110
cros-keyboard-map/keyd/layouts/bw
Normal file
110
cros-keyboard-map/keyd/layouts/bw
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
[bw:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(bw_shift)
|
||||||
|
altgr = layer(bw_altgr)
|
||||||
|
|
||||||
|
[bw_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = |
|
||||||
|
] = }
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[bw_altgr:G]
|
||||||
|
' = ́
|
||||||
|
- = ̄
|
||||||
|
6 = ̂
|
||||||
|
8 = ̇
|
||||||
|
9 = ̆
|
||||||
|
; = ̤
|
||||||
|
|
||||||
|
[bw_altgr+bw_shift]
|
||||||
|
' = ̈
|
||||||
|
- = ̱
|
||||||
|
8 = ̣
|
||||||
|
; = ̤
|
101
cros-keyboard-map/keyd/layouts/by
Normal file
101
cros-keyboard-map/keyd/layouts/by
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
[by:layout]
|
||||||
|
|
||||||
|
' = э
|
||||||
|
, = б
|
||||||
|
- = -
|
||||||
|
. = ю
|
||||||
|
/ = .
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ж
|
||||||
|
= = =
|
||||||
|
[ = х
|
||||||
|
\ = \
|
||||||
|
] = '
|
||||||
|
a = ф
|
||||||
|
b = і
|
||||||
|
c = с
|
||||||
|
d = в
|
||||||
|
e = у
|
||||||
|
f = а
|
||||||
|
g = п
|
||||||
|
h = р
|
||||||
|
i = ш
|
||||||
|
j = о
|
||||||
|
k = л
|
||||||
|
l = д
|
||||||
|
m = ь
|
||||||
|
n = т
|
||||||
|
o = ў
|
||||||
|
p = з
|
||||||
|
q = й
|
||||||
|
r = к
|
||||||
|
s = ы
|
||||||
|
t = е
|
||||||
|
u = г
|
||||||
|
v = м
|
||||||
|
w = ц
|
||||||
|
x = ч
|
||||||
|
y = н
|
||||||
|
z = я
|
||||||
|
shift = layer(by_shift)
|
||||||
|
altgr = layer(by_altgr)
|
||||||
|
|
||||||
|
[by_shift:S]
|
||||||
|
' = Э
|
||||||
|
, = Б
|
||||||
|
- = _
|
||||||
|
. = Ю
|
||||||
|
/ = ,
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = №
|
||||||
|
4 = ;
|
||||||
|
5 = %
|
||||||
|
6 = :
|
||||||
|
7 = ?
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = Ж
|
||||||
|
= = +
|
||||||
|
[ = Х
|
||||||
|
\ = /
|
||||||
|
] = '
|
||||||
|
a = Ф
|
||||||
|
b = І
|
||||||
|
c = С
|
||||||
|
d = В
|
||||||
|
e = У
|
||||||
|
f = А
|
||||||
|
g = П
|
||||||
|
h = Р
|
||||||
|
i = Ш
|
||||||
|
j = О
|
||||||
|
k = Л
|
||||||
|
l = Д
|
||||||
|
m = Ь
|
||||||
|
n = Т
|
||||||
|
o = Ў
|
||||||
|
p = З
|
||||||
|
q = Й
|
||||||
|
r = К
|
||||||
|
s = Ы
|
||||||
|
t = Е
|
||||||
|
u = Г
|
||||||
|
v = М
|
||||||
|
w = Ц
|
||||||
|
x = Ч
|
||||||
|
y = Н
|
||||||
|
z = Я
|
||||||
|
|
||||||
|
[by_altgr:G]
|
||||||
|
8 = ₽
|
||||||
|
|
||||||
|
[by_altgr+by_shift]
|
115
cros-keyboard-map/keyd/layouts/ca
Normal file
115
cros-keyboard-map/keyd/layouts/ca
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
[ca:layout]
|
||||||
|
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = é
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
\ = <
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(ca_shift)
|
||||||
|
altgr = layer(ca_altgr)
|
||||||
|
|
||||||
|
[ca_shift:S]
|
||||||
|
, = '
|
||||||
|
- = _
|
||||||
|
. = .
|
||||||
|
/ = É
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = /
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ?
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
\ = >
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[ca_altgr:G]
|
||||||
|
' = {
|
||||||
|
, = ¯
|
||||||
|
- = ½
|
||||||
|
. =
|
||||||
|
1 = ±
|
||||||
|
2 = @
|
||||||
|
3 = £
|
||||||
|
4 = ¢
|
||||||
|
5 = ¤
|
||||||
|
6 = ¬
|
||||||
|
7 = ¦
|
||||||
|
8 = ²
|
||||||
|
9 = ³
|
||||||
|
; = ~
|
||||||
|
= = ¾
|
||||||
|
[ = [
|
||||||
|
\ = }
|
||||||
|
] = ]
|
||||||
|
m = µ
|
||||||
|
o = §
|
||||||
|
p = ¶
|
||||||
|
|
||||||
|
[ca_altgr+ca_shift]
|
130
cros-keyboard-map/keyd/layouts/cd
Normal file
130
cros-keyboard-map/keyd/layouts/cd
Normal file
|
@ -0,0 +1,130 @@
|
||||||
|
[cd:layout]
|
||||||
|
|
||||||
|
' = ɔ
|
||||||
|
, = ;
|
||||||
|
- = -
|
||||||
|
. = :
|
||||||
|
/ = !
|
||||||
|
1 = &
|
||||||
|
2 = ́
|
||||||
|
3 = ̀
|
||||||
|
4 = (
|
||||||
|
5 = {
|
||||||
|
6 = }
|
||||||
|
7 = )
|
||||||
|
8 = ̂
|
||||||
|
9 = ̌
|
||||||
|
; = m
|
||||||
|
= = =
|
||||||
|
[ = ɛ
|
||||||
|
\ = "
|
||||||
|
] = *
|
||||||
|
a = q
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = ,
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = a
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = z
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = w
|
||||||
|
shift = layer(cd_shift)
|
||||||
|
altgr = layer(cd_altgr)
|
||||||
|
|
||||||
|
[cd_shift:S]
|
||||||
|
' = Ɔ
|
||||||
|
, = .
|
||||||
|
- = _
|
||||||
|
. = /
|
||||||
|
/ = '
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = M
|
||||||
|
= = +
|
||||||
|
[ = Ɛ
|
||||||
|
\ = \
|
||||||
|
] = ^
|
||||||
|
a = Q
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = ?
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = A
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = Z
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = W
|
||||||
|
|
||||||
|
[cd_altgr:G]
|
||||||
|
- = %
|
||||||
|
/ = ’
|
||||||
|
1 = #
|
||||||
|
2 = @
|
||||||
|
3 = «
|
||||||
|
4 = [
|
||||||
|
5 = <
|
||||||
|
6 = >
|
||||||
|
7 = ]
|
||||||
|
8 = »
|
||||||
|
9 = ̍
|
||||||
|
= = ×
|
||||||
|
[ = ^
|
||||||
|
\ = |
|
||||||
|
] = $
|
||||||
|
e = œ
|
||||||
|
i = ɨ
|
||||||
|
m = ̧
|
||||||
|
n = ŋ
|
||||||
|
o = ø
|
||||||
|
q = æ
|
||||||
|
u = ʉ
|
||||||
|
|
||||||
|
[cd_altgr+cd_shift]
|
||||||
|
- = °
|
||||||
|
= = ÷
|
||||||
|
e = Œ
|
||||||
|
i = Ɨ
|
||||||
|
n = Ŋ
|
||||||
|
o = Ø
|
||||||
|
q = Æ
|
||||||
|
u = Ʉ
|
174
cros-keyboard-map/keyd/layouts/ch
Normal file
174
cros-keyboard-map/keyd/layouts/ch
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
[ch:layout]
|
||||||
|
|
||||||
|
' = ä
|
||||||
|
, = ,
|
||||||
|
- = '
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ö
|
||||||
|
[ = ü
|
||||||
|
\ = $
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = z
|
||||||
|
z = y
|
||||||
|
shift = layer(ch_shift)
|
||||||
|
altgr = layer(ch_altgr)
|
||||||
|
|
||||||
|
[ch_shift:S]
|
||||||
|
' = à
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = +
|
||||||
|
2 = "
|
||||||
|
3 = *
|
||||||
|
4 = ç
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = é
|
||||||
|
[ = è
|
||||||
|
\ = £
|
||||||
|
] = !
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Z
|
||||||
|
z = Y
|
||||||
|
|
||||||
|
[ch_altgr:G]
|
||||||
|
' = {
|
||||||
|
, = •
|
||||||
|
. = ·
|
||||||
|
1 = |
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = ¼
|
||||||
|
5 = ½
|
||||||
|
6 = ¬
|
||||||
|
7 = |
|
||||||
|
8 = ¢
|
||||||
|
9 = ]
|
||||||
|
[ = [
|
||||||
|
\ = }
|
||||||
|
] = ]
|
||||||
|
a = æ
|
||||||
|
b = “
|
||||||
|
c = ¢
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ”
|
||||||
|
o = œ
|
||||||
|
p = þ
|
||||||
|
q = @
|
||||||
|
r = ¶
|
||||||
|
s = ß
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ſ
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[ch_altgr+ch_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
1 = ¡
|
||||||
|
2 = ⅛
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
a = Æ
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = E
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Œ
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
95
cros-keyboard-map/keyd/layouts/cm
Normal file
95
cros-keyboard-map/keyd/layouts/cm
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[cm:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(cm_shift)
|
||||||
|
|
||||||
|
[cm_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = |
|
||||||
|
] = }
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
95
cros-keyboard-map/keyd/layouts/cn
Normal file
95
cros-keyboard-map/keyd/layouts/cn
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[cn:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(cn_shift)
|
||||||
|
|
||||||
|
[cn_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = |
|
||||||
|
] = }
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
35
cros-keyboard-map/keyd/layouts/colemak
Normal file
35
cros-keyboard-map/keyd/layouts/colemak
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
[colemak:layout]
|
||||||
|
|
||||||
|
w = w
|
||||||
|
, = ,
|
||||||
|
s = r
|
||||||
|
a = a
|
||||||
|
c = c
|
||||||
|
g = d
|
||||||
|
q = q
|
||||||
|
e = f
|
||||||
|
] = ]
|
||||||
|
d = s
|
||||||
|
/ = /
|
||||||
|
; = o
|
||||||
|
' = '
|
||||||
|
r = p
|
||||||
|
f = t
|
||||||
|
t = g
|
||||||
|
u = l
|
||||||
|
. = .
|
||||||
|
j = n
|
||||||
|
k = e
|
||||||
|
p = ;
|
||||||
|
o = y
|
||||||
|
z = z
|
||||||
|
h = h
|
||||||
|
i = u
|
||||||
|
[ = [
|
||||||
|
v = v
|
||||||
|
l = i
|
||||||
|
m = m
|
||||||
|
n = k
|
||||||
|
x = x
|
||||||
|
b = b
|
||||||
|
y = j
|
172
cros-keyboard-map/keyd/layouts/cz
Normal file
172
cros-keyboard-map/keyd/layouts/cz
Normal file
|
@ -0,0 +1,172 @@
|
||||||
|
[cz:layout]
|
||||||
|
|
||||||
|
' = §
|
||||||
|
, = ,
|
||||||
|
- = =
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = +
|
||||||
|
2 = ě
|
||||||
|
3 = š
|
||||||
|
4 = č
|
||||||
|
5 = ř
|
||||||
|
6 = ž
|
||||||
|
7 = ý
|
||||||
|
8 = á
|
||||||
|
9 = í
|
||||||
|
; = ů
|
||||||
|
[ = ú
|
||||||
|
] = )
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = z
|
||||||
|
z = y
|
||||||
|
shift = layer(cz_shift)
|
||||||
|
altgr = layer(cz_altgr)
|
||||||
|
|
||||||
|
[cz_shift:S]
|
||||||
|
' = !
|
||||||
|
, = ?
|
||||||
|
- = %
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = "
|
||||||
|
[ = /
|
||||||
|
\ = '
|
||||||
|
] = (
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Z
|
||||||
|
z = Y
|
||||||
|
|
||||||
|
[cz_altgr:G]
|
||||||
|
' = '
|
||||||
|
, = <
|
||||||
|
- = \
|
||||||
|
. = >
|
||||||
|
/ = *
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = {
|
||||||
|
; = $
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = ~
|
||||||
|
b = {
|
||||||
|
c = &
|
||||||
|
d = Đ
|
||||||
|
e = €
|
||||||
|
f = [
|
||||||
|
g = ]
|
||||||
|
h = `
|
||||||
|
i = →
|
||||||
|
j = '
|
||||||
|
k = ł
|
||||||
|
l = Ł
|
||||||
|
m = ^
|
||||||
|
n = }
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = \
|
||||||
|
r = ¶
|
||||||
|
s = đ
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = @
|
||||||
|
w = |
|
||||||
|
x = #
|
||||||
|
y = ←
|
||||||
|
z = °
|
||||||
|
|
||||||
|
[cz_altgr+cz_shift]
|
||||||
|
' = ß
|
||||||
|
, = ×
|
||||||
|
. = ÷
|
||||||
|
[ = ÷
|
||||||
|
\ = |
|
||||||
|
] = ×
|
||||||
|
a = Æ
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = E
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
177
cros-keyboard-map/keyd/layouts/de
Normal file
177
cros-keyboard-map/keyd/layouts/de
Normal file
|
@ -0,0 +1,177 @@
|
||||||
|
[de:layout]
|
||||||
|
|
||||||
|
' = ä
|
||||||
|
, = ,
|
||||||
|
- = ß
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ö
|
||||||
|
[ = ü
|
||||||
|
\ = #
|
||||||
|
] = +
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = z
|
||||||
|
z = y
|
||||||
|
shift = layer(de_shift)
|
||||||
|
altgr = layer(de_altgr)
|
||||||
|
|
||||||
|
[de_shift:S]
|
||||||
|
' = Ä
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = §
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = Ö
|
||||||
|
[ =
|
||||||
|
\ = '
|
||||||
|
] = *
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Z
|
||||||
|
z = Y
|
||||||
|
|
||||||
|
[de_altgr:G]
|
||||||
|
, = ·
|
||||||
|
- = \
|
||||||
|
. = …
|
||||||
|
/ = –
|
||||||
|
1 = ¹
|
||||||
|
2 = ²
|
||||||
|
3 = ³
|
||||||
|
4 = ¼
|
||||||
|
5 = ½
|
||||||
|
6 = ¬
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
\ = ’
|
||||||
|
] = ~
|
||||||
|
a = æ
|
||||||
|
b = “
|
||||||
|
c = ¢
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ”
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = @
|
||||||
|
r = ¶
|
||||||
|
s = ſ
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ſ
|
||||||
|
x = «
|
||||||
|
y = ←
|
||||||
|
z = »
|
||||||
|
|
||||||
|
[de_altgr+de_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
/ = —
|
||||||
|
1 = ¡
|
||||||
|
2 = ⅛
|
||||||
|
3 = £
|
||||||
|
4 = ¤
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
] = ¯
|
||||||
|
a = Æ
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = €
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = ‹
|
||||||
|
y = ¥
|
||||||
|
z = ›
|
170
cros-keyboard-map/keyd/layouts/dk
Normal file
170
cros-keyboard-map/keyd/layouts/dk
Normal file
|
@ -0,0 +1,170 @@
|
||||||
|
[dk:layout]
|
||||||
|
|
||||||
|
' = ø
|
||||||
|
, = ,
|
||||||
|
- = +
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = æ
|
||||||
|
[ = å
|
||||||
|
\ = '
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(dk_shift)
|
||||||
|
altgr = layer(dk_altgr)
|
||||||
|
|
||||||
|
[dk_shift:S]
|
||||||
|
' = Ø
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = #
|
||||||
|
4 = ¤
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = Æ
|
||||||
|
[ = Å
|
||||||
|
\ = *
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[dk_altgr:G]
|
||||||
|
- = ±
|
||||||
|
. = ·
|
||||||
|
1 = ¡
|
||||||
|
2 = @
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = ½
|
||||||
|
6 = ¥
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
= = |
|
||||||
|
a = ª
|
||||||
|
b = “
|
||||||
|
c = ©
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ”
|
||||||
|
o = œ
|
||||||
|
p = þ
|
||||||
|
q = @
|
||||||
|
r = ®
|
||||||
|
s = ß
|
||||||
|
t = þ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ſ
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[dk_altgr+dk_shift]
|
||||||
|
- = ¿
|
||||||
|
1 = ¹
|
||||||
|
2 = ²
|
||||||
|
3 = ³
|
||||||
|
4 = ¼
|
||||||
|
5 = ¢
|
||||||
|
6 = ⅝
|
||||||
|
7 = ÷
|
||||||
|
8 = «
|
||||||
|
9 = »
|
||||||
|
= = ¦
|
||||||
|
\ = ×
|
||||||
|
a = º
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = ¢
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Œ
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Þ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
95
cros-keyboard-map/keyd/layouts/dvorak
Normal file
95
cros-keyboard-map/keyd/layouts/dvorak
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[dvorak:layout]
|
||||||
|
|
||||||
|
' = -
|
||||||
|
, = w
|
||||||
|
- = [
|
||||||
|
. = v
|
||||||
|
/ = z
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = s
|
||||||
|
= = ]
|
||||||
|
[ = /
|
||||||
|
\ = \
|
||||||
|
] = =
|
||||||
|
a = a
|
||||||
|
b = x
|
||||||
|
c = j
|
||||||
|
d = e
|
||||||
|
e = .
|
||||||
|
f = u
|
||||||
|
g = i
|
||||||
|
h = d
|
||||||
|
i = c
|
||||||
|
j = h
|
||||||
|
k = t
|
||||||
|
l = n
|
||||||
|
m = m
|
||||||
|
n = b
|
||||||
|
o = r
|
||||||
|
p = l
|
||||||
|
q = '
|
||||||
|
r = p
|
||||||
|
s = o
|
||||||
|
t = y
|
||||||
|
u = g
|
||||||
|
v = k
|
||||||
|
w = ,
|
||||||
|
x = q
|
||||||
|
y = f
|
||||||
|
z = ;
|
||||||
|
shift = layer(dvorak_shift)
|
||||||
|
|
||||||
|
[dvorak_shift:S]
|
||||||
|
' = _
|
||||||
|
, = W
|
||||||
|
- = {
|
||||||
|
. = V
|
||||||
|
/ = Z
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = S
|
||||||
|
= = }
|
||||||
|
[ = ?
|
||||||
|
\ = |
|
||||||
|
] = +
|
||||||
|
a = A
|
||||||
|
b = X
|
||||||
|
c = J
|
||||||
|
d = E
|
||||||
|
e = >
|
||||||
|
f = U
|
||||||
|
g = I
|
||||||
|
h = D
|
||||||
|
i = C
|
||||||
|
j = H
|
||||||
|
k = T
|
||||||
|
l = N
|
||||||
|
m = M
|
||||||
|
n = B
|
||||||
|
o = R
|
||||||
|
p = L
|
||||||
|
q = "
|
||||||
|
r = P
|
||||||
|
s = O
|
||||||
|
t = Y
|
||||||
|
u = G
|
||||||
|
v = K
|
||||||
|
w = <
|
||||||
|
x = Q
|
||||||
|
y = F
|
||||||
|
z = :
|
180
cros-keyboard-map/keyd/layouts/dz
Normal file
180
cros-keyboard-map/keyd/layouts/dz
Normal file
|
@ -0,0 +1,180 @@
|
||||||
|
[dz:layout]
|
||||||
|
|
||||||
|
' = ù
|
||||||
|
, = ;
|
||||||
|
- = )
|
||||||
|
. = :
|
||||||
|
/ = !
|
||||||
|
1 = &
|
||||||
|
2 = é
|
||||||
|
3 = "
|
||||||
|
4 = '
|
||||||
|
5 = (
|
||||||
|
6 = -
|
||||||
|
7 = è
|
||||||
|
8 = _
|
||||||
|
9 = ç
|
||||||
|
; = m
|
||||||
|
= = =
|
||||||
|
\ = *
|
||||||
|
] = $
|
||||||
|
a = q
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = ,
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = a
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = z
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = w
|
||||||
|
shift = layer(dz_shift)
|
||||||
|
altgr = layer(dz_altgr)
|
||||||
|
|
||||||
|
[dz_shift:S]
|
||||||
|
' = %
|
||||||
|
, = .
|
||||||
|
- = °
|
||||||
|
. = /
|
||||||
|
/ = §
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = M
|
||||||
|
= = +
|
||||||
|
\ = µ
|
||||||
|
] = £
|
||||||
|
a = Q
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = ?
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = A
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = Z
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = W
|
||||||
|
|
||||||
|
[dz_altgr:G]
|
||||||
|
, = ×
|
||||||
|
- = ]
|
||||||
|
. = ÷
|
||||||
|
/ = ¡
|
||||||
|
2 = ~
|
||||||
|
3 = #
|
||||||
|
4 = {
|
||||||
|
5 = [
|
||||||
|
6 = |
|
||||||
|
7 = `
|
||||||
|
8 = \
|
||||||
|
9 = ^
|
||||||
|
; = ö
|
||||||
|
= = }
|
||||||
|
] = ø
|
||||||
|
a = ä
|
||||||
|
b = ↓
|
||||||
|
c = č
|
||||||
|
d = ḍ
|
||||||
|
e = €
|
||||||
|
f = ‘
|
||||||
|
g = ǧ
|
||||||
|
h = ḥ
|
||||||
|
i = î
|
||||||
|
j = ü
|
||||||
|
k = ï
|
||||||
|
l = ŀ
|
||||||
|
m = ¿
|
||||||
|
n = ¬
|
||||||
|
o = ɛ
|
||||||
|
p = ô
|
||||||
|
q = æ
|
||||||
|
r = ṛ
|
||||||
|
s = ṣ
|
||||||
|
t = ṭ
|
||||||
|
u = û
|
||||||
|
v = ɣ
|
||||||
|
w = ẓ
|
||||||
|
x = »
|
||||||
|
y = ÿ
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[dz_altgr+dz_shift]
|
||||||
|
' = Ù
|
||||||
|
, = ⋅
|
||||||
|
- = ≠
|
||||||
|
. = ∕
|
||||||
|
/ = −
|
||||||
|
2 = É
|
||||||
|
4 = —
|
||||||
|
5 = –
|
||||||
|
6 = ‑
|
||||||
|
7 = È
|
||||||
|
8 = ™
|
||||||
|
9 = Ç
|
||||||
|
; = Ö
|
||||||
|
= = ±
|
||||||
|
] = Ø
|
||||||
|
a = Ä
|
||||||
|
b = ↑
|
||||||
|
c = Č
|
||||||
|
d = Ḍ
|
||||||
|
e = ¢
|
||||||
|
f = ‚
|
||||||
|
g = Ǧ
|
||||||
|
h = Ḥ
|
||||||
|
i = Î
|
||||||
|
j =
|
||||||
|
k = Ï
|
||||||
|
l = Ŀ
|
||||||
|
m = …
|
||||||
|
n = →
|
||||||
|
o = Ɛ
|
||||||
|
p = Ô
|
||||||
|
q = Æ
|
||||||
|
r = Ṛ
|
||||||
|
s = Ṣ
|
||||||
|
t = Ṭ
|
||||||
|
u =
|
||||||
|
v = Ɣ
|
||||||
|
w = Ẓ
|
||||||
|
x = ”
|
||||||
|
y = Ÿ
|
||||||
|
z = “
|
179
cros-keyboard-map/keyd/layouts/ee
Normal file
179
cros-keyboard-map/keyd/layouts/ee
Normal file
|
@ -0,0 +1,179 @@
|
||||||
|
[ee:layout]
|
||||||
|
|
||||||
|
' = ä
|
||||||
|
, = ,
|
||||||
|
- = +
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ö
|
||||||
|
[ = ü
|
||||||
|
\ = '
|
||||||
|
] = õ
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(ee_shift)
|
||||||
|
altgr = layer(ee_altgr)
|
||||||
|
|
||||||
|
[ee_shift:S]
|
||||||
|
' = Ä
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = #
|
||||||
|
4 = ¤
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = Ö
|
||||||
|
[ =
|
||||||
|
\ = *
|
||||||
|
] = Õ
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[ee_altgr:G]
|
||||||
|
' = ^
|
||||||
|
, = <
|
||||||
|
- = \
|
||||||
|
. = >
|
||||||
|
/ = |
|
||||||
|
1 = ¹
|
||||||
|
2 = @
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = ½
|
||||||
|
6 = ¬
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
= = `
|
||||||
|
\ = ½
|
||||||
|
] = §
|
||||||
|
a = æ
|
||||||
|
b = “
|
||||||
|
c = ¢
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ”
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = @
|
||||||
|
r = ¶
|
||||||
|
s = š
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ſ
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = ž
|
||||||
|
|
||||||
|
[ee_altgr+ee_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
/ = ˙
|
||||||
|
1 = ¡
|
||||||
|
2 = ⅛
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
= = '
|
||||||
|
a = Æ
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = ¢
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = Š
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = Ž
|
126
cros-keyboard-map/keyd/layouts/epo
Normal file
126
cros-keyboard-map/keyd/layouts/epo
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
[epo:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = ĵ
|
||||||
|
\ = \
|
||||||
|
] = ĥ
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = ŝ
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = ĝ
|
||||||
|
x = ĉ
|
||||||
|
y = ŭ
|
||||||
|
z = z
|
||||||
|
shift = layer(epo_shift)
|
||||||
|
altgr = layer(epo_altgr)
|
||||||
|
|
||||||
|
[epo_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = Ĵ
|
||||||
|
\ = |
|
||||||
|
] = Ĥ
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Ŝ
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = Ĝ
|
||||||
|
x = Ĉ
|
||||||
|
y =
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[epo_altgr:G]
|
||||||
|
5 = €
|
||||||
|
[ = [
|
||||||
|
] = ]
|
||||||
|
a = ‘
|
||||||
|
d = “
|
||||||
|
f = ”
|
||||||
|
m = —
|
||||||
|
n = –
|
||||||
|
o = {
|
||||||
|
p = }
|
||||||
|
q = q
|
||||||
|
s = ’
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
|
||||||
|
[epo_altgr+epo_shift]
|
||||||
|
5 = €
|
||||||
|
[ = {
|
||||||
|
] = }
|
||||||
|
m = —
|
||||||
|
n = –
|
||||||
|
o = {
|
||||||
|
p = }
|
||||||
|
q = Q
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
174
cros-keyboard-map/keyd/layouts/es
Normal file
174
cros-keyboard-map/keyd/layouts/es
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
[es:layout]
|
||||||
|
|
||||||
|
, = ,
|
||||||
|
- = '
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ñ
|
||||||
|
= = ¡
|
||||||
|
\ = ç
|
||||||
|
] = +
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(es_shift)
|
||||||
|
altgr = layer(es_altgr)
|
||||||
|
|
||||||
|
[es_shift:S]
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = ·
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = Ñ
|
||||||
|
= = ¿
|
||||||
|
\ = Ç
|
||||||
|
] = *
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[es_altgr:G]
|
||||||
|
' = {
|
||||||
|
, = •
|
||||||
|
- = \
|
||||||
|
. = ·
|
||||||
|
1 = |
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = ~
|
||||||
|
5 = ½
|
||||||
|
6 = ¬
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
[ = [
|
||||||
|
\ = }
|
||||||
|
] = ]
|
||||||
|
a = æ
|
||||||
|
b = “
|
||||||
|
c = ¢
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ”
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = @
|
||||||
|
r = ¶
|
||||||
|
s = ß
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ſ
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[es_altgr+es_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
1 = ¡
|
||||||
|
2 = ⅛
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
a = Æ
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = ¢
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
84
cros-keyboard-map/keyd/layouts/et
Normal file
84
cros-keyboard-map/keyd/layouts/et
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
[et:layout]
|
||||||
|
|
||||||
|
' = ፦
|
||||||
|
, = ፣
|
||||||
|
- = -
|
||||||
|
. = ፤
|
||||||
|
/ = ፧
|
||||||
|
1 = ፩
|
||||||
|
2 = ፪
|
||||||
|
3 = ፫
|
||||||
|
4 = ፬
|
||||||
|
5 = ፭
|
||||||
|
6 = ፮
|
||||||
|
7 = ፯
|
||||||
|
8 = ፰
|
||||||
|
9 = ፱
|
||||||
|
; = ።
|
||||||
|
= = =
|
||||||
|
[ = ፀ
|
||||||
|
] = ጨ
|
||||||
|
a =
|
||||||
|
b = በ
|
||||||
|
c = ቸ
|
||||||
|
d = ደ
|
||||||
|
e = ﹩
|
||||||
|
f = ፈ
|
||||||
|
g = ገ
|
||||||
|
h = ሀ
|
||||||
|
i = ﹱ
|
||||||
|
j = ጀ
|
||||||
|
k = ከ
|
||||||
|
l = ለ
|
||||||
|
m = መ
|
||||||
|
n = ነ
|
||||||
|
o = ﹳ
|
||||||
|
p = ፐ
|
||||||
|
q = ቀ
|
||||||
|
r = ረ
|
||||||
|
s = ሰ
|
||||||
|
t = ተ
|
||||||
|
u =
|
||||||
|
v = ሸ
|
||||||
|
w = ወ
|
||||||
|
x = አ
|
||||||
|
y = የ
|
||||||
|
z = ዘ
|
||||||
|
shift = layer(et_shift)
|
||||||
|
|
||||||
|
[et_shift:S]
|
||||||
|
' = ፥
|
||||||
|
- = _
|
||||||
|
/ = ?
|
||||||
|
1 = ፲
|
||||||
|
2 = ፳
|
||||||
|
3 = ፴
|
||||||
|
4 = ፵
|
||||||
|
5 = ፶
|
||||||
|
6 = ፷
|
||||||
|
7 = ፸
|
||||||
|
8 = ፹
|
||||||
|
9 = ፺
|
||||||
|
; = ፡
|
||||||
|
= = +
|
||||||
|
[ = ጸ
|
||||||
|
\ = ‐
|
||||||
|
] = ኀ
|
||||||
|
a = ﹨
|
||||||
|
c = ﹸ
|
||||||
|
d = ዸ
|
||||||
|
e = ﹰ
|
||||||
|
g = ጘ
|
||||||
|
h = ሐ
|
||||||
|
i = ﹲ
|
||||||
|
k = ኸ
|
||||||
|
n = ኘ
|
||||||
|
o = ﹴ
|
||||||
|
p = ጰ
|
||||||
|
q = ቐ
|
||||||
|
s = ሠ
|
||||||
|
t = ጠ
|
||||||
|
u = ﹶ
|
||||||
|
v = ቨ
|
||||||
|
x = ዐ
|
||||||
|
z = ዠ
|
167
cros-keyboard-map/keyd/layouts/fi
Normal file
167
cros-keyboard-map/keyd/layouts/fi
Normal file
|
@ -0,0 +1,167 @@
|
||||||
|
[fi:layout]
|
||||||
|
|
||||||
|
' = ä
|
||||||
|
, = ,
|
||||||
|
- = +
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ö
|
||||||
|
[ = å
|
||||||
|
\ = '
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(fi_shift)
|
||||||
|
altgr = layer(fi_altgr)
|
||||||
|
|
||||||
|
[fi_shift:S]
|
||||||
|
' = Ä
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = #
|
||||||
|
4 = ¤
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = Ö
|
||||||
|
[ = Å
|
||||||
|
\ = *
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[fi_altgr:G]
|
||||||
|
' = æ
|
||||||
|
, = ’
|
||||||
|
- = \
|
||||||
|
/ = –
|
||||||
|
2 = @
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = ‰
|
||||||
|
6 = ‚
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
; = ø
|
||||||
|
a = ə
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = ı
|
||||||
|
j = j
|
||||||
|
k = ĸ
|
||||||
|
m = µ
|
||||||
|
n = ŋ
|
||||||
|
o = œ
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = ß
|
||||||
|
t = þ
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = ×
|
||||||
|
y = y
|
||||||
|
z = ʒ
|
||||||
|
|
||||||
|
[fi_altgr+fi_shift]
|
||||||
|
' = Æ
|
||||||
|
, = ‘
|
||||||
|
- = ¿
|
||||||
|
1 = ¡
|
||||||
|
2 = ”
|
||||||
|
3 = »
|
||||||
|
4 = «
|
||||||
|
5 = “
|
||||||
|
6 = „
|
||||||
|
8 = <
|
||||||
|
9 = >
|
||||||
|
; = Ø
|
||||||
|
a = Ə
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = Ð
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = |
|
||||||
|
j = J
|
||||||
|
m = —
|
||||||
|
n = Ŋ
|
||||||
|
o = Œ
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = ẞ
|
||||||
|
t = Þ
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = ·
|
||||||
|
y = Y
|
||||||
|
z = Ʒ
|
174
cros-keyboard-map/keyd/layouts/fo
Normal file
174
cros-keyboard-map/keyd/layouts/fo
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
[fo:layout]
|
||||||
|
|
||||||
|
' = ø
|
||||||
|
, = ,
|
||||||
|
- = +
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = æ
|
||||||
|
[ = å
|
||||||
|
\ = '
|
||||||
|
] = ð
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(fo_shift)
|
||||||
|
altgr = layer(fo_altgr)
|
||||||
|
|
||||||
|
[fo_shift:S]
|
||||||
|
' = Ø
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = #
|
||||||
|
4 = ¤
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = Æ
|
||||||
|
[ = Å
|
||||||
|
\ = *
|
||||||
|
] = Ð
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[fo_altgr:G]
|
||||||
|
- = ±
|
||||||
|
. = ·
|
||||||
|
/ =
|
||||||
|
1 = ¡
|
||||||
|
2 = @
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = ½
|
||||||
|
6 = ¥
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
= = |
|
||||||
|
a = ª
|
||||||
|
b = “
|
||||||
|
c = ©
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ”
|
||||||
|
o = œ
|
||||||
|
p = þ
|
||||||
|
q = @
|
||||||
|
r = ®
|
||||||
|
s = ß
|
||||||
|
t = þ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ſ
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[fo_altgr+fo_shift]
|
||||||
|
- = ¿
|
||||||
|
/ = ¯
|
||||||
|
1 = ¹
|
||||||
|
2 = ²
|
||||||
|
3 = ³
|
||||||
|
4 = ¼
|
||||||
|
5 = ¢
|
||||||
|
6 = ⅝
|
||||||
|
7 = ÷
|
||||||
|
8 = «
|
||||||
|
9 = »
|
||||||
|
= = ¦
|
||||||
|
\ = ×
|
||||||
|
a = º
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = ¢
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Œ
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Þ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
177
cros-keyboard-map/keyd/layouts/fr
Normal file
177
cros-keyboard-map/keyd/layouts/fr
Normal file
|
@ -0,0 +1,177 @@
|
||||||
|
[fr:layout]
|
||||||
|
|
||||||
|
' = ù
|
||||||
|
, = ;
|
||||||
|
- = )
|
||||||
|
. = :
|
||||||
|
/ = !
|
||||||
|
1 = &
|
||||||
|
2 = é
|
||||||
|
3 = "
|
||||||
|
4 = '
|
||||||
|
5 = (
|
||||||
|
6 = -
|
||||||
|
7 = è
|
||||||
|
8 = _
|
||||||
|
9 = ç
|
||||||
|
0 = à
|
||||||
|
; = m
|
||||||
|
= = =
|
||||||
|
\ = *
|
||||||
|
] = $
|
||||||
|
a = q
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = ,
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = a
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = z
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = w
|
||||||
|
shift = layer(fr_shift)
|
||||||
|
altgr = layer(fr_altgr)
|
||||||
|
|
||||||
|
[fr_shift:S]
|
||||||
|
' = %
|
||||||
|
, = .
|
||||||
|
- = °
|
||||||
|
. = /
|
||||||
|
/ = §
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
0 = 0
|
||||||
|
; = M
|
||||||
|
= = +
|
||||||
|
\ = µ
|
||||||
|
] = £
|
||||||
|
a = Q
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = ?
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = A
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = Z
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = W
|
||||||
|
|
||||||
|
[fr_altgr:G]
|
||||||
|
, = •
|
||||||
|
- = ]
|
||||||
|
. = ·
|
||||||
|
1 = ¹
|
||||||
|
2 = ~
|
||||||
|
3 = #
|
||||||
|
4 = {
|
||||||
|
5 = [
|
||||||
|
6 = |
|
||||||
|
7 = `
|
||||||
|
8 = \
|
||||||
|
9 = ^
|
||||||
|
0 = @
|
||||||
|
; = µ
|
||||||
|
= = }
|
||||||
|
] = ¤
|
||||||
|
a = @
|
||||||
|
b = “
|
||||||
|
c = ¢
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
n = ”
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = æ
|
||||||
|
r = ¶
|
||||||
|
s = ß
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = «
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = ł
|
||||||
|
|
||||||
|
[fr_altgr+fr_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
1 = ¡
|
||||||
|
2 = ⅛
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
; = º
|
||||||
|
a = Ω
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = ¢
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
n = ’
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Æ
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = <
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = Ł
|
174
cros-keyboard-map/keyd/layouts/gb
Normal file
174
cros-keyboard-map/keyd/layouts/gb
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
[gb:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = #
|
||||||
|
] = ]
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(gb_shift)
|
||||||
|
altgr = layer(gb_altgr)
|
||||||
|
|
||||||
|
[gb_shift:S]
|
||||||
|
' = @
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = ~
|
||||||
|
] = }
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[gb_altgr:G]
|
||||||
|
, = •
|
||||||
|
- = \
|
||||||
|
. = ·
|
||||||
|
1 = ¹
|
||||||
|
2 = ²
|
||||||
|
3 = ³
|
||||||
|
4 = €
|
||||||
|
5 = ½
|
||||||
|
6 = ¾
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
a = æ
|
||||||
|
b = “
|
||||||
|
c = ¢
|
||||||
|
d = ð
|
||||||
|
e = e
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ”
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = @
|
||||||
|
r = ¶
|
||||||
|
s = ß
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ſ
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[gb_altgr+gb_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
1 = ¡
|
||||||
|
2 = ⅛
|
||||||
|
3 = £
|
||||||
|
4 = ¼
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
a = Æ
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = E
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
125
cros-keyboard-map/keyd/layouts/ge
Normal file
125
cros-keyboard-map/keyd/layouts/ge
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
[ge:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = ა
|
||||||
|
b = ბ
|
||||||
|
c = ც
|
||||||
|
d = დ
|
||||||
|
e = ე
|
||||||
|
f = ფ
|
||||||
|
g = გ
|
||||||
|
h = ჰ
|
||||||
|
i = ი
|
||||||
|
j = ჯ
|
||||||
|
k = კ
|
||||||
|
l = ლ
|
||||||
|
m = მ
|
||||||
|
n = ნ
|
||||||
|
o = ო
|
||||||
|
p = პ
|
||||||
|
q = ქ
|
||||||
|
r = რ
|
||||||
|
s = ს
|
||||||
|
t = ტ
|
||||||
|
u = უ
|
||||||
|
v = ვ
|
||||||
|
w = წ
|
||||||
|
x = ხ
|
||||||
|
y = ყ
|
||||||
|
z = ზ
|
||||||
|
shift = layer(ge_shift)
|
||||||
|
altgr = layer(ge_altgr)
|
||||||
|
|
||||||
|
[ge_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = |
|
||||||
|
] = }
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = ჩ
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = ჟ
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = ღ
|
||||||
|
s = შ
|
||||||
|
t = თ
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = ჭ
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = ძ
|
||||||
|
|
||||||
|
[ge_altgr:G]
|
||||||
|
, = «
|
||||||
|
- = —
|
||||||
|
. = »
|
||||||
|
/ = ჻
|
||||||
|
1 = '
|
||||||
|
2 = „
|
||||||
|
3 = “
|
||||||
|
4 = №
|
||||||
|
5 = €
|
||||||
|
7 = §
|
||||||
|
8 = °
|
||||||
|
= = –
|
||||||
|
\ = ~
|
||||||
|
a = ჺ
|
||||||
|
e = ჱ
|
||||||
|
f = ჶ
|
||||||
|
g = ჹ
|
||||||
|
h = ჵ
|
||||||
|
i = ჲ
|
||||||
|
j = ჷ
|
||||||
|
n = ჼ
|
||||||
|
v = ჳ
|
||||||
|
x = ჴ
|
||||||
|
y = ჸ
|
||||||
|
|
||||||
|
[ge_altgr+ge_shift]
|
||||||
|
\ = ~
|
102
cros-keyboard-map/keyd/layouts/gh
Normal file
102
cros-keyboard-map/keyd/layouts/gh
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
[gh:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(gh_shift)
|
||||||
|
altgr = layer(gh_altgr)
|
||||||
|
|
||||||
|
[gh_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = ₵
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = |
|
||||||
|
] = }
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[gh_altgr:G]
|
||||||
|
4 = $
|
||||||
|
|
||||||
|
[gh_altgr+gh_shift]
|
||||||
|
4 = ¢
|
94
cros-keyboard-map/keyd/layouts/gn
Normal file
94
cros-keyboard-map/keyd/layouts/gn
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
[gn:layout]
|
||||||
|
|
||||||
|
' = ߯
|
||||||
|
, = ؛
|
||||||
|
- = )
|
||||||
|
. = ،
|
||||||
|
/ = ߹
|
||||||
|
1 = ߱
|
||||||
|
2 = ߫
|
||||||
|
3 = ߵ
|
||||||
|
4 = ߴ
|
||||||
|
5 = (
|
||||||
|
6 = -
|
||||||
|
7 = ߬
|
||||||
|
8 = ߺ
|
||||||
|
9 = ߭
|
||||||
|
; = ߡ
|
||||||
|
= = =
|
||||||
|
[ = ߳
|
||||||
|
\ = ߑ
|
||||||
|
] = $
|
||||||
|
a = ߫
|
||||||
|
b = ߓ
|
||||||
|
c = ߗ
|
||||||
|
d = ߘ
|
||||||
|
e = ߍ
|
||||||
|
f = ߝ
|
||||||
|
g = ߜ
|
||||||
|
h = ߤ
|
||||||
|
i = ߌ
|
||||||
|
j = ߖ
|
||||||
|
k = ߞ
|
||||||
|
l = ߟ
|
||||||
|
m = ߸
|
||||||
|
n = ߣ
|
||||||
|
o = ߐ
|
||||||
|
p = ߔ
|
||||||
|
q = ߊ
|
||||||
|
r = ߙ
|
||||||
|
s = ߛ
|
||||||
|
t = ߕ
|
||||||
|
u = ߎ
|
||||||
|
v = ߢ
|
||||||
|
w = ߠ
|
||||||
|
x = ،
|
||||||
|
y = ߦ
|
||||||
|
z = ߥ
|
||||||
|
shift = layer(gn_shift)
|
||||||
|
altgr = layer(gn_altgr)
|
||||||
|
|
||||||
|
[gn_shift:S]
|
||||||
|
' = ߸
|
||||||
|
. = /
|
||||||
|
1 = ߁
|
||||||
|
2 = ߂
|
||||||
|
3 = ߃
|
||||||
|
4 = ߄
|
||||||
|
5 = ߅
|
||||||
|
6 = ߆
|
||||||
|
7 = ߇
|
||||||
|
8 = ߈
|
||||||
|
9 = ߉
|
||||||
|
= = +
|
||||||
|
\ = *
|
||||||
|
] = £
|
||||||
|
c = ߩ
|
||||||
|
e = ߋ
|
||||||
|
g = ߷
|
||||||
|
j = ߨ
|
||||||
|
l = ߪ
|
||||||
|
m = ؟
|
||||||
|
n = ߒ
|
||||||
|
o = ߏ
|
||||||
|
r = ߚ
|
||||||
|
u = ߶
|
||||||
|
w = <
|
||||||
|
y = ߧ
|
||||||
|
|
||||||
|
[gn_altgr:G]
|
||||||
|
' = %
|
||||||
|
3 = #
|
||||||
|
4 = ⸜
|
||||||
|
5 = ⸝
|
||||||
|
6 = |
|
||||||
|
7 = `
|
||||||
|
8 = \
|
||||||
|
9 = ^
|
||||||
|
= = }
|
||||||
|
] = ¤
|
||||||
|
|
||||||
|
[gn_altgr+gn_shift]
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
9 = ±
|
150
cros-keyboard-map/keyd/layouts/gr
Normal file
150
cros-keyboard-map/keyd/layouts/gr
Normal file
|
@ -0,0 +1,150 @@
|
||||||
|
[gr:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = α
|
||||||
|
b = β
|
||||||
|
c = ψ
|
||||||
|
d = δ
|
||||||
|
e = ε
|
||||||
|
f = φ
|
||||||
|
g = γ
|
||||||
|
h = η
|
||||||
|
i = ι
|
||||||
|
j = ξ
|
||||||
|
k = κ
|
||||||
|
l = λ
|
||||||
|
m = μ
|
||||||
|
n = ν
|
||||||
|
o = ο
|
||||||
|
p = π
|
||||||
|
q = ;
|
||||||
|
r = ρ
|
||||||
|
s = σ
|
||||||
|
t = τ
|
||||||
|
u = θ
|
||||||
|
v = ω
|
||||||
|
w = ς
|
||||||
|
x = χ
|
||||||
|
y = υ
|
||||||
|
z = ζ
|
||||||
|
shift = layer(gr_shift)
|
||||||
|
altgr = layer(gr_altgr)
|
||||||
|
|
||||||
|
[gr_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = |
|
||||||
|
] = }
|
||||||
|
a = Α
|
||||||
|
b = Β
|
||||||
|
c = Ψ
|
||||||
|
d = Δ
|
||||||
|
e = Ε
|
||||||
|
f = Φ
|
||||||
|
g = Γ
|
||||||
|
h = Η
|
||||||
|
i = Ι
|
||||||
|
j = Ξ
|
||||||
|
k = Κ
|
||||||
|
l = Λ
|
||||||
|
m = Μ
|
||||||
|
n = Ν
|
||||||
|
o = Ο
|
||||||
|
p = Π
|
||||||
|
q = :
|
||||||
|
r = Ρ
|
||||||
|
s = Σ
|
||||||
|
t = Τ
|
||||||
|
u = Θ
|
||||||
|
v = Ω
|
||||||
|
w = Σ
|
||||||
|
x = Χ
|
||||||
|
y = Υ
|
||||||
|
z = Ζ
|
||||||
|
|
||||||
|
[gr_altgr:G]
|
||||||
|
, = «
|
||||||
|
- = ±
|
||||||
|
. = »
|
||||||
|
2 = ½
|
||||||
|
3 = £
|
||||||
|
4 = ¼
|
||||||
|
5 = €
|
||||||
|
6 = ϰ
|
||||||
|
7 = ϗ
|
||||||
|
8 = ₯
|
||||||
|
b = ϐ
|
||||||
|
c = ©
|
||||||
|
d = ↓
|
||||||
|
e = €
|
||||||
|
f = ϕ
|
||||||
|
g = ϝ
|
||||||
|
i = ͻ
|
||||||
|
j = ͼ
|
||||||
|
k = ϟ
|
||||||
|
l = ϲ
|
||||||
|
m = ϻ
|
||||||
|
n = ʹ
|
||||||
|
p = ϡ
|
||||||
|
q = ·
|
||||||
|
r = ®
|
||||||
|
u = ϑ
|
||||||
|
v = ϖ
|
||||||
|
w = ϛ
|
||||||
|
x = →
|
||||||
|
y = ϒ
|
||||||
|
z = ͽ
|
||||||
|
|
||||||
|
[gr_altgr+gr_shift]
|
||||||
|
. = ·
|
||||||
|
1 = ¹
|
||||||
|
2 = ²
|
||||||
|
3 = ³
|
||||||
|
4 = ¾
|
||||||
|
7 = Ϗ
|
||||||
|
d = ↑
|
||||||
|
g = Ϝ
|
||||||
|
i = Ͻ
|
||||||
|
j = Ͼ
|
||||||
|
k = Ϟ
|
||||||
|
l = Ϲ
|
||||||
|
m = Ϻ
|
||||||
|
n = ͵
|
||||||
|
p = Ϡ
|
||||||
|
r = ϱ
|
||||||
|
u = ϴ
|
||||||
|
w = Ϛ
|
||||||
|
x = ←
|
||||||
|
y = ϒ
|
||||||
|
z = Ͽ
|
65
cros-keyboard-map/keyd/layouts/graphite
Normal file
65
cros-keyboard-map/keyd/layouts/graphite
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
[graphite:layout]
|
||||||
|
q = b
|
||||||
|
w = l
|
||||||
|
e = d
|
||||||
|
r = w
|
||||||
|
t = z
|
||||||
|
y = '
|
||||||
|
u = f
|
||||||
|
i = o
|
||||||
|
o = u
|
||||||
|
p = j
|
||||||
|
[ = ;
|
||||||
|
] = =
|
||||||
|
a = n
|
||||||
|
s = r
|
||||||
|
d = t
|
||||||
|
f = s
|
||||||
|
h = y
|
||||||
|
j = h
|
||||||
|
k = a
|
||||||
|
l = e
|
||||||
|
; = i
|
||||||
|
' = ,
|
||||||
|
z = q
|
||||||
|
c = m
|
||||||
|
v = c
|
||||||
|
b = v
|
||||||
|
n = k
|
||||||
|
m = p
|
||||||
|
, = .
|
||||||
|
. = -
|
||||||
|
shift = layer(graphite_shift)
|
||||||
|
|
||||||
|
[graphite_shift:S]
|
||||||
|
b = B
|
||||||
|
l = L
|
||||||
|
d = D
|
||||||
|
w = W
|
||||||
|
z = Z
|
||||||
|
' = _
|
||||||
|
f = F
|
||||||
|
o = O
|
||||||
|
u = U
|
||||||
|
j = J
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
n = N
|
||||||
|
r = R
|
||||||
|
t = T
|
||||||
|
s = S
|
||||||
|
y = Y
|
||||||
|
h = H
|
||||||
|
a = A
|
||||||
|
e = E
|
||||||
|
i = I
|
||||||
|
, = ?
|
||||||
|
x = X
|
||||||
|
m = M
|
||||||
|
c = C
|
||||||
|
v = V
|
||||||
|
q = Q
|
||||||
|
k = K
|
||||||
|
. = >
|
||||||
|
- = "
|
||||||
|
/ = <
|
64
cros-keyboard-map/keyd/layouts/graphite-angle-kp
Normal file
64
cros-keyboard-map/keyd/layouts/graphite-angle-kp
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
[graphite-angle-kp:layout]
|
||||||
|
q = b
|
||||||
|
w = l
|
||||||
|
e = d
|
||||||
|
r = w
|
||||||
|
t = z
|
||||||
|
y = '
|
||||||
|
u = f
|
||||||
|
i = o
|
||||||
|
o = u
|
||||||
|
p = j
|
||||||
|
[ = ;
|
||||||
|
] = =
|
||||||
|
a = n
|
||||||
|
s = r
|
||||||
|
d = t
|
||||||
|
f = s
|
||||||
|
h = y
|
||||||
|
j = h
|
||||||
|
k = a
|
||||||
|
l = e
|
||||||
|
; = i
|
||||||
|
' = ,
|
||||||
|
z = x
|
||||||
|
x = m
|
||||||
|
b = q
|
||||||
|
n = k
|
||||||
|
m = p
|
||||||
|
, = .
|
||||||
|
. = -
|
||||||
|
shift = layer(graphite-angle-kp_shift)
|
||||||
|
|
||||||
|
[graphite-angle-kp_shift:S]
|
||||||
|
b = B
|
||||||
|
l = L
|
||||||
|
d = D
|
||||||
|
w = W
|
||||||
|
z = Z
|
||||||
|
y = _
|
||||||
|
f = F
|
||||||
|
o = O
|
||||||
|
u = U
|
||||||
|
j = J
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
n = N
|
||||||
|
r = R
|
||||||
|
t = T
|
||||||
|
s = S
|
||||||
|
y = Y
|
||||||
|
h = H
|
||||||
|
a = A
|
||||||
|
e = E
|
||||||
|
i = I
|
||||||
|
, = ?
|
||||||
|
x = X
|
||||||
|
m = M
|
||||||
|
c = C
|
||||||
|
v = V
|
||||||
|
q = Q
|
||||||
|
k = K
|
||||||
|
. = >
|
||||||
|
- = "
|
||||||
|
/ = <
|
169
cros-keyboard-map/keyd/layouts/hr
Normal file
169
cros-keyboard-map/keyd/layouts/hr
Normal file
|
@ -0,0 +1,169 @@
|
||||||
|
[hr:layout]
|
||||||
|
|
||||||
|
' = ć
|
||||||
|
, = ,
|
||||||
|
- = '
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = č
|
||||||
|
= = +
|
||||||
|
[ = š
|
||||||
|
\ = ž
|
||||||
|
] = đ
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = z
|
||||||
|
z = y
|
||||||
|
shift = layer(hr_shift)
|
||||||
|
altgr = layer(hr_altgr)
|
||||||
|
|
||||||
|
[hr_shift:S]
|
||||||
|
' = Ć
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = Č
|
||||||
|
= = *
|
||||||
|
[ = Š
|
||||||
|
\ = Ž
|
||||||
|
] = Đ
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Z
|
||||||
|
z = Y
|
||||||
|
|
||||||
|
[hr_altgr:G]
|
||||||
|
' = ß
|
||||||
|
, = <
|
||||||
|
. = >
|
||||||
|
1 = ~
|
||||||
|
3 = ^
|
||||||
|
5 = °
|
||||||
|
7 = `
|
||||||
|
[ = ÷
|
||||||
|
\ = ¤
|
||||||
|
] = ×
|
||||||
|
a = æ
|
||||||
|
b = {
|
||||||
|
c = ¢
|
||||||
|
d = ”
|
||||||
|
e = €
|
||||||
|
f = [
|
||||||
|
g = ]
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ł
|
||||||
|
l = ł
|
||||||
|
m = §
|
||||||
|
n = }
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = \
|
||||||
|
r = ¶
|
||||||
|
s = „
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = @
|
||||||
|
w = |
|
||||||
|
x = ’
|
||||||
|
y = ←
|
||||||
|
z = ‘
|
||||||
|
|
||||||
|
[hr_altgr+hr_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¨
|
||||||
|
. = ÷
|
||||||
|
2 = ˇ
|
||||||
|
4 = ˘
|
||||||
|
6 = ˛
|
||||||
|
8 = ˙
|
||||||
|
9 = '
|
||||||
|
= = ¸
|
||||||
|
a = Æ
|
||||||
|
b = '
|
||||||
|
c = ©
|
||||||
|
d = «
|
||||||
|
e = €
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = }
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = »
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = `
|
||||||
|
w = Ł
|
||||||
|
x = «
|
||||||
|
y = ¥
|
||||||
|
z = »
|
175
cros-keyboard-map/keyd/layouts/hu
Normal file
175
cros-keyboard-map/keyd/layouts/hu
Normal file
|
@ -0,0 +1,175 @@
|
||||||
|
[hu:layout]
|
||||||
|
|
||||||
|
' = á
|
||||||
|
, = ,
|
||||||
|
- = ü
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = é
|
||||||
|
= = ó
|
||||||
|
[ = ő
|
||||||
|
\ = ű
|
||||||
|
] = ú
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = z
|
||||||
|
z = y
|
||||||
|
shift = layer(hu_shift)
|
||||||
|
altgr = layer(hu_altgr)
|
||||||
|
|
||||||
|
[hu_shift:S]
|
||||||
|
' = Á
|
||||||
|
, = ?
|
||||||
|
- =
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = '
|
||||||
|
2 = "
|
||||||
|
3 = +
|
||||||
|
4 = !
|
||||||
|
5 = %
|
||||||
|
6 = /
|
||||||
|
7 = =
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = É
|
||||||
|
= = Ó
|
||||||
|
[ = Ő
|
||||||
|
\ =
|
||||||
|
] = ¬
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Z
|
||||||
|
z = Y
|
||||||
|
|
||||||
|
[hu_altgr:G]
|
||||||
|
' = ß
|
||||||
|
, = ;
|
||||||
|
. = >
|
||||||
|
/ = *
|
||||||
|
1 = ~
|
||||||
|
3 = ^
|
||||||
|
7 = `
|
||||||
|
; = $
|
||||||
|
[ = ÷
|
||||||
|
\ = ¤
|
||||||
|
] = ×
|
||||||
|
a = ä
|
||||||
|
b = {
|
||||||
|
c = &
|
||||||
|
d = Đ
|
||||||
|
e = Ä
|
||||||
|
f = [
|
||||||
|
g = ]
|
||||||
|
h = ħ
|
||||||
|
i = Í
|
||||||
|
j = í
|
||||||
|
k = ł
|
||||||
|
l = Ł
|
||||||
|
m = <
|
||||||
|
n = }
|
||||||
|
o = „
|
||||||
|
p = ”
|
||||||
|
q = \
|
||||||
|
r = ¶
|
||||||
|
s = đ
|
||||||
|
t = ŧ
|
||||||
|
u = €
|
||||||
|
v = @
|
||||||
|
w = |
|
||||||
|
x = #
|
||||||
|
y = –
|
||||||
|
z = >
|
||||||
|
|
||||||
|
[hu_altgr+hu_shift]
|
||||||
|
' = ẞ
|
||||||
|
, = ×
|
||||||
|
- = ¨
|
||||||
|
. = ÷
|
||||||
|
2 = ˇ
|
||||||
|
4 = ˘
|
||||||
|
5 = °
|
||||||
|
6 = ˛
|
||||||
|
8 = ˙
|
||||||
|
9 = ´
|
||||||
|
; = ¢
|
||||||
|
= = ¸
|
||||||
|
a = Ä
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = E
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = í
|
||||||
|
j = Í
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
95
cros-keyboard-map/keyd/layouts/id
Normal file
95
cros-keyboard-map/keyd/layouts/id
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[id:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(id_shift)
|
||||||
|
|
||||||
|
[id_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = |
|
||||||
|
] = }
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
173
cros-keyboard-map/keyd/layouts/ie
Normal file
173
cros-keyboard-map/keyd/layouts/ie
Normal file
|
@ -0,0 +1,173 @@
|
||||||
|
[ie:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = #
|
||||||
|
] = ]
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(ie_shift)
|
||||||
|
altgr = layer(ie_altgr)
|
||||||
|
|
||||||
|
[ie_shift:S]
|
||||||
|
' = @
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = ~
|
||||||
|
] = }
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[ie_altgr:G]
|
||||||
|
' = æ
|
||||||
|
, = ≤
|
||||||
|
- = –
|
||||||
|
. = ≥
|
||||||
|
/ = ÷
|
||||||
|
1 = ¡
|
||||||
|
2 = ™
|
||||||
|
3 = ©
|
||||||
|
4 = €
|
||||||
|
5 = §
|
||||||
|
7 = ¶
|
||||||
|
9 = ª
|
||||||
|
; = …
|
||||||
|
= = ≠
|
||||||
|
[ = “
|
||||||
|
\ = «
|
||||||
|
] = ‘
|
||||||
|
a = á
|
||||||
|
b = ¨
|
||||||
|
d = ð
|
||||||
|
e = é
|
||||||
|
f = ƒ
|
||||||
|
g = ©
|
||||||
|
i = í
|
||||||
|
j = ı
|
||||||
|
l = ´
|
||||||
|
m = ¯
|
||||||
|
o = ó
|
||||||
|
p = ‚
|
||||||
|
q = œ
|
||||||
|
r = ®
|
||||||
|
s = ß
|
||||||
|
t = þ
|
||||||
|
u = ú
|
||||||
|
x = ×
|
||||||
|
y = ¥
|
||||||
|
z = 〈
|
||||||
|
|
||||||
|
[ie_altgr+ie_shift]
|
||||||
|
' = Æ
|
||||||
|
, = „
|
||||||
|
- = —
|
||||||
|
. = ‚
|
||||||
|
/ = ¿
|
||||||
|
1 = ¹
|
||||||
|
2 = ²
|
||||||
|
3 = ³
|
||||||
|
4 = ¢
|
||||||
|
5 = †
|
||||||
|
6 = ‰
|
||||||
|
7 = ⁊
|
||||||
|
8 = •
|
||||||
|
9 = ·
|
||||||
|
; = ‡
|
||||||
|
= = ±
|
||||||
|
[ = ”
|
||||||
|
\ = »
|
||||||
|
] = ’
|
||||||
|
a = Á
|
||||||
|
c = ¸
|
||||||
|
d = Ð
|
||||||
|
e = É
|
||||||
|
i = Í
|
||||||
|
j = ¼
|
||||||
|
k = ½
|
||||||
|
l = ¾
|
||||||
|
o = Ó
|
||||||
|
q = Œ
|
||||||
|
r = ‰
|
||||||
|
s = ẞ
|
||||||
|
t = Þ
|
||||||
|
u = ¬
|
||||||
|
x = ∼
|
||||||
|
y = µ
|
||||||
|
z = 〉
|
134
cros-keyboard-map/keyd/layouts/il
Normal file
134
cros-keyboard-map/keyd/layouts/il
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
[il:layout]
|
||||||
|
|
||||||
|
' = ,
|
||||||
|
, = ת
|
||||||
|
- = -
|
||||||
|
. = ץ
|
||||||
|
/ = .
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ף
|
||||||
|
= = =
|
||||||
|
[ = ]
|
||||||
|
\ = \
|
||||||
|
] = [
|
||||||
|
a = ש
|
||||||
|
b = נ
|
||||||
|
c = ב
|
||||||
|
d = ג
|
||||||
|
e = ק
|
||||||
|
f = כ
|
||||||
|
g = ע
|
||||||
|
h = י
|
||||||
|
i = ן
|
||||||
|
j = ח
|
||||||
|
k = ל
|
||||||
|
l = ך
|
||||||
|
m = צ
|
||||||
|
n = מ
|
||||||
|
o = ם
|
||||||
|
p = פ
|
||||||
|
q = /
|
||||||
|
r = ר
|
||||||
|
s = ד
|
||||||
|
t = א
|
||||||
|
u = ו
|
||||||
|
v = ה
|
||||||
|
w = '
|
||||||
|
x = ס
|
||||||
|
y = ט
|
||||||
|
z = ז
|
||||||
|
shift = layer(il_shift)
|
||||||
|
altgr = layer(il_altgr)
|
||||||
|
|
||||||
|
[il_shift:S]
|
||||||
|
' = "
|
||||||
|
, = >
|
||||||
|
- = _
|
||||||
|
. = <
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = )
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = }
|
||||||
|
\ = |
|
||||||
|
] = {
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[il_altgr:G]
|
||||||
|
' = ״
|
||||||
|
, = ’
|
||||||
|
- = ־
|
||||||
|
. = ‚
|
||||||
|
/ = ÷
|
||||||
|
3 = €
|
||||||
|
4 = ₪
|
||||||
|
5 = °
|
||||||
|
6 = ֫
|
||||||
|
7 = ֽ
|
||||||
|
8 = ×
|
||||||
|
9 =
|
||||||
|
; = „
|
||||||
|
= = –
|
||||||
|
[ = ֲ
|
||||||
|
\ = ֻ
|
||||||
|
] = ֿ
|
||||||
|
a = ְ
|
||||||
|
c = ֱ
|
||||||
|
e = ָ
|
||||||
|
g = ױ
|
||||||
|
h = ײ
|
||||||
|
j = ִ
|
||||||
|
l = ”
|
||||||
|
m = ֵ
|
||||||
|
p = ַ
|
||||||
|
q = ׂ
|
||||||
|
r = ֳ
|
||||||
|
s = ּ
|
||||||
|
u = ֹ
|
||||||
|
w = ׁ
|
||||||
|
x = ֶ
|
||||||
|
y = װ
|
||||||
|
|
||||||
|
[il_altgr+il_shift]
|
||||||
|
b = ׆
|
145
cros-keyboard-map/keyd/layouts/in
Normal file
145
cros-keyboard-map/keyd/layouts/in
Normal file
|
@ -0,0 +1,145 @@
|
||||||
|
[in:layout]
|
||||||
|
|
||||||
|
' = ट
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = य
|
||||||
|
1 = १
|
||||||
|
2 = २
|
||||||
|
3 = ३
|
||||||
|
4 = ४
|
||||||
|
5 = ५
|
||||||
|
6 = ६
|
||||||
|
7 = ७
|
||||||
|
8 = ८
|
||||||
|
9 = ९
|
||||||
|
; = च
|
||||||
|
= = ृ
|
||||||
|
[ = ड
|
||||||
|
\ = ॉ
|
||||||
|
] = ़
|
||||||
|
a = ो
|
||||||
|
b = व
|
||||||
|
c = म
|
||||||
|
d = ्
|
||||||
|
e = ा
|
||||||
|
f = ि
|
||||||
|
g = ु
|
||||||
|
h = प
|
||||||
|
i = ग
|
||||||
|
j = र
|
||||||
|
k = क
|
||||||
|
l = त
|
||||||
|
m = स
|
||||||
|
n = ल
|
||||||
|
o = द
|
||||||
|
p = ज
|
||||||
|
q = ौ
|
||||||
|
r = ी
|
||||||
|
s = े
|
||||||
|
t = ू
|
||||||
|
u = ह
|
||||||
|
v = न
|
||||||
|
w = ै
|
||||||
|
x = ं
|
||||||
|
y = ब
|
||||||
|
z = ॆ
|
||||||
|
shift = layer(in_shift)
|
||||||
|
altgr = layer(in_altgr)
|
||||||
|
|
||||||
|
[in_shift:S]
|
||||||
|
' = ठ
|
||||||
|
, = ष
|
||||||
|
- = ः
|
||||||
|
. = ।
|
||||||
|
/ = य़
|
||||||
|
1 = ऍ
|
||||||
|
2 = ॅ
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = छ
|
||||||
|
= = ऋ
|
||||||
|
[ = ढ
|
||||||
|
\ = ऑ
|
||||||
|
] = ञ
|
||||||
|
a = ओ
|
||||||
|
b = ऴ
|
||||||
|
c = ण
|
||||||
|
d = अ
|
||||||
|
e = आ
|
||||||
|
f = इ
|
||||||
|
g = उ
|
||||||
|
h = फ
|
||||||
|
i = घ
|
||||||
|
j = ऱ
|
||||||
|
k = ख
|
||||||
|
l = थ
|
||||||
|
m = श
|
||||||
|
n = ळ
|
||||||
|
o = ध
|
||||||
|
p = झ
|
||||||
|
q = औ
|
||||||
|
r = ई
|
||||||
|
s = ए
|
||||||
|
t = ऊ
|
||||||
|
u = ङ
|
||||||
|
v = ऩ
|
||||||
|
w = ऐ
|
||||||
|
x = ँ
|
||||||
|
y = भ
|
||||||
|
z = ऎ
|
||||||
|
|
||||||
|
[in_altgr:G]
|
||||||
|
, = ॰
|
||||||
|
- = -
|
||||||
|
. = ॥
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ॒
|
||||||
|
= = ॄ
|
||||||
|
[ = ड़
|
||||||
|
\ = \
|
||||||
|
c = ॔
|
||||||
|
f = ॢ
|
||||||
|
i = ग़
|
||||||
|
k = क़
|
||||||
|
p = ज़
|
||||||
|
r = ॣ
|
||||||
|
z = ॓
|
||||||
|
|
||||||
|
[in_altgr+in_shift]
|
||||||
|
' = ॑
|
||||||
|
- = _
|
||||||
|
. = ऽ
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = ₹
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
= = ॠ
|
||||||
|
[ = ढ़
|
||||||
|
\ = |
|
||||||
|
f = ऌ
|
||||||
|
h = फ़
|
||||||
|
k = ख़
|
||||||
|
r = ॡ
|
||||||
|
x = ॐ
|
143
cros-keyboard-map/keyd/layouts/iq
Normal file
143
cros-keyboard-map/keyd/layouts/iq
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
[iq:layout]
|
||||||
|
|
||||||
|
' = ط
|
||||||
|
, = و
|
||||||
|
- = -
|
||||||
|
. = ز
|
||||||
|
/ = ظ
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ك
|
||||||
|
= = =
|
||||||
|
[ = ج
|
||||||
|
\ = \
|
||||||
|
] = د
|
||||||
|
a = ش
|
||||||
|
b = ﻻ
|
||||||
|
c = ؤ
|
||||||
|
d = ي
|
||||||
|
e = ث
|
||||||
|
f = ب
|
||||||
|
g = ل
|
||||||
|
h = ا
|
||||||
|
i = ه
|
||||||
|
j = ت
|
||||||
|
k = ن
|
||||||
|
l = م
|
||||||
|
m = ة
|
||||||
|
n = ى
|
||||||
|
o = خ
|
||||||
|
p = ح
|
||||||
|
q = ض
|
||||||
|
r = ق
|
||||||
|
s = س
|
||||||
|
t = ف
|
||||||
|
u = ع
|
||||||
|
v = ر
|
||||||
|
w = ص
|
||||||
|
x = ء
|
||||||
|
y = غ
|
||||||
|
z = ئ
|
||||||
|
shift = layer(iq_shift)
|
||||||
|
altgr = layer(iq_altgr)
|
||||||
|
|
||||||
|
[iq_shift:S]
|
||||||
|
' = "
|
||||||
|
, = ,
|
||||||
|
- = _
|
||||||
|
. = .
|
||||||
|
/ = ؟
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = )
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = <
|
||||||
|
\ = …
|
||||||
|
] = >
|
||||||
|
a = ِ
|
||||||
|
b = ﻵ
|
||||||
|
c = }
|
||||||
|
d = ]
|
||||||
|
e = ُ
|
||||||
|
f = [
|
||||||
|
g = ﻷ
|
||||||
|
h = أ
|
||||||
|
i = ÷
|
||||||
|
j = ـ
|
||||||
|
k = ،
|
||||||
|
l = /
|
||||||
|
m = '
|
||||||
|
n = آ
|
||||||
|
o = ×
|
||||||
|
p = ؛
|
||||||
|
q = َ
|
||||||
|
r = ٌ
|
||||||
|
s = ٍ
|
||||||
|
t = ﻹ
|
||||||
|
u = `
|
||||||
|
v = {
|
||||||
|
w = ً
|
||||||
|
x = ْ
|
||||||
|
y = إ
|
||||||
|
z = ~
|
||||||
|
|
||||||
|
[iq_altgr:G]
|
||||||
|
' = ⟩
|
||||||
|
, = ٬
|
||||||
|
- = –
|
||||||
|
. = ژ
|
||||||
|
/ = ٭
|
||||||
|
1 = ١
|
||||||
|
2 = ٢
|
||||||
|
3 = ٣
|
||||||
|
4 = ٤
|
||||||
|
5 = ٥
|
||||||
|
6 = ٦
|
||||||
|
7 = ٧
|
||||||
|
8 = ٨
|
||||||
|
9 = ٩
|
||||||
|
; = گ
|
||||||
|
= = ≠
|
||||||
|
[ = چ
|
||||||
|
\ = ⟨
|
||||||
|
f = پ
|
||||||
|
h = ٱ
|
||||||
|
k = ٫
|
||||||
|
n = ٰ
|
||||||
|
t = ڤ
|
||||||
|
x = «
|
||||||
|
z = »
|
||||||
|
|
||||||
|
[iq_altgr+iq_shift]
|
||||||
|
' =
|
||||||
|
- = ‑
|
||||||
|
/ =
|
||||||
|
5 = ‰
|
||||||
|
= = ≈
|
||||||
|
[ =
|
||||||
|
\ =
|
||||||
|
] =
|
||||||
|
e =
|
||||||
|
i =
|
||||||
|
p =
|
||||||
|
q =
|
||||||
|
r =
|
||||||
|
u =
|
||||||
|
w =
|
||||||
|
x = ‹
|
||||||
|
y =
|
||||||
|
z = ›
|
140
cros-keyboard-map/keyd/layouts/ir
Normal file
140
cros-keyboard-map/keyd/layouts/ir
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
[ir:layout]
|
||||||
|
|
||||||
|
' = گ
|
||||||
|
, = و
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = ۱
|
||||||
|
2 = ۲
|
||||||
|
3 = ۳
|
||||||
|
4 = ۴
|
||||||
|
5 = ۵
|
||||||
|
6 = ۶
|
||||||
|
7 = ۷
|
||||||
|
8 = ۸
|
||||||
|
9 = ۹
|
||||||
|
; = ک
|
||||||
|
= = =
|
||||||
|
[ = ج
|
||||||
|
\ = \
|
||||||
|
] = چ
|
||||||
|
a = ش
|
||||||
|
b = ذ
|
||||||
|
c = ز
|
||||||
|
d = ی
|
||||||
|
e = ث
|
||||||
|
f = ب
|
||||||
|
g = ل
|
||||||
|
h = ا
|
||||||
|
i = ه
|
||||||
|
j = ت
|
||||||
|
k = ن
|
||||||
|
l = م
|
||||||
|
m = پ
|
||||||
|
n = د
|
||||||
|
o = خ
|
||||||
|
p = ح
|
||||||
|
q = ض
|
||||||
|
r = ق
|
||||||
|
s = س
|
||||||
|
t = ف
|
||||||
|
u = ع
|
||||||
|
v = ر
|
||||||
|
w = ص
|
||||||
|
x = ط
|
||||||
|
y = غ
|
||||||
|
z = ظ
|
||||||
|
shift = layer(ir_shift)
|
||||||
|
altgr = layer(ir_altgr)
|
||||||
|
|
||||||
|
[ir_shift:S]
|
||||||
|
' = ؛
|
||||||
|
, = >
|
||||||
|
- = ـ
|
||||||
|
. = <
|
||||||
|
/ = ؟
|
||||||
|
1 = !
|
||||||
|
2 = ٬
|
||||||
|
3 = ٫
|
||||||
|
4 = ﷼
|
||||||
|
5 = ٪
|
||||||
|
6 = ×
|
||||||
|
7 = ،
|
||||||
|
8 = *
|
||||||
|
9 = )
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = }
|
||||||
|
\ = |
|
||||||
|
] = {
|
||||||
|
a = ؤ
|
||||||
|
b =
|
||||||
|
c = ژ
|
||||||
|
d = ي
|
||||||
|
e = ٍ
|
||||||
|
f = إ
|
||||||
|
g = أ
|
||||||
|
h = آ
|
||||||
|
i = ّ
|
||||||
|
j = ة
|
||||||
|
k = »
|
||||||
|
l = «
|
||||||
|
m = ء
|
||||||
|
n = ٔ
|
||||||
|
o = ]
|
||||||
|
p = [
|
||||||
|
q = ْ
|
||||||
|
r = ً
|
||||||
|
s = ئ
|
||||||
|
t = ُ
|
||||||
|
u = َ
|
||||||
|
v = ٰ
|
||||||
|
w = ٌ
|
||||||
|
x = ٓ
|
||||||
|
y = ِ
|
||||||
|
z = ك
|
||||||
|
|
||||||
|
[ir_altgr:G]
|
||||||
|
' = "
|
||||||
|
, = ,
|
||||||
|
- = _
|
||||||
|
. = '
|
||||||
|
/ = ?
|
||||||
|
1 = `
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = •
|
||||||
|
9 =
|
||||||
|
; = ;
|
||||||
|
= = −
|
||||||
|
[ =
|
||||||
|
\ = ‐
|
||||||
|
] =
|
||||||
|
b =
|
||||||
|
d = ى
|
||||||
|
h = ٱ
|
||||||
|
i =
|
||||||
|
k = ﴾
|
||||||
|
l = ﴿
|
||||||
|
m = …
|
||||||
|
n = ٕ
|
||||||
|
o =
|
||||||
|
p =
|
||||||
|
q = °
|
||||||
|
v = ٖ
|
||||||
|
|
||||||
|
[ir_altgr+ir_shift]
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
175
cros-keyboard-map/keyd/layouts/is
Normal file
175
cros-keyboard-map/keyd/layouts/is
Normal file
|
@ -0,0 +1,175 @@
|
||||||
|
[is:layout]
|
||||||
|
|
||||||
|
, = ,
|
||||||
|
- = ö
|
||||||
|
. = .
|
||||||
|
/ = þ
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = æ
|
||||||
|
= = -
|
||||||
|
[ = ð
|
||||||
|
\ = +
|
||||||
|
] = '
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(is_shift)
|
||||||
|
altgr = layer(is_altgr)
|
||||||
|
|
||||||
|
[is_shift:S]
|
||||||
|
, = ;
|
||||||
|
- = Ö
|
||||||
|
. = :
|
||||||
|
/ = Þ
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = Æ
|
||||||
|
= = _
|
||||||
|
[ = Ð
|
||||||
|
\ = *
|
||||||
|
] = ?
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[is_altgr:G]
|
||||||
|
, = •
|
||||||
|
- = \
|
||||||
|
. = ·
|
||||||
|
1 = ¹
|
||||||
|
2 = ²
|
||||||
|
3 = ³
|
||||||
|
4 = ¼
|
||||||
|
5 = ½
|
||||||
|
6 = ¬
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
; = ^
|
||||||
|
\ = `
|
||||||
|
] = ~
|
||||||
|
a = æ
|
||||||
|
b = “
|
||||||
|
c = ¢
|
||||||
|
d = „
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ”
|
||||||
|
o = ø
|
||||||
|
p = |
|
||||||
|
q = @
|
||||||
|
r = ¶
|
||||||
|
s = ß
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ſ
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[is_altgr+is_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
1 = ¡
|
||||||
|
2 = ⅛
|
||||||
|
3 = £
|
||||||
|
4 = ¤
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
a = Æ
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = “
|
||||||
|
e = ¢
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Ø
|
||||||
|
p = π
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
178
cros-keyboard-map/keyd/layouts/it
Normal file
178
cros-keyboard-map/keyd/layouts/it
Normal file
|
@ -0,0 +1,178 @@
|
||||||
|
[it:layout]
|
||||||
|
|
||||||
|
' = à
|
||||||
|
, = ,
|
||||||
|
- = '
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ò
|
||||||
|
= = ì
|
||||||
|
[ = è
|
||||||
|
\ = ù
|
||||||
|
] = +
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(it_shift)
|
||||||
|
altgr = layer(it_altgr)
|
||||||
|
|
||||||
|
[it_shift:S]
|
||||||
|
' = °
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = ç
|
||||||
|
= = ^
|
||||||
|
[ = é
|
||||||
|
\ = §
|
||||||
|
] = *
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[it_altgr:G]
|
||||||
|
' = #
|
||||||
|
- = `
|
||||||
|
. = ·
|
||||||
|
1 = ¹
|
||||||
|
2 = ²
|
||||||
|
3 = ³
|
||||||
|
4 = ¼
|
||||||
|
5 = ½
|
||||||
|
6 = ¬
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
; = @
|
||||||
|
= = ~
|
||||||
|
[ = [
|
||||||
|
] = ]
|
||||||
|
a = æ
|
||||||
|
b = ”
|
||||||
|
c = ¢
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ñ
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = @
|
||||||
|
r = ¶
|
||||||
|
s = ß
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = “
|
||||||
|
w = ſ
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[it_altgr+it_shift]
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
/ = ÷
|
||||||
|
1 = ¡
|
||||||
|
4 = ⅛
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
[ = {
|
||||||
|
] = }
|
||||||
|
a = Æ
|
||||||
|
b = ’
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = ¢
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = Ñ
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‘
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
95
cros-keyboard-map/keyd/layouts/jp
Normal file
95
cros-keyboard-map/keyd/layouts/jp
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[jp:layout]
|
||||||
|
|
||||||
|
' = :
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = ^
|
||||||
|
[ = @
|
||||||
|
\ = ]
|
||||||
|
] = [
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(jp_shift)
|
||||||
|
|
||||||
|
[jp_shift:S]
|
||||||
|
' = *
|
||||||
|
, = <
|
||||||
|
- = =
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = '
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = +
|
||||||
|
= = ~
|
||||||
|
[ = `
|
||||||
|
\ = }
|
||||||
|
] = {
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
95
cros-keyboard-map/keyd/layouts/jv
Normal file
95
cros-keyboard-map/keyd/layouts/jv
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[jv:layout]
|
||||||
|
|
||||||
|
' = ꦵ
|
||||||
|
, = ꧈
|
||||||
|
- = ꦎ
|
||||||
|
. = ꧉
|
||||||
|
/ = ꦂ
|
||||||
|
1 = ꧑
|
||||||
|
2 = ꧒
|
||||||
|
3 = ꧓
|
||||||
|
4 = ꧔
|
||||||
|
5 = ꧕
|
||||||
|
6 = ꧖
|
||||||
|
7 = ꧗
|
||||||
|
8 = ꧘
|
||||||
|
9 = ꧙
|
||||||
|
; = ꧇
|
||||||
|
= = ꦉ
|
||||||
|
[ = ꧊
|
||||||
|
\ = ꧀
|
||||||
|
] = ꧌
|
||||||
|
a = ꦻ
|
||||||
|
b = ꦧ
|
||||||
|
c = ꦕ
|
||||||
|
d = ꦢ
|
||||||
|
e = ꦼ
|
||||||
|
f = ꦝ
|
||||||
|
g = ꦒ
|
||||||
|
h = ꦲ
|
||||||
|
i = ꦶ
|
||||||
|
j = ꦗ
|
||||||
|
k = ꦏ
|
||||||
|
l = ꦭ
|
||||||
|
m = ꦩ
|
||||||
|
n = ꦤ
|
||||||
|
o = ꦺ
|
||||||
|
p = ꦥ
|
||||||
|
q = ꦐ
|
||||||
|
r = ꦫ
|
||||||
|
s = ꦱ
|
||||||
|
t = ꦠ
|
||||||
|
u = ꦸ
|
||||||
|
v = ꦛ
|
||||||
|
w = ꦮ
|
||||||
|
x = ꦚ
|
||||||
|
y = ꦪ
|
||||||
|
z = ꦔ
|
||||||
|
shift = layer(jv_shift)
|
||||||
|
|
||||||
|
[jv_shift:S]
|
||||||
|
' = "
|
||||||
|
, = ꦆ
|
||||||
|
- = _
|
||||||
|
. = ꦇ
|
||||||
|
/ = ?
|
||||||
|
1 = ꧆
|
||||||
|
2 = ꧏ
|
||||||
|
3 = ꧃
|
||||||
|
4 = ꧄
|
||||||
|
5 = ꧅
|
||||||
|
6 = ꦿ
|
||||||
|
7 = ꦽ
|
||||||
|
8 = ꦳
|
||||||
|
9 = ꧁
|
||||||
|
; = ꦈ
|
||||||
|
= = ꦋ
|
||||||
|
[ = ꧋
|
||||||
|
\ = ꦅ
|
||||||
|
] = ꧍
|
||||||
|
a = ꦄ
|
||||||
|
b = ꦨ
|
||||||
|
c = ꦖ
|
||||||
|
d = ꦣ
|
||||||
|
e = ꦌ
|
||||||
|
f = ꦞ
|
||||||
|
g = ꦓ
|
||||||
|
h = ꦃ
|
||||||
|
i = ꦷ
|
||||||
|
j = ꦙ
|
||||||
|
k = ꦑ
|
||||||
|
l = ꦊ
|
||||||
|
m = ꦀ
|
||||||
|
n = ꦟ
|
||||||
|
o = ꦴ
|
||||||
|
p = ꦦ
|
||||||
|
q = ꦰ
|
||||||
|
r = ꦬ
|
||||||
|
s = ꦯ
|
||||||
|
t = ꦡ
|
||||||
|
u = ꦹ
|
||||||
|
v = ꦜ
|
||||||
|
w = ꦍ
|
||||||
|
x = ꦘ
|
||||||
|
y = ꦾ
|
||||||
|
z = ꦁ
|
110
cros-keyboard-map/keyd/layouts/ke
Normal file
110
cros-keyboard-map/keyd/layouts/ke
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
[ke:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(ke_shift)
|
||||||
|
altgr = layer(ke_altgr)
|
||||||
|
|
||||||
|
[ke_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = |
|
||||||
|
] = }
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[ke_altgr:G]
|
||||||
|
' = ́
|
||||||
|
- = ̄
|
||||||
|
6 = ̂
|
||||||
|
8 = ̇
|
||||||
|
9 = ̆
|
||||||
|
; = ̤
|
||||||
|
|
||||||
|
[ke_altgr+ke_shift]
|
||||||
|
' = ̈
|
||||||
|
- = ̱
|
||||||
|
8 = ̣
|
||||||
|
; = ̤
|
95
cros-keyboard-map/keyd/layouts/kg
Normal file
95
cros-keyboard-map/keyd/layouts/kg
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[kg:layout]
|
||||||
|
|
||||||
|
' = э
|
||||||
|
, = б
|
||||||
|
- = ө
|
||||||
|
. = ю
|
||||||
|
/ = .
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ж
|
||||||
|
= = ң
|
||||||
|
[ = х
|
||||||
|
\ = ү
|
||||||
|
] = ъ
|
||||||
|
a = ф
|
||||||
|
b = и
|
||||||
|
c = с
|
||||||
|
d = в
|
||||||
|
e = у
|
||||||
|
f = а
|
||||||
|
g = п
|
||||||
|
h = р
|
||||||
|
i = ш
|
||||||
|
j = о
|
||||||
|
k = л
|
||||||
|
l = д
|
||||||
|
m = ь
|
||||||
|
n = т
|
||||||
|
o = щ
|
||||||
|
p = з
|
||||||
|
q = й
|
||||||
|
r = к
|
||||||
|
s = ы
|
||||||
|
t = е
|
||||||
|
u = г
|
||||||
|
v = м
|
||||||
|
w = ц
|
||||||
|
x = ч
|
||||||
|
y = н
|
||||||
|
z = я
|
||||||
|
shift = layer(kg_shift)
|
||||||
|
|
||||||
|
[kg_shift:S]
|
||||||
|
' = Э
|
||||||
|
, = Б
|
||||||
|
- = Ө
|
||||||
|
. = Ю
|
||||||
|
/ = ,
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = №
|
||||||
|
4 = ;
|
||||||
|
5 = %
|
||||||
|
6 = :
|
||||||
|
7 = ?
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = Ж
|
||||||
|
= = Ң
|
||||||
|
[ = Х
|
||||||
|
\ = Ү
|
||||||
|
] = Ъ
|
||||||
|
a = Ф
|
||||||
|
b = И
|
||||||
|
c = С
|
||||||
|
d = В
|
||||||
|
e = У
|
||||||
|
f = А
|
||||||
|
g = П
|
||||||
|
h = Р
|
||||||
|
i = Ш
|
||||||
|
j = О
|
||||||
|
k = Л
|
||||||
|
l = Д
|
||||||
|
m = Ь
|
||||||
|
n = Т
|
||||||
|
o = Щ
|
||||||
|
p = З
|
||||||
|
q = Й
|
||||||
|
r = К
|
||||||
|
s = Ы
|
||||||
|
t = Е
|
||||||
|
u = Г
|
||||||
|
v = М
|
||||||
|
w = Ц
|
||||||
|
x = Ч
|
||||||
|
y = Н
|
||||||
|
z = Я
|
170
cros-keyboard-map/keyd/layouts/kh
Normal file
170
cros-keyboard-map/keyd/layouts/kh
Normal file
|
@ -0,0 +1,170 @@
|
||||||
|
[kh:layout]
|
||||||
|
|
||||||
|
' = ់
|
||||||
|
, =
|
||||||
|
- = ឥ
|
||||||
|
. = ។
|
||||||
|
/ = ៊
|
||||||
|
1 = ១
|
||||||
|
2 = ២
|
||||||
|
3 = ៣
|
||||||
|
4 = ៤
|
||||||
|
5 = ៥
|
||||||
|
6 = ៦
|
||||||
|
7 = ៧
|
||||||
|
8 = ៨
|
||||||
|
9 = ៩
|
||||||
|
; = ើ
|
||||||
|
= = ឲ
|
||||||
|
[ = ៀ
|
||||||
|
\ = ឮ
|
||||||
|
] = ឪ
|
||||||
|
a = ា
|
||||||
|
b = ប
|
||||||
|
c = ច
|
||||||
|
d = ដ
|
||||||
|
e = េ
|
||||||
|
f = ថ
|
||||||
|
g = ង
|
||||||
|
h = ហ
|
||||||
|
i = ិ
|
||||||
|
j = ្
|
||||||
|
k = ក
|
||||||
|
l = ល
|
||||||
|
m = ម
|
||||||
|
n = ន
|
||||||
|
o = ោ
|
||||||
|
p = ផ
|
||||||
|
q = ឆ
|
||||||
|
r = រ
|
||||||
|
s = ស
|
||||||
|
t = ត
|
||||||
|
u = ុ
|
||||||
|
v = វ
|
||||||
|
w = ឹ
|
||||||
|
x = ខ
|
||||||
|
y = យ
|
||||||
|
z = ឋ
|
||||||
|
shift = layer(kh_shift)
|
||||||
|
altgr = layer(kh_altgr)
|
||||||
|
|
||||||
|
[kh_shift:S]
|
||||||
|
' = ៉
|
||||||
|
, =
|
||||||
|
- = ៌
|
||||||
|
. = ៕
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = ៗ
|
||||||
|
3 = "
|
||||||
|
4 = ៛
|
||||||
|
5 = %
|
||||||
|
6 = ៍
|
||||||
|
7 = ័
|
||||||
|
8 = ៏
|
||||||
|
9 = (
|
||||||
|
; =
|
||||||
|
= = =
|
||||||
|
[ = ឿ
|
||||||
|
\ = ឭ
|
||||||
|
] = ឧ
|
||||||
|
a =
|
||||||
|
b = ព
|
||||||
|
c = ជ
|
||||||
|
d = ឌ
|
||||||
|
e = ែ
|
||||||
|
f = ធ
|
||||||
|
g = អ
|
||||||
|
h = ះ
|
||||||
|
i = ី
|
||||||
|
j = ញ
|
||||||
|
k = គ
|
||||||
|
l = ឡ
|
||||||
|
m = ំ
|
||||||
|
n = ណ
|
||||||
|
o = ៅ
|
||||||
|
p = ភ
|
||||||
|
q = ឈ
|
||||||
|
r = ឬ
|
||||||
|
s = ៃ
|
||||||
|
t = ទ
|
||||||
|
u = ូ
|
||||||
|
v =
|
||||||
|
w = ឺ
|
||||||
|
x = ឃ
|
||||||
|
y = ួ
|
||||||
|
z = ឍ
|
||||||
|
|
||||||
|
[kh_altgr:G]
|
||||||
|
' = ៈ
|
||||||
|
, = ,
|
||||||
|
- = x
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 =
|
||||||
|
2 = @
|
||||||
|
3 = ៑
|
||||||
|
4 = $
|
||||||
|
5 = €
|
||||||
|
6 = ៙
|
||||||
|
7 = ៚
|
||||||
|
8 = *
|
||||||
|
9 = {
|
||||||
|
; = ៖
|
||||||
|
= = ៎
|
||||||
|
[ = ឩ
|
||||||
|
\ = \
|
||||||
|
] = ឳ
|
||||||
|
b = ឞ
|
||||||
|
e = ឯ
|
||||||
|
i = ឦ
|
||||||
|
k = ឝ
|
||||||
|
o = ឱ
|
||||||
|
p = ឰ
|
||||||
|
q = ៜ
|
||||||
|
r = ឫ
|
||||||
|
t = ឨ
|
||||||
|
w = ៝
|
||||||
|
|
||||||
|
[kh_altgr+kh_shift]
|
||||||
|
' = ᧶
|
||||||
|
, = ᧾
|
||||||
|
. = ᧿
|
||||||
|
1 = ៱
|
||||||
|
2 = ៲
|
||||||
|
3 = ៳
|
||||||
|
4 = ៴
|
||||||
|
5 = ៵
|
||||||
|
6 = ៶
|
||||||
|
7 = ៷
|
||||||
|
8 = ៸
|
||||||
|
9 = ៹
|
||||||
|
; = ᧵
|
||||||
|
[ = ᧪
|
||||||
|
] = ᧫
|
||||||
|
a = ᧬
|
||||||
|
b = ᧻
|
||||||
|
c = ᧹
|
||||||
|
d = ᧮
|
||||||
|
e = ᧢
|
||||||
|
f = ᧯
|
||||||
|
g = ᧰
|
||||||
|
h = ᧱
|
||||||
|
i = ᧧
|
||||||
|
j = ᧲
|
||||||
|
k = ᧳
|
||||||
|
l = ᧴
|
||||||
|
m = ᧽
|
||||||
|
n = ᧼
|
||||||
|
o = ᧨
|
||||||
|
p = ᧩
|
||||||
|
q = ᧠
|
||||||
|
r = ᧣
|
||||||
|
s = ᧭
|
||||||
|
t = ᧤
|
||||||
|
u = ᧦
|
||||||
|
v = ᧺
|
||||||
|
w = ᧡
|
||||||
|
x = ᧸
|
||||||
|
y = ᧥
|
||||||
|
z = ᧷
|
95
cros-keyboard-map/keyd/layouts/kr
Normal file
95
cros-keyboard-map/keyd/layouts/kr
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[kr:layout]
|
||||||
|
|
||||||
|
' = '
|
||||||
|
, = ,
|
||||||
|
- = -
|
||||||
|
. = .
|
||||||
|
/ = /
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ;
|
||||||
|
= = =
|
||||||
|
[ = [
|
||||||
|
\ = \
|
||||||
|
] = ]
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(kr_shift)
|
||||||
|
|
||||||
|
[kr_shift:S]
|
||||||
|
' = "
|
||||||
|
, = <
|
||||||
|
- = _
|
||||||
|
. = >
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = @
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = ^
|
||||||
|
7 = &
|
||||||
|
8 = *
|
||||||
|
9 = (
|
||||||
|
; = :
|
||||||
|
= = +
|
||||||
|
[ = {
|
||||||
|
\ = |
|
||||||
|
] = }
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
95
cros-keyboard-map/keyd/layouts/kz
Normal file
95
cros-keyboard-map/keyd/layouts/kz
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
[kz:layout]
|
||||||
|
|
||||||
|
' = э
|
||||||
|
, = б
|
||||||
|
- = ө
|
||||||
|
. = ю
|
||||||
|
/ = №
|
||||||
|
1 = "
|
||||||
|
2 = ә
|
||||||
|
3 = і
|
||||||
|
4 = ң
|
||||||
|
5 = ғ
|
||||||
|
6 = ,
|
||||||
|
7 = .
|
||||||
|
8 = ү
|
||||||
|
9 = ұ
|
||||||
|
; = ж
|
||||||
|
= = һ
|
||||||
|
[ = х
|
||||||
|
\ = \
|
||||||
|
] = ъ
|
||||||
|
a = ф
|
||||||
|
b = и
|
||||||
|
c = с
|
||||||
|
d = в
|
||||||
|
e = у
|
||||||
|
f = а
|
||||||
|
g = п
|
||||||
|
h = р
|
||||||
|
i = ш
|
||||||
|
j = о
|
||||||
|
k = л
|
||||||
|
l = д
|
||||||
|
m = ь
|
||||||
|
n = т
|
||||||
|
o = щ
|
||||||
|
p = з
|
||||||
|
q = й
|
||||||
|
r = к
|
||||||
|
s = ы
|
||||||
|
t = е
|
||||||
|
u = г
|
||||||
|
v = м
|
||||||
|
w = ц
|
||||||
|
x = ч
|
||||||
|
y = н
|
||||||
|
z = я
|
||||||
|
shift = layer(kz_shift)
|
||||||
|
|
||||||
|
[kz_shift:S]
|
||||||
|
' = Э
|
||||||
|
, = Б
|
||||||
|
- = Ө
|
||||||
|
. = Ю
|
||||||
|
/ = ?
|
||||||
|
1 = !
|
||||||
|
2 = Ә
|
||||||
|
3 = І
|
||||||
|
4 = Ң
|
||||||
|
5 = Ғ
|
||||||
|
6 = ;
|
||||||
|
7 = :
|
||||||
|
8 = Ү
|
||||||
|
9 = Ұ
|
||||||
|
; = Ж
|
||||||
|
= = Һ
|
||||||
|
[ = Х
|
||||||
|
\ = /
|
||||||
|
] = Ъ
|
||||||
|
a = Ф
|
||||||
|
b = И
|
||||||
|
c = С
|
||||||
|
d = В
|
||||||
|
e = У
|
||||||
|
f = А
|
||||||
|
g = П
|
||||||
|
h = Р
|
||||||
|
i = Ш
|
||||||
|
j = О
|
||||||
|
k = Л
|
||||||
|
l = Д
|
||||||
|
m = Ь
|
||||||
|
n = Т
|
||||||
|
o = Щ
|
||||||
|
p = З
|
||||||
|
q = Й
|
||||||
|
r = К
|
||||||
|
s = Ы
|
||||||
|
t = Е
|
||||||
|
u = Г
|
||||||
|
v = М
|
||||||
|
w = Ц
|
||||||
|
x = Ч
|
||||||
|
y = Н
|
||||||
|
z = Я
|
85
cros-keyboard-map/keyd/layouts/la
Normal file
85
cros-keyboard-map/keyd/layouts/la
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
[la:layout]
|
||||||
|
|
||||||
|
' = ງ
|
||||||
|
, = ມ
|
||||||
|
- = ຊ
|
||||||
|
. = ໃ
|
||||||
|
/ = ຝ
|
||||||
|
1 = ຢ
|
||||||
|
2 = ຟ
|
||||||
|
3 = ໂ
|
||||||
|
4 = ຖ
|
||||||
|
5 = ຸ
|
||||||
|
6 = ູ
|
||||||
|
7 = ຄ
|
||||||
|
8 = ຕ
|
||||||
|
9 = ຈ
|
||||||
|
; = ວ
|
||||||
|
= = ໍ
|
||||||
|
[ = ບ
|
||||||
|
\ = ໜ
|
||||||
|
] = ລ
|
||||||
|
a = ັ
|
||||||
|
b = ຶ
|
||||||
|
c = ແ
|
||||||
|
d = ກ
|
||||||
|
e = ຳ
|
||||||
|
f = ດ
|
||||||
|
g = ເ
|
||||||
|
h = ້
|
||||||
|
i = ຣ
|
||||||
|
j = ່
|
||||||
|
k = າ
|
||||||
|
l = ສ
|
||||||
|
m = ທ
|
||||||
|
n = ື
|
||||||
|
o = ນ
|
||||||
|
p = ຍ
|
||||||
|
q = ົ
|
||||||
|
r = ພ
|
||||||
|
s = ຫ
|
||||||
|
t = ະ
|
||||||
|
u = ີ
|
||||||
|
v = ອ
|
||||||
|
w = ໄ
|
||||||
|
x = ປ
|
||||||
|
y = ິ
|
||||||
|
z = ຜ
|
||||||
|
shift = layer(la_shift)
|
||||||
|
|
||||||
|
[la_shift:S]
|
||||||
|
' = =
|
||||||
|
, = `
|
||||||
|
- = ໙
|
||||||
|
. = $
|
||||||
|
/ = )
|
||||||
|
1 = ໑
|
||||||
|
2 = ໒
|
||||||
|
3 = ໓
|
||||||
|
4 = ໔
|
||||||
|
5 = ໌
|
||||||
|
6 = ຼ
|
||||||
|
7 = ໕
|
||||||
|
8 = ໖
|
||||||
|
9 = ໗
|
||||||
|
; = %
|
||||||
|
[ = -
|
||||||
|
\ = ໝ
|
||||||
|
] = }
|
||||||
|
c = ຯ
|
||||||
|
d = .
|
||||||
|
f = ,
|
||||||
|
g = :
|
||||||
|
h = ໊
|
||||||
|
i = ຮ
|
||||||
|
j = ໋
|
||||||
|
k = !
|
||||||
|
l = ?
|
||||||
|
m = ໆ
|
||||||
|
p = ຽ
|
||||||
|
r = _
|
||||||
|
s = ;
|
||||||
|
t = +
|
||||||
|
w = ໐
|
||||||
|
x = (
|
||||||
|
z = ₭
|
176
cros-keyboard-map/keyd/layouts/latam
Normal file
176
cros-keyboard-map/keyd/layouts/latam
Normal file
|
@ -0,0 +1,176 @@
|
||||||
|
[latam:layout]
|
||||||
|
|
||||||
|
' = {
|
||||||
|
, = ,
|
||||||
|
- = '
|
||||||
|
. = .
|
||||||
|
/ = -
|
||||||
|
1 = 1
|
||||||
|
2 = 2
|
||||||
|
3 = 3
|
||||||
|
4 = 4
|
||||||
|
5 = 5
|
||||||
|
6 = 6
|
||||||
|
7 = 7
|
||||||
|
8 = 8
|
||||||
|
9 = 9
|
||||||
|
; = ñ
|
||||||
|
= = ¿
|
||||||
|
\ = }
|
||||||
|
] = +
|
||||||
|
a = a
|
||||||
|
b = b
|
||||||
|
c = c
|
||||||
|
d = d
|
||||||
|
e = e
|
||||||
|
f = f
|
||||||
|
g = g
|
||||||
|
h = h
|
||||||
|
i = i
|
||||||
|
j = j
|
||||||
|
k = k
|
||||||
|
l = l
|
||||||
|
m = m
|
||||||
|
n = n
|
||||||
|
o = o
|
||||||
|
p = p
|
||||||
|
q = q
|
||||||
|
r = r
|
||||||
|
s = s
|
||||||
|
t = t
|
||||||
|
u = u
|
||||||
|
v = v
|
||||||
|
w = w
|
||||||
|
x = x
|
||||||
|
y = y
|
||||||
|
z = z
|
||||||
|
shift = layer(latam_shift)
|
||||||
|
altgr = layer(latam_altgr)
|
||||||
|
|
||||||
|
[latam_shift:S]
|
||||||
|
' = [
|
||||||
|
, = ;
|
||||||
|
- = ?
|
||||||
|
. = :
|
||||||
|
/ = _
|
||||||
|
1 = !
|
||||||
|
2 = "
|
||||||
|
3 = #
|
||||||
|
4 = $
|
||||||
|
5 = %
|
||||||
|
6 = &
|
||||||
|
7 = /
|
||||||
|
8 = (
|
||||||
|
9 = )
|
||||||
|
; = Ñ
|
||||||
|
= = ¡
|
||||||
|
\ = ]
|
||||||
|
] = *
|
||||||
|
a = A
|
||||||
|
b = B
|
||||||
|
c = C
|
||||||
|
d = D
|
||||||
|
e = E
|
||||||
|
f = F
|
||||||
|
g = G
|
||||||
|
h = H
|
||||||
|
i = I
|
||||||
|
j = J
|
||||||
|
k = K
|
||||||
|
l = L
|
||||||
|
m = M
|
||||||
|
n = N
|
||||||
|
o = O
|
||||||
|
p = P
|
||||||
|
q = Q
|
||||||
|
r = R
|
||||||
|
s = S
|
||||||
|
t = T
|
||||||
|
u = U
|
||||||
|
v = V
|
||||||
|
w = W
|
||||||
|
x = X
|
||||||
|
y = Y
|
||||||
|
z = Z
|
||||||
|
|
||||||
|
[latam_altgr:G]
|
||||||
|
, = •
|
||||||
|
- = \
|
||||||
|
. = ·
|
||||||
|
1 = |
|
||||||
|
2 = @
|
||||||
|
3 = ·
|
||||||
|
4 = ~
|
||||||
|
5 = ½
|
||||||
|
6 = ¬
|
||||||
|
7 = {
|
||||||
|
8 = [
|
||||||
|
9 = ]
|
||||||
|
; = ~
|
||||||
|
] = ~
|
||||||
|
a = æ
|
||||||
|
b = “
|
||||||
|
c = ¢
|
||||||
|
d = ð
|
||||||
|
e = €
|
||||||
|
f = đ
|
||||||
|
g = ŋ
|
||||||
|
h = ħ
|
||||||
|
i = →
|
||||||
|
k = ĸ
|
||||||
|
l = ł
|
||||||
|
m = µ
|
||||||
|
n = ”
|
||||||
|
o = ø
|
||||||
|
p = þ
|
||||||
|
q = @
|
||||||
|
r = ¶
|
||||||
|
s = ß
|
||||||
|
t = ŧ
|
||||||
|
u = ↓
|
||||||
|
v = „
|
||||||
|
w = ſ
|
||||||
|
x = »
|
||||||
|
y = ←
|
||||||
|
z = «
|
||||||
|
|
||||||
|
[latam_altgr+latam_shift]
|
||||||
|
' = {
|
||||||
|
, = ×
|
||||||
|
- = ¿
|
||||||
|
. = ÷
|
||||||
|
1 = ¡
|
||||||
|
2 = ⅛
|
||||||
|
3 = £
|
||||||
|
4 = $
|
||||||
|
5 = ⅜
|
||||||
|
6 = ⅝
|
||||||
|
7 = ⅞
|
||||||
|
8 = ™
|
||||||
|
9 = ±
|
||||||
|
\ = }
|
||||||
|
a = Æ
|
||||||
|
b = ‘
|
||||||
|
c = ©
|
||||||
|
d = Ð
|
||||||
|
e = ¢
|
||||||
|
f = ª
|
||||||
|
g = Ŋ
|
||||||
|
h = Ħ
|
||||||
|
i = ı
|
||||||
|
k = &
|
||||||
|
l = Ł
|
||||||
|
m = º
|
||||||
|
n = ’
|
||||||
|
o = Ø
|
||||||
|
p = Þ
|
||||||
|
q = Ω
|
||||||
|
r = ®
|
||||||
|
s = ẞ
|
||||||
|
t = Ŧ
|
||||||
|
u = ↑
|
||||||
|
v = ‚
|
||||||
|
w = §
|
||||||
|
x = >
|
||||||
|
y = ¥
|
||||||
|
z = <
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue