Abandon travis-ci for jenkins
All checks were successful
moparisthebest/rusty-keys/pipeline/head This commit looks good
All checks were successful
moparisthebest/rusty-keys/pipeline/head This commit looks good
This commit is contained in:
parent
965c446b51
commit
bd87beb211
46
.ci/Jenkinsfile
vendored
Normal file
46
.ci/Jenkinsfile
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
properties(
|
||||||
|
[
|
||||||
|
disableConcurrentBuilds()
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
node('linux && docker') {
|
||||||
|
try {
|
||||||
|
stage('Checkout') {
|
||||||
|
//branch name from Jenkins environment variables
|
||||||
|
echo "My branch is: ${env.BRANCH_NAME}"
|
||||||
|
|
||||||
|
// this doesn't grab tags pointing to this branch
|
||||||
|
//checkout scm
|
||||||
|
// this hack does... https://issues.jenkins.io/browse/JENKINS-45164
|
||||||
|
checkout([
|
||||||
|
$class: 'GitSCM',
|
||||||
|
branches: [[name: 'refs/heads/'+env.BRANCH_NAME]],
|
||||||
|
extensions: [[$class: 'CloneOption', noTags: false, shallow: false, depth: 0, reference: '']],
|
||||||
|
userRemoteConfigs: scm.userRemoteConfigs,
|
||||||
|
])
|
||||||
|
sh '''
|
||||||
|
set -euxo pipefail
|
||||||
|
git checkout "$BRANCH_NAME" --
|
||||||
|
git reset --hard "origin/$BRANCH_NAME"
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Build + Deploy') {
|
||||||
|
sh '''
|
||||||
|
mkdir -p release
|
||||||
|
cp keymap.toml release
|
||||||
|
curl --compressed -sL https://code.moparisthebest.com/moparisthebest/self-ci/raw/branch/master/build-ci.sh | bash
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
|
||||||
|
currentBuild.result = 'SUCCESS'
|
||||||
|
} catch (Exception err) {
|
||||||
|
currentBuild.result = 'FAILURE'
|
||||||
|
} finally {
|
||||||
|
stage('Email') {
|
||||||
|
step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'admin.jenkins@moparisthebest.com', sendToIndividuals: true])
|
||||||
|
}
|
||||||
|
deleteDir()
|
||||||
|
}
|
||||||
|
}
|
36
.ci/build.sh
Executable file
36
.ci/build.sh
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -exo pipefail
|
||||||
|
|
||||||
|
echo "starting build for TARGET $TARGET"
|
||||||
|
|
||||||
|
export CRATE_NAME=rusty-keys
|
||||||
|
|
||||||
|
DISABLE_TESTS=${DISABLE_TESTS:-0}
|
||||||
|
|
||||||
|
SUFFIX=""
|
||||||
|
|
||||||
|
echo "$TARGET" | grep -E '^x86_64-pc-windows-gnu$' >/dev/null && SUFFIX=".exe"
|
||||||
|
|
||||||
|
[ "$TARGET" == 'riscv64gc-unknown-linux-gnu' ] && echo 'riscv64gc-unknown-linux-gnu is not yet supported by inotify, skipping build...' && exit 0
|
||||||
|
|
||||||
|
# no main impl for these platforms
|
||||||
|
echo "$TARGET" | grep -E '(android|solaris$)' >/dev/null && DISABLE_TESTS=1
|
||||||
|
|
||||||
|
cross build --target $TARGET --release
|
||||||
|
|
||||||
|
# to check how they are built
|
||||||
|
file "target/$TARGET/release/rusty-keys$SUFFIX"
|
||||||
|
|
||||||
|
if [ $DISABLE_TESTS -ne 1 ]
|
||||||
|
then
|
||||||
|
# only going to run --help I guess
|
||||||
|
cross run --target $TARGET --release --bin rusty-keys -- -h
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if this commit has a tag, upload artifact to release
|
||||||
|
strip "target/$TARGET/release/rusty-keys$SUFFIX" || true # if strip fails, it's fine
|
||||||
|
mkdir -p release
|
||||||
|
mv "target/$TARGET/release/rusty-keys$SUFFIX" "release/rusty-keys-$TARGET$SUFFIX"
|
||||||
|
|
||||||
|
echo 'build success!'
|
||||||
|
exit 0
|
97
.travis.yml
97
.travis.yml
@ -1,97 +0,0 @@
|
|||||||
# Based on the "trust" template v0.1.2
|
|
||||||
# https://github.com/japaric/trust/tree/v0.1.2
|
|
||||||
|
|
||||||
dist: trusty
|
|
||||||
language: rust
|
|
||||||
services: docker
|
|
||||||
sudo: required
|
|
||||||
|
|
||||||
# TODO Rust builds on stable by default, this can be
|
|
||||||
# overridden on a case by case basis down below.
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
# TODO Update this to match the name of your project.
|
|
||||||
- CRATE_NAME=rusty-keys
|
|
||||||
|
|
||||||
matrix:
|
|
||||||
# TODO These are all the build jobs. Adjust as necessary. Comment out what you
|
|
||||||
# don't need
|
|
||||||
include:
|
|
||||||
# Android
|
|
||||||
- env: TARGET=aarch64-linux-android DISABLE_TESTS=1
|
|
||||||
- env: TARGET=arm-linux-androideabi DISABLE_TESTS=1
|
|
||||||
- env: TARGET=armv7-linux-androideabi DISABLE_TESTS=1
|
|
||||||
- env: TARGET=i686-linux-android DISABLE_TESTS=1
|
|
||||||
- env: TARGET=x86_64-linux-android DISABLE_TESTS=1
|
|
||||||
|
|
||||||
# Linux
|
|
||||||
- env: TARGET=aarch64-unknown-linux-gnu
|
|
||||||
- env: TARGET=arm-unknown-linux-gnueabi
|
|
||||||
- env: TARGET=armv7-unknown-linux-gnueabihf
|
|
||||||
- env: TARGET=i686-unknown-linux-gnu
|
|
||||||
- env: TARGET=i686-unknown-linux-musl
|
|
||||||
- env: TARGET=mips-unknown-linux-gnu
|
|
||||||
- env: TARGET=mips64-unknown-linux-gnuabi64
|
|
||||||
- env: TARGET=mips64el-unknown-linux-gnuabi64
|
|
||||||
- env: TARGET=mipsel-unknown-linux-gnu
|
|
||||||
- env: TARGET=powerpc-unknown-linux-gnu
|
|
||||||
- env: TARGET=powerpc64le-unknown-linux-gnu
|
|
||||||
- env: TARGET=s390x-unknown-linux-gnu
|
|
||||||
- env: TARGET=x86_64-unknown-linux-gnu
|
|
||||||
- env: TARGET=x86_64-unknown-linux-musl
|
|
||||||
|
|
||||||
# Windows
|
|
||||||
- env: TARGET=x86_64-pc-windows-gnu
|
|
||||||
|
|
||||||
# Testing other channels
|
|
||||||
- env: TARGET=x86_64-unknown-linux-gnu
|
|
||||||
rust: nightly
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- set -e
|
|
||||||
- rustup self update
|
|
||||||
|
|
||||||
install:
|
|
||||||
- sh ci/install.sh
|
|
||||||
- source ~/.cargo/env || true
|
|
||||||
|
|
||||||
script:
|
|
||||||
- bash ci/script.sh
|
|
||||||
|
|
||||||
after_script: set +e
|
|
||||||
|
|
||||||
before_deploy:
|
|
||||||
- sh ci/before_deploy.sh
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
# TODO update `api_key.secure`
|
|
||||||
# - Create a `public_repo` GitHub token. Go to: https://github.com/settings/tokens/new
|
|
||||||
# - Encrypt it: `travis encrypt 0123456789012345678901234567890123456789
|
|
||||||
# - Paste the output down here
|
|
||||||
api_key:
|
|
||||||
secure: $GITHUB_OAUTH
|
|
||||||
file_glob: true
|
|
||||||
file: $CRATE_NAME-$TRAVIS_TAG-$TARGET*
|
|
||||||
on:
|
|
||||||
# TODO Here you can pick which targets will generate binary releases
|
|
||||||
# In this example, there are some targets that are tested using the stable
|
|
||||||
# and nightly channels. This condition makes sure there is only one release
|
|
||||||
# for such targets and that's generated using the stable channel
|
|
||||||
condition: $TRAVIS_RUST_VERSION = stable
|
|
||||||
tags: true
|
|
||||||
provider: releases
|
|
||||||
skip_cleanup: true
|
|
||||||
|
|
||||||
cache: cargo
|
|
||||||
before_cache:
|
|
||||||
# Travis can't cache files that are not readable by "others"
|
|
||||||
- chmod -R a+r $HOME/.cargo
|
|
||||||
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
# release tags
|
|
||||||
- /^v\d+\.\d+\.\d+.*$/
|
|
||||||
- master
|
|
||||||
- dev
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
|||||||
rusty-keys
|
rusty-keys
|
||||||
======
|
==========
|
||||||
|
|
||||||
|
[![Build Status](https://ci.moparisthe.best/job/moparisthebest/job/rusty-keys/job/master/badge/icon%3Fstyle=plastic)](https://ci.moparisthe.best/job/moparisthebest/job/rusty-keys/job/master/)
|
||||||
|
|
||||||
uinput level keyboard mapper for linux, with advanced caps lock and shift swapping behavior
|
uinput level keyboard mapper for linux, with advanced caps lock and shift swapping behavior
|
||||||
|
|
||||||
This is the only keymapper I am aware of capable of implementing this layout:
|
This is the only keymapper I am aware of capable of implementing this layout:
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
# This script takes care of packaging the build artifacts that will go in the
|
|
||||||
# release zipfile
|
|
||||||
|
|
||||||
$SRC_DIR = $PWD.Path
|
|
||||||
$STAGE = [System.Guid]::NewGuid().ToString()
|
|
||||||
|
|
||||||
Set-Location $ENV:Temp
|
|
||||||
New-Item -Type Directory -Name $STAGE
|
|
||||||
Set-Location $STAGE
|
|
||||||
|
|
||||||
$ZIP = "$SRC_DIR\$($Env:CRATE_NAME)-$($Env:APPVEYOR_REPO_TAG_NAME)-$($Env:TARGET).exe"
|
|
||||||
|
|
||||||
# TODO Update this to package the right artifacts
|
|
||||||
Copy-Item "$SRC_DIR\target\$($Env:TARGET)\release\rusty-keys.exe" "$ZIP"
|
|
||||||
|
|
||||||
Push-AppveyorArtifact "$ZIP"
|
|
||||||
|
|
||||||
Remove-Item *.* -Force
|
|
||||||
Set-Location ..
|
|
||||||
Remove-Item $STAGE
|
|
||||||
Set-Location $SRC_DIR
|
|
@ -1,26 +0,0 @@
|
|||||||
# This script takes care of building your crate and packaging it for release
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
main() {
|
|
||||||
local src=$(pwd)
|
|
||||||
|
|
||||||
test -f Cargo.lock || cargo generate-lockfile
|
|
||||||
|
|
||||||
# TODO Update this to build the artifacts that matter to you
|
|
||||||
cross rustc --bin rusty-keys --target $TARGET --release -- -C lto
|
|
||||||
|
|
||||||
# TODO Update this to package the right artifacts, this needs to handle .exe too...
|
|
||||||
case $TARGET in
|
|
||||||
x86_64-pc-windows-gnu)
|
|
||||||
strip target/$TARGET/release/rusty-keys.exe || echo 'strip failed, ignoring...'
|
|
||||||
cp target/$TARGET/release/rusty-keys.exe $src/$CRATE_NAME-$TRAVIS_TAG-$TARGET.exe
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
strip target/$TARGET/release/rusty-keys || echo 'strip failed, ignoring...'
|
|
||||||
cp target/$TARGET/release/rusty-keys $src/$CRATE_NAME-$TRAVIS_TAG-$TARGET
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
28
ci/cert.key
28
ci/cert.key
@ -1,28 +0,0 @@
|
|||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCrvZ+p0/2i/p1s
|
|
||||||
xzg3ydOS4z5S3QD0WAD1gdBTUBPjqmeGNbtXl5XLGPTYJeBqNNGRv6louB+jL8U+
|
|
||||||
TSBsyyARVZfJ9EDU3iG1fOQzz6sK8yhVL15bL4wJHobDGkL1zc0//ozDbr9iH5Xi
|
|
||||||
5Xh1q9lEyLMviASNjZbWcdGWxxKQRceluzcTyowesBr7K9nQaQF7cSmetCYaA1L9
|
|
||||||
JXokHY3P8pPEOhfo8SI7Lkt7XzKrnI0RBEIQBDF5F/XsKHO2Iso8bVq1huNr37MH
|
|
||||||
QDEDo+D8803oFS+89j9SFDv2QgITZgl0gtY5w911qbNtyz0hWYloXzmlPH2QF/+Z
|
|
||||||
XThI2Kd/AgMBAAECggEARmvN4Xxsv346HRWfhri6ibumnaHDt22yjvj47ICkdzEz
|
|
||||||
nAPCWwtsP8hu9Yaqe8JGwMXfeHIvfuGitoY3qoSsFI+NWyFNyDuBhQK+LESWNTo5
|
|
||||||
qpxuy2M2v7KFvdCx7krCQ+Bj5esujNS4yD4h49Zgk+TcHLxgaY7KcAphz7q3cPKP
|
|
||||||
hJPkwSvFmLMdqomyLJfBTWPx6Ue3ioAfKxM62hbaYlBth1ch5YqOhL84YCMnPmbq
|
|
||||||
hL/iTTlPcXeZoCodEHoOac/t8Nvv4fRetrBqk9uMZXZ1Bm9VfKbVDysfiKp9W+np
|
|
||||||
uvtYUht/TdlrzjE01h3QHNnkYgJA+yuK/qjL0nvoYQKBgQDjN4HdZqA7ZBPvQUtq
|
|
||||||
LVfpm2jy/8Sf3ewUUx7Pwselft7FOpKzkouVhdyWY8BweN97zwaYPJo7OtfMzT3Y
|
|
||||||
NPO5Vz7nxMcvwZXir0VV514lLIYjqkZkDY94thGayFaF8DmyqfIfTuyVPrigRfOR
|
|
||||||
8+dbYJrSVn9hnP4i9cxoIu39TwKBgQDBfxAFp2gJ1G3U2YAjNt4qrbsdPZvsX6CI
|
|
||||||
A8T5EuiPanAqaVWbQnkPFQq077qBSlCI/zUunw01I0pyuR74paY7PaiKT3hLkovh
|
|
||||||
v2VlOFEMaA7K/TTjv6tZS5P8DXuM/r34h5XRVsaKXKPNBGoAcbvanJ/96N42j+E1
|
|
||||||
G4+R8FMG0QKBgFMmKfkKqFJzojPpEh8N7uEHRVW/sYXLYaxiaqEfJ45xqjZE5BCg
|
|
||||||
7UHPldTXNkIyiZ42ObSWYN6R/wzsgthPMG2/9r48LaRVVHN7LoVsQPCbpY8BrfbJ
|
|
||||||
W5qSDkk1TSyAp6yxMnCwojVPmaLVVngv6Jdw99dHXiAronjKuH3XYn5TAoGAUUpd
|
|
||||||
Y9Kx3bdWMR7zO1gYvBtiyeURNZvzKFFVFkMAWwgfeWHpaiHiFBkF93/jfd/Ht9Zn
|
|
||||||
9F8zwEhERbBKN7H4BVlhDkJWyoEVrVCoe37OZgTtehAogSoMBaa/1Buh9VksXFYx
|
|
||||||
9dGb9ZL36fDZy7f8cNpuSNDlUkzeE16x0WECsJECgYBdekYJFJWppHjQ0ID5Jt1T
|
|
||||||
GHQIovXFsHfACIKC1lyytqgtEdSaWQD0SfFsg/s6BYcW7bfs/tejTnbJySvcp3rC
|
|
||||||
+FCznrEfk6wVFuj/nrgB/MpmxbsG2N5EmchRX5YJHVDRtWpQxPkNgRvdNBPkPY54
|
|
||||||
5zSUEJh+lLSg+ZjuM52eOg==
|
|
||||||
-----END PRIVATE KEY-----
|
|
21
ci/cert.pem
21
ci/cert.pem
@ -1,21 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIDazCCAlOgAwIBAgIUfeb7Ocg4fLv5BEiXLhLS5/fQGm0wDQYJKoZIhvcNAQEL
|
|
||||||
BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
|
||||||
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0xOTEyMTcwMjE2MDhaFw0yOTEy
|
|
||||||
MTQwMjE2MDhaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
|
|
||||||
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
|
|
||||||
AQUAA4IBDwAwggEKAoIBAQCrvZ+p0/2i/p1sxzg3ydOS4z5S3QD0WAD1gdBTUBPj
|
|
||||||
qmeGNbtXl5XLGPTYJeBqNNGRv6louB+jL8U+TSBsyyARVZfJ9EDU3iG1fOQzz6sK
|
|
||||||
8yhVL15bL4wJHobDGkL1zc0//ozDbr9iH5Xi5Xh1q9lEyLMviASNjZbWcdGWxxKQ
|
|
||||||
RceluzcTyowesBr7K9nQaQF7cSmetCYaA1L9JXokHY3P8pPEOhfo8SI7Lkt7XzKr
|
|
||||||
nI0RBEIQBDF5F/XsKHO2Iso8bVq1huNr37MHQDEDo+D8803oFS+89j9SFDv2QgIT
|
|
||||||
Zgl0gtY5w911qbNtyz0hWYloXzmlPH2QF/+ZXThI2Kd/AgMBAAGjUzBRMB0GA1Ud
|
|
||||||
DgQWBBSxoWXwmMEmKrsRsii2l1/IBhlvMzAfBgNVHSMEGDAWgBSxoWXwmMEmKrsR
|
|
||||||
sii2l1/IBhlvMzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQB3
|
|
||||||
NIlwmAL3FBrqHmg5M+zh+xKkNl/O8SK4bJwhPoTYR+DHsDlEQWvwSVaGV5HGyqy2
|
|
||||||
cv39kHJ6OisSuOitESV4gdOUZvm/WCSV5xHpokJpGlztRSKi4iwFNONn0LUi4lnF
|
|
||||||
gkYgjS4OfOCjVJ0YgAkYaBYALM3PTY3VpG32vaz62A7mIzO5Jn/kMtEIgFT+32Be
|
|
||||||
BE/8E+pcOhgkvoE1xwv0STbrnM8dGN8/zyXvb1wt4b2ijkBlT5Wsqs0yvPa31SD0
|
|
||||||
FDqc+4/H3bJXjwfBGDbf18sTY1UQEPyQdNC7vhiy/w2AgjVNjVpNBI9nvj+9rkZ5
|
|
||||||
8m8sP3ldEkdIqSRCl95o
|
|
||||||
-----END CERTIFICATE-----
|
|
@ -1,47 +0,0 @@
|
|||||||
set -ex
|
|
||||||
|
|
||||||
main() {
|
|
||||||
local target=
|
|
||||||
if [ $TRAVIS_OS_NAME = linux ]; then
|
|
||||||
target=x86_64-unknown-linux-musl
|
|
||||||
sort=sort
|
|
||||||
else
|
|
||||||
target=x86_64-apple-darwin
|
|
||||||
sort=gsort # for `sort --sort-version`, from brew's coreutils.
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Builds for iOS are done on OSX, but require the specific target to be
|
|
||||||
# installed.
|
|
||||||
case $TARGET in
|
|
||||||
aarch64-apple-ios)
|
|
||||||
rustup target install aarch64-apple-ios
|
|
||||||
;;
|
|
||||||
armv7-apple-ios)
|
|
||||||
rustup target install armv7-apple-ios
|
|
||||||
;;
|
|
||||||
armv7s-apple-ios)
|
|
||||||
rustup target install armv7s-apple-ios
|
|
||||||
;;
|
|
||||||
i386-apple-ios)
|
|
||||||
rustup target install i386-apple-ios
|
|
||||||
;;
|
|
||||||
x86_64-apple-ios)
|
|
||||||
rustup target install x86_64-apple-ios
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# This fetches latest stable release
|
|
||||||
local tag=$(git ls-remote --tags --refs --exit-code https://github.com/japaric/cross \
|
|
||||||
| cut -d/ -f3 \
|
|
||||||
| grep -E '^v[0.1.0-9.]+$' \
|
|
||||||
| $sort --version-sort \
|
|
||||||
| tail -n1)
|
|
||||||
curl -LSfs https://japaric.github.io/trust/install.sh | \
|
|
||||||
sh -s -- \
|
|
||||||
--force \
|
|
||||||
--git japaric/cross \
|
|
||||||
--tag $tag \
|
|
||||||
--target $target
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
20
ci/script.sh
20
ci/script.sh
@ -1,20 +0,0 @@
|
|||||||
# This script takes care of testing your crate
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
# TODO This is the "test phase", tweak it as you see fit
|
|
||||||
main() {
|
|
||||||
cross build --target $TARGET --release
|
|
||||||
|
|
||||||
if [ ! -z $DISABLE_TESTS ]; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
# only going to run --help I guess
|
|
||||||
cross run --target $TARGET --release --bin rusty-keys -- -h
|
|
||||||
}
|
|
||||||
|
|
||||||
# we don't run the "test phase" when doing deploys
|
|
||||||
if [ -z $TRAVIS_TAG ]; then
|
|
||||||
main
|
|
||||||
fi
|
|
@ -1,76 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
# pressing all of these keys along with a number key representing the index of keymaps changes the layout
|
|
||||||
# ie, in this case pressing both and 0 would go QWERTY, while both and 1 would go dvorak
|
|
||||||
switch_layout_keys = ['LEFTSHIFT','RIGHTSHIFT']
|
|
||||||
|
|
||||||
# pressing QWERTY reverts to the index specified in revert_keymap_index for only the duration of the pressing
|
|
||||||
# used so QWERTY shortcuts like Ctrl+C still work
|
|
||||||
revert_default_key = 'LEFTCTRL'
|
|
||||||
revert_keymap_index = 0
|
|
||||||
|
|
||||||
# this is the default index to use when the program first starts
|
|
||||||
# in this case, 2 means modified Progammer Dvorak
|
|
||||||
default_keymap_index = 2
|
|
||||||
|
|
||||||
# these are keys that caps_lock doesn't modify by default, but that you would like it to, affects all keymaps
|
|
||||||
caps_lock_modify = """
|
|
||||||
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, PSLS,PAST,PMNS,
|
|
||||||
LBRC,RBRC,BSLS, P7, P8, P9,
|
|
||||||
SCLN,QUOT, P4, P5, P6, PPLS,
|
|
||||||
COMM,DOT, SLSH, P1, P2, P3,
|
|
||||||
P0, PDOT
|
|
||||||
"""
|
|
||||||
|
|
||||||
# these are the keymaps available, you can add as many as you want or re-order them, just be aware the mapping is
|
|
||||||
# always done from the first one to all subsequent ones, so you probably want to leave QWERTY or similar up top
|
|
||||||
keymaps = [
|
|
||||||
# default key layout, QWERTY in this case
|
|
||||||
"""
|
|
||||||
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK,
|
|
||||||
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS,
|
|
||||||
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, DEL, END, PGDN, P7, P8, P9,
|
|
||||||
CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, P4, P5, P6, PPLS,
|
|
||||||
LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, UP, P1, P2, P3,
|
|
||||||
LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT
|
|
||||||
""",
|
|
||||||
# Dvorak http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard
|
|
||||||
# https://www.moparisthebest.com/kbs/standard-dvorak-QwertySecondary.svg
|
|
||||||
"""
|
|
||||||
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK,
|
|
||||||
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, LBRC,RBRC,BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS,
|
|
||||||
TAB, QUOT,COMM,DOT, P, Y, F, G, C, R, L, SLSH,EQL, BSLS, DEL, END, PGDN, P7, P8, P9,
|
|
||||||
CAPS,A, O, E, U, I, D, H, T, N, S, MINS, ENT, P4, P5, P6, PPLS,
|
|
||||||
LSFT,SCLN,Q, J, K, X, B, M, W, V, Z, RSFT, UP, P1, P2, P3,
|
|
||||||
LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PENT
|
|
||||||
""",
|
|
||||||
# Unix Dvorak Programmer Dvorak - for unix developers who are switching from dvorak
|
|
||||||
# https://www.moparisthebest.com/kbs/programmer-dvorak-NoSecondary-NumpadStandard-NoSwap-StandardNums-SwapAt-SwapPipe.svg
|
|
||||||
"""
|
|
||||||
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK,
|
|
||||||
^4:^GRV, ^7:1, LBRC:2, ^LBRC:3, ^RBRC:4, ^9:5, ^2:6, ^8:7, ^0:8, ^EQL:9, RBRC:0, ^1:^5, ^3:GRV, BSPC, INS, HOME,PGUP, NLCK, PSLS:^9, PAST:^0, PMNS:^4,
|
|
||||||
TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, SLSH, EQL:^6, ^BSLS:BSLS, DEL, END, PGDN, P7:^A, P8:^B, P9:^C,
|
|
||||||
CAPS, A, O, E, U, I, D, H, T, N, S, MINS, ENT, P4:^D, P5:^E, P6:^F, PPLS:COMM,
|
|
||||||
LSFT, SCLN, Q, J, K, X, B, M, W, V, Z, RSFT, UP, P1:EQL, P2:X, P3:^SCLN,
|
|
||||||
LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL, LEFT,DOWN,RGHT, P0:BSLS, PDOT:SCLN, PENT
|
|
||||||
""",
|
|
||||||
# Unix Dvorak Programmer Dvorak - for unix developers who are switching from dvorak - phone numpad
|
|
||||||
# https://www.moparisthebest.com/kbs/programmer-dvorak-QwertySecondary-NumpadPhone-NoSwap-StandardNums-SwapAt-SwapPipe.svg
|
|
||||||
"""
|
|
||||||
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK,
|
|
||||||
^4:^GRV, ^7:1, LBRC:2, ^LBRC:3, ^RBRC:4, ^9:5, ^2:6, ^8:7, ^0:8, ^EQL:9, RBRC:0, ^1:^5, ^3:GRV, BSPC, INS, HOME,PGUP, NLCK, PSLS:^9, PAST:^0, PMNS:^4,
|
|
||||||
TAB, QUOT, COMM, DOT, P, Y, F, G, C, R, L, SLSH, EQL:^6, ^BSLS:BSLS, DEL, END, PGDN, P1:^A, P2:^B, P3:^C,
|
|
||||||
CAPS, A, O, E, U, I, D, H, T, N, S, MINS, ENT, P4:^D, P5:^E, P6:^F, PPLS:COMM,
|
|
||||||
LSFT, SCLN, Q, J, K, X, B, M, W, V, Z, RSFT, UP, P7:EQL, P8:X, P9:^SCLN,
|
|
||||||
LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL, LEFT,DOWN,RGHT, P0:BSLS, PDOT:SCLN, PENT
|
|
||||||
""",
|
|
||||||
# Programmer Dvorak http://www.kaufmann.no/roland/dvorak/
|
|
||||||
# https://www.moparisthebest.com/kbs/programmer-dvorak-QwertySecondary-NumpadPhone-StrictSwap-StrictNums-StrictAt-StrictPipe.svg
|
|
||||||
"""
|
|
||||||
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK,
|
|
||||||
^4:^GRV, ^7:^5, LBRC:7, ^LBRC:5, ^RBRC:3, ^9:1, EQL:9, ^8:0, ^0:2, ^EQL:4, RBRC:6, ^1:8, ^3:GRV, BSPC, INS, HOME,PGUP, NLCK, PSLS:^9, PAST:^0, PMNS:^4,
|
|
||||||
TAB, SCLN, COMM, DOT, P, Y, F, G, C, R, L, SLSH, ^2:^6, BSLS, DEL, END, PGDN, P1:^A, P2:^B, P3:^C,
|
|
||||||
CAPS, A, O, E, U, I, D, H, T, N, S, MINS, ENT, P4:^D, P5:^E, P6:^F, PPLS:COMM,
|
|
||||||
LSFT, QUOT, Q, J, K, X, B, M, W, V, Z, RSFT, UP, P7:EQL, P8:X, P9:^SCLN,
|
|
||||||
LCTL, LGUI, LALT, SPC, RALT, RGUI, APP, RCTL, LEFT,DOWN,RGHT, P0:BSLS, PDOT:SCLN, PENT
|
|
||||||
""",
|
|
||||||
]
|
|
Loading…
Reference in New Issue
Block a user