Compare commits
83 Commits
medley-230
...
medley-231
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8c4768315 | ||
|
|
735108ecb7 | ||
|
|
f735fca83e | ||
|
|
560def37bc | ||
|
|
41f32b7db5 | ||
|
|
ab831a46ba | ||
|
|
f1cf759098 | ||
|
|
017bf88a3a | ||
|
|
b2f750e549 | ||
|
|
8cf17ce950 | ||
|
|
008aff1d25 | ||
|
|
214cfb8674 | ||
|
|
2e7b88d0cc | ||
|
|
14fbff63cf | ||
|
|
bec32f475a | ||
|
|
6e845d747f | ||
|
|
459aeef74a | ||
|
|
19ceac6515 | ||
|
|
914604a6eb | ||
|
|
05f3ad19eb | ||
|
|
c62c183ae4 | ||
|
|
328d3f53cd | ||
|
|
5b90251210 | ||
|
|
713f2388c7 | ||
|
|
f49729cbd3 | ||
|
|
bdf03e08a1 | ||
|
|
b19cfd5bbb | ||
|
|
e2d8c9e5ad | ||
|
|
2ea1321d81 | ||
|
|
9054814ef7 | ||
|
|
84dead86af | ||
|
|
5e83d63567 | ||
|
|
bcfeda62e1 | ||
|
|
45513f563b | ||
|
|
db084c6281 | ||
|
|
6c53acaca8 | ||
|
|
fbb5a8f6f5 | ||
|
|
cb8eab788a | ||
|
|
50dc0a9269 | ||
|
|
9273cffce2 | ||
|
|
df8c5a52f1 | ||
|
|
a219ea03e5 | ||
|
|
2072deb6ae | ||
|
|
f6c91ee11c | ||
|
|
adc27d9684 | ||
|
|
d92aa6395a | ||
|
|
f1833861cc | ||
|
|
270fee89e3 | ||
|
|
cba04e168c | ||
|
|
1e847ec274 | ||
|
|
f765676ec4 | ||
|
|
17c72a1f2f | ||
|
|
995c6de04e | ||
|
|
877c6fbf17 | ||
|
|
97b19f1b96 | ||
|
|
948b0e09d1 | ||
|
|
de4e5f5ca4 | ||
|
|
af912247b3 | ||
|
|
ebb5c739ea | ||
|
|
1bed018db8 | ||
|
|
8a8e6fa4dc | ||
|
|
bf2e34841b | ||
|
|
9ed6448591 | ||
|
|
445de6745d | ||
|
|
68ed78a9f9 | ||
|
|
1ae08139c9 | ||
|
|
bb4e230df4 | ||
|
|
02665ca91b | ||
|
|
b819e18c64 | ||
|
|
781709e4e1 | ||
|
|
b772b8383c | ||
|
|
9b4c4a3bf7 | ||
|
|
51d554c67e | ||
|
|
ca39ccf27b | ||
|
|
e1cd9260b4 | ||
|
|
b0aa518a41 | ||
|
|
9e0bfabc52 | ||
|
|
ebff4f7268 | ||
|
|
c281728c65 | ||
|
|
c4554894b3 | ||
|
|
58196b4011 | ||
|
|
f6a9b88b34 | ||
|
|
bad19ab45f |
12
.github/workflows/Dockerfile_medley
vendored
@@ -7,7 +7,7 @@
|
||||
#
|
||||
# ******************************************************************************
|
||||
|
||||
FROM ubuntu:22.10
|
||||
FROM ubuntu:22.04
|
||||
ARG TARGETPLATFORM
|
||||
|
||||
# Handle ARGs, ENV variables, and LABELs
|
||||
@@ -31,6 +31,12 @@ ENV LANG=C.UTF-8
|
||||
# Copy over the release deb files
|
||||
ADD ./*.deb /tmp
|
||||
|
||||
# Get tzdata setup ahead of time
|
||||
RUN apt-get update; \
|
||||
ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime; \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata; \
|
||||
dpkg-reconfigure --frontend noninteractive tzdata
|
||||
|
||||
# Install Medley/Maiko and add tightvnc server and xclip to the image
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y apt-utils \
|
||||
@@ -51,8 +57,8 @@ RUN apt-get update \
|
||||
echo "x86_64"; \
|
||||
fi \
|
||||
) \
|
||||
&& deb="medley-full-${MEDLEY_RELEASE#medley-}" \
|
||||
&& deb=${deb}_${MAIKO_RELEASE#maiko-}-linux-${p}.deb \
|
||||
&& deb="medley-full-linux-${p}-${MEDLEY_RELEASE#medley-}" \
|
||||
&& deb=${deb}_${MAIKO_RELEASE#maiko-}.deb \
|
||||
&& apt-get install -y /tmp/${deb} \
|
||||
&& chown --recursive root:root /usr/local/interlisp \
|
||||
&& (if [ -n "$(which unminimize)" ]; then (yes | unminimize); fi)
|
||||
|
||||
30
.github/workflows/buildDocker.yml
vendored
@@ -20,7 +20,7 @@ name: 'Build/Push Docker Image'
|
||||
# Run this workflow on ...
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
inputs:
|
||||
draft:
|
||||
description: "Mark this as a draft release"
|
||||
type: choice
|
||||
@@ -33,7 +33,7 @@ on:
|
||||
options:
|
||||
- 'false'
|
||||
- 'true'
|
||||
|
||||
|
||||
workflow_call:
|
||||
outputs:
|
||||
successful:
|
||||
@@ -59,7 +59,7 @@ on:
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
|
||||
|
||||
jobs:
|
||||
|
||||
@@ -86,7 +86,7 @@ jobs:
|
||||
echo "draft=${{ inputs.draft }}" >> $GITHUB_OUTPUT;
|
||||
echo "force=${{ inputs.force }}" >> $GITHUB_OUTPUT;
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
######################################################################################
|
||||
@@ -100,7 +100,7 @@ jobs:
|
||||
outputs:
|
||||
release_not_built: ${{ steps.check.outputs.release_not_built }}
|
||||
|
||||
steps:
|
||||
steps:
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v3
|
||||
@@ -110,7 +110,7 @@ jobs:
|
||||
- run: mv ./Actions_${{ github.sha }}/actions ../actions && rm -rf ./Actions_${{ github.sha }}
|
||||
|
||||
# Check if build already run for this commit
|
||||
- name: Build already completed?
|
||||
- name: Build already completed?
|
||||
id: check
|
||||
continue-on-error: true
|
||||
uses: ./../actions/check-sentry-action
|
||||
@@ -131,12 +131,12 @@ jobs:
|
||||
if: |
|
||||
needs.sentry.outputs.release_not_built == 'true'
|
||||
|| needs.inputs.outputs.force == 'true'
|
||||
|
||||
|
||||
steps:
|
||||
# Checkout latest commit
|
||||
- name: Checkout Medley
|
||||
uses: actions/checkout@v3
|
||||
|
||||
|
||||
# Find latest release (draft or normal)
|
||||
# and download its assets
|
||||
- name: Download linux debs from latest (draft) release
|
||||
@@ -160,7 +160,7 @@ jobs:
|
||||
- name: Get info about Miako and Medley releases
|
||||
id: release_info
|
||||
run: |
|
||||
regex="^[^0-9]*\([^_]*\)_\([^-]*-[^-]*\)-\([^-]*\)-\([^.]*\).*\$"
|
||||
regex="^medley-full-[^-]*-[^-]*-\([^_]*\)_\(.*\).deb\$"
|
||||
ls -1 release_debs | head -n 1 > debname.tmp
|
||||
medley_release="medley-$(sed -e "s/${regex}/\1/" debname.tmp)"
|
||||
maiko_release="maiko-$(sed -e "s/${regex}/\2/" debname.tmp)"
|
||||
@@ -168,6 +168,8 @@ jobs:
|
||||
echo "MEDLEY_RELEASE=${medley_release}" >> ${GITHUB_ENV}
|
||||
echo "MAIKO_RELEASE=${maiko_release}" >> ${GITHUB_ENV}
|
||||
|
||||
# regex="^[^0-9]*\([^_]*\)_\([^-]*-[^-]*\)-\([^-]*\)-\([^.]*\).*\$"
|
||||
|
||||
# Set repo env variables
|
||||
- name: Set repo/docker env variables
|
||||
id: repo_env
|
||||
@@ -176,10 +178,10 @@ jobs:
|
||||
docker_namespace="$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')"
|
||||
docker_image="${docker_namespace}/${repo_name}"
|
||||
if [ "${{ needs.inputs.outputs.draft }}" = "false" ];
|
||||
then
|
||||
then
|
||||
docker_tags="${docker_image}:latest,${docker_image}:${MEDLEY_RELEASE#*-}_${MAIKO_RELEASE#*-}"
|
||||
platforms="linux/amd64,linux/arm64"
|
||||
else
|
||||
else
|
||||
docker_tags="${docker_image}:draft"
|
||||
platforms="linux/amd64"
|
||||
fi
|
||||
@@ -242,7 +244,7 @@ jobs:
|
||||
|
||||
needs: [inputs, sentry, build_and-push]
|
||||
|
||||
steps:
|
||||
steps:
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v3
|
||||
@@ -257,10 +259,10 @@ jobs:
|
||||
uses: ./../actions/set-sentry-action
|
||||
with:
|
||||
tag: "docker"
|
||||
|
||||
|
||||
- name: Output
|
||||
id: output
|
||||
run: |
|
||||
echo "build_successful='true'" >> ${GITHUB_OUTPUT}
|
||||
|
||||
|
||||
######################################################################################
|
||||
|
||||
416
.github/workflows/buildLoadup.yml
vendored
@@ -60,7 +60,7 @@ defaults:
|
||||
|
||||
jobs:
|
||||
|
||||
######################################################################################
|
||||
# JOB: inputs #######################################################################
|
||||
|
||||
# Regularize the inputs so they can be referenced the same way whether they are
|
||||
# the result of a workflow_dispatch or a workflow_call
|
||||
@@ -85,8 +85,7 @@ jobs:
|
||||
fi
|
||||
|
||||
|
||||
|
||||
######################################################################################
|
||||
# JOB: sentry #######################################################################
|
||||
|
||||
# Use sentry-action to determine if this release has already been built
|
||||
# based on the latest commit to the repo
|
||||
@@ -114,11 +113,11 @@ jobs:
|
||||
with:
|
||||
tag: "loadup"
|
||||
|
||||
######################################################################################
|
||||
|
||||
# JOB: loadup #######################################################################
|
||||
|
||||
#
|
||||
# Do the loadup
|
||||
# Do the loadup and push to release on github
|
||||
#
|
||||
|
||||
loadup:
|
||||
@@ -130,6 +129,9 @@ jobs:
|
||||
medley_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_RELEASE_TAG }}
|
||||
medley_short_release_tag: ${{ steps.job_outputs.outputs.MEDLEY_SHORT_RELEASE_TAG }}
|
||||
debs_filename_base: ${{ steps.debs.outputs.DEBS_FILENAME_BASE }}
|
||||
maiko_release_tag: ${{ steps.job_outputs.outputs.MAIKO_RELEASE_TAG }}
|
||||
artifacts_filename_template: ${{ steps.job_outputs.outputs.ARTIFACTS_FILENAME_TEMPLATE }}
|
||||
release_url: ${{ steps.push.outputs.html_url }}
|
||||
|
||||
needs: [inputs, sentry]
|
||||
if: |
|
||||
@@ -154,24 +156,36 @@ jobs:
|
||||
id: tag
|
||||
uses: ./../actions/release-tag-action
|
||||
|
||||
# Get Maiko release information, retrieves the name of the latest
|
||||
# Get Maiko release information, retrieves the name of the latest (draft)
|
||||
# release. Used to download the correct Maiko release
|
||||
- name: Get Maiko Release Information
|
||||
# Find latest release (draft or normal)
|
||||
- name: Get maiko release information
|
||||
id: maiko
|
||||
uses: abatilo/release-info-action@v1.3.2
|
||||
with:
|
||||
owner: ${{ github.repository_owner }}
|
||||
repo: maiko
|
||||
|
||||
run: |
|
||||
tag=""
|
||||
if [ "${{ needs.inputs.outputs.draft }}" = "true" ];
|
||||
then
|
||||
gh release list --repo ${{ github.repository_owner }}/maiko | grep Draft >/tmp/releases-$$
|
||||
if [ $? -eq 0 ];
|
||||
then
|
||||
tag=$(head -n 1 /tmp/releases-$$ | awk '{ print $3 }')
|
||||
fi
|
||||
fi
|
||||
if [ -z "${tag}" ];
|
||||
then
|
||||
tag=$(gh release list --repo ${{ github.repository_owner }}/maiko | grep Latest | head -n 1 | awk '{ print $3 }')
|
||||
fi
|
||||
echo "maiko_tag=${tag}" >> ${GITHUB_OUTPUT}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.MAIKO_TOKEN }}
|
||||
# Setup environment variables & establish job outputs
|
||||
- name: Setup Environment Variables
|
||||
run: |
|
||||
echo "build_time=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> ${GITHUB_OUTPUT}
|
||||
echo "TARBALL_DIR=installers/deb/tmp/tarballs" >>${GITHUB_ENV}
|
||||
echo "DEBS_DIR=installers/deb/debs" >>${GITHUB_ENV}
|
||||
echo "TARS_DIR=installers/deb/tars" >>${GITHUB_ENV}
|
||||
echo "TARBALL_DIR=/tmp/tarballs" >>${GITHUB_ENV}
|
||||
echo "MEDLEY_RELEASE_TAG=${RELEASE_TAG}" >>${GITHUB_ENV}
|
||||
echo "MAIKO_RELEASE_TAG=${{ steps.maiko.outputs.latest_tag }}" >>${GITHUB_ENV}
|
||||
echo "MAIKO_RELEASE_TAG=${{ steps.maiko.outputs.maiko_tag }}" >>${GITHUB_ENV}
|
||||
echo "ARTIFACTS_FILENAME_TEMPLATE=medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@" >>${GITHUB_ENV}
|
||||
- name: More Environment Variables
|
||||
run: |
|
||||
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_RELEASE_TAG#medley-}" >>${GITHUB_ENV}
|
||||
@@ -182,27 +196,26 @@ jobs:
|
||||
- name: Establish job outputs
|
||||
id: job_outputs
|
||||
run: |
|
||||
echo "COMBINED_RELEASE_TAG=${COMBINED_RELEASE_TAG}" >> $GITHUB_OUTPUT;
|
||||
echo "MEDLEY_RELEASE_TAG=${MEDLEY_RELEASE_TAG}" >> $GITHUB_OUTPUT;
|
||||
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}" >> $GITHUB_OUTPUT;
|
||||
echo "COMBINED_RELEASE_TAG=${COMBINED_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
|
||||
echo "MEDLEY_RELEASE_TAG=${MEDLEY_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
|
||||
echo "MEDLEY_SHORT_RELEASE_TAG=${MEDLEY_SHORT_RELEASE_TAG}" >> ${GITHUB_OUTPUT}
|
||||
echo "MAIKO_RELEASE_TAG=${MAIKO_RELEASE_TAG}" >> $GITHUB_OUTPUT;
|
||||
echo "ARTIFACTS_FILENAME_TEMPLATE=${ARTIFACTS_FILENAME_TEMPLATE}" >> ${GITHUB_OUTPUT}
|
||||
|
||||
# Setup some needed dirs in workspace
|
||||
- name: Create work dirs
|
||||
run: mkdir -p ${TARBALL_DIR}
|
||||
|
||||
# Download Maiko Release Assets
|
||||
# Download Maiko Release Assets and untar it
|
||||
- name: Download Release Assets
|
||||
uses: robinraju/release-downloader@v1.6
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/maiko
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
latest: true
|
||||
out-file-path: ${{ env.TARBALL_DIR }}
|
||||
fileName: "${{ env.MAIKO_RELEASE_TAG }}-linux.*.tgz"
|
||||
|
||||
- name: Untar Maiko Release for use in loadup
|
||||
run: |
|
||||
tar -xzf "${TARBALL_DIR}/${{ env.MAIKO_RELEASE_TAG }}-linux.x86_64.tgz"
|
||||
gh release download ${MAIKO_RELEASE_TAG} \
|
||||
-D ${TARBALL_DIR} \
|
||||
--repo ${{ github.repository_owner }}/maiko \
|
||||
-p '*.tgz'
|
||||
tar -xzf "${TARBALL_DIR}/${MAIKO_RELEASE_TAG}-linux.x86_64.tgz"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.MAIKO_TOKEN }}
|
||||
|
||||
# Checkout Notecards and tar it in the tarballsdir
|
||||
- name: Checkout Notecards
|
||||
@@ -210,11 +223,11 @@ jobs:
|
||||
with:
|
||||
repository: ${{ github.repository_owner }}/notecards
|
||||
path: ./notecards
|
||||
- run: mv ./notecards ../notecards
|
||||
- name: Tar notecards into tarball dir
|
||||
run: |
|
||||
cd ..
|
||||
tar cfz medley/${TARBALL_DIR}/notecards.tgz notecards
|
||||
mv ./notecards ../notecards
|
||||
cd ../notecards
|
||||
git archive --format=tgz --output="${TARBALL_DIR}/notecards.tgz" --prefix=notecards/ main
|
||||
|
||||
# Install vnc
|
||||
- name: Install vnc
|
||||
@@ -224,7 +237,6 @@ jobs:
|
||||
run: |
|
||||
Xvnc -geometry 1280x720 :0 &
|
||||
export DISPLAY=":0"
|
||||
PATH="$PWD/maiko:$PATH"
|
||||
scripts/loadup-all.sh -apps
|
||||
scripts/loadup-db.sh
|
||||
|
||||
@@ -233,15 +245,6 @@ jobs:
|
||||
scripts/release-make-tars.sh "${MEDLEY_RELEASE_TAG}"
|
||||
mv releases/"${MEDLEY_SHORT_RELEASE_TAG}"/*.tgz "${TARBALL_DIR}"
|
||||
|
||||
# Build the deb files as well as the tgz files
|
||||
- name: Build .deb files for 3 architectures
|
||||
id: debs
|
||||
run: |
|
||||
cd installers/deb
|
||||
debs_filename_base=$(./build_deb.sh)
|
||||
echo "DEBS_FILENAME_BASE=${debs_filename_base}" >> $GITHUB_ENV;
|
||||
echo "DEBS_FILENAME_BASE=${debs_filename_base}" >> $GITHUB_OUTPUT;
|
||||
|
||||
# Push the release up to github releases
|
||||
- name: Delete existing release with same tag (if any)
|
||||
uses: cb80/delrel@latest
|
||||
@@ -250,29 +253,37 @@ jobs:
|
||||
continue-on-error: true
|
||||
|
||||
- name: Push the release
|
||||
id: push_release
|
||||
id: push
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
artifacts:
|
||||
# ${{ env.TARBALL_DIR }}/notecards.tgz,
|
||||
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-loadups.tgz,
|
||||
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-runtime.tgz,
|
||||
${{ env.DEBS_DIR }}/*.deb,
|
||||
${{ env.TARS_DIR }}/*.tgz
|
||||
${{ env.TARBALL_DIR }}/${{ env.MEDLEY_RELEASE_TAG }}-runtime.tgz
|
||||
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
||||
draft: ${{ needs.inputs.outputs.draft }}
|
||||
prerelease: false
|
||||
generateReleaseNotes: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# Save the tarball directory for subsequent jobs
|
||||
- name: Save tarballs
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: tarballs
|
||||
path: ${{ env.TARBALL_DIR }}
|
||||
if-no-files-found: error
|
||||
|
||||
|
||||
# JOB: linux_installer ##############################################################
|
||||
|
||||
#
|
||||
# Create the Windows installer, push it up to the release on github and
|
||||
# update the downloads page on OIO
|
||||
# Create the linux installers (.deb and .tgz) and push to release on github
|
||||
#
|
||||
windows_installer:
|
||||
linux_installer:
|
||||
|
||||
runs-on: windows-latest
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
needs: [inputs, sentry, loadup]
|
||||
if: |
|
||||
@@ -280,6 +291,157 @@ jobs:
|
||||
|| needs.inputs.outputs.force == 'true'
|
||||
|
||||
steps:
|
||||
|
||||
# Checkout latest commit
|
||||
- name: Checkout Medley
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Environment variables
|
||||
- name: Environment variables
|
||||
run: |
|
||||
echo "DEBS_DIR=installers/deb/debs" >>${GITHUB_ENV}
|
||||
echo "TARS_DIR=installers/deb/tars" >>${GITHUB_ENV}
|
||||
echo "TARBALL_DIR=installers/deb/tmp/tarballs" >>${GITHUB_ENV}
|
||||
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" \
|
||||
>>${GITHUB_ENV}
|
||||
echo "ARTIFACTS_FILENAME_TEMPLATE=${{ needs.loadup.outputs.artifacts_filename_template }}" >>${GITHUB_ENV}
|
||||
|
||||
# Create taball dir
|
||||
- run: mkdir -p ${TARBALL_DIR}
|
||||
|
||||
# Get the tarballs
|
||||
- name: Get tarballs
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: tarballs
|
||||
path: ${{ env.TARBALL_DIR }}
|
||||
|
||||
# Build the deb files as well as the tgz files
|
||||
- name: Build .deb files for 3 architectures
|
||||
id: debs
|
||||
run: |
|
||||
cd installers/deb
|
||||
./build_deb.sh
|
||||
|
||||
# Push the debs and tgz up to github releases
|
||||
- name: Push the release
|
||||
id: push_release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
artifacts:
|
||||
${{ env.DEBS_DIR }}/*.deb,
|
||||
${{ env.TARS_DIR }}/*.tgz
|
||||
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
omitBodyDuringUpdate: true
|
||||
omitDraftDuringUpdate: true
|
||||
omitNameDuringUpdate: true
|
||||
omitPrereleaseDuringUpdate: true
|
||||
|
||||
- name: Rename medley tar for the x86_64 platform
|
||||
run: |
|
||||
cd ${{ env.TARS_DIR }}
|
||||
mv medley-full-linux-x86_64-*.tgz medley.tgz
|
||||
|
||||
- name: Save medley tar for use in cygwin installers
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: medley-tar
|
||||
path: |
|
||||
${{ env.TARS_DIR }}/medley.tgz
|
||||
|
||||
|
||||
# JOB: macos_installer ##############################################################
|
||||
|
||||
#
|
||||
# Create the macos installers (.dmg and .zip) and push to release on github
|
||||
#
|
||||
macos_installer:
|
||||
|
||||
runs-on: macos-12
|
||||
|
||||
needs: [inputs, sentry, loadup]
|
||||
if: |
|
||||
needs.sentry.outputs.release_not_built == 'true'
|
||||
|| needs.inputs.outputs.force == 'true'
|
||||
# if: false
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
steps:
|
||||
|
||||
# Checkout latest commit
|
||||
- name: Checkout Medley
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Environment variables
|
||||
- name: Environment variables
|
||||
run: |
|
||||
MACOS_DIR=installers/macos
|
||||
echo "MACOS_DIR=${MACOS_DIR}" >>${GITHUB_ENV}
|
||||
echo "ARTIFACTS_DIR=${MACOS_DIR}/artifacts" >>${GITHUB_ENV}
|
||||
echo "TARBALL_DIR=${MACOS_DIR}/tmp/tarballs" >>${GITHUB_ENV}
|
||||
echo "MEDLEY_RELEASE_TAG=${{ needs.loadup.outputs.medley_release_tag }}" >>${GITHUB_ENV}
|
||||
echo "ARTIFACTS_FILENAME_TEMPLATE=${{ needs.loadup.outputs.artifacts_filename_template }}" >>${GITHUB_ENV}
|
||||
|
||||
# Create tarball dir
|
||||
- run: mkdir -p ${TARBALL_DIR}
|
||||
|
||||
# Get the tarballs
|
||||
- name: Get tarballs
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: tarballs
|
||||
path: ${{ env.TARBALL_DIR }}
|
||||
|
||||
# Build the .dmg and .zip files
|
||||
- name: Build .dmg & .zip files
|
||||
id: dmg-zip
|
||||
run: |
|
||||
cd ${MACOS_DIR}
|
||||
./build_artifacts.sh
|
||||
|
||||
# Push the .dmg and .zip up to github releases
|
||||
- name: Push the release
|
||||
id: push_release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
artifacts:
|
||||
# 2023-07-20 not yet building dmg -- ${{ env.ARTIFACTS_DIR }}/*.dmg,
|
||||
${{ env.ARTIFACTS_DIR }}/*.zip
|
||||
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
omitBodyDuringUpdate: true
|
||||
omitDraftDuringUpdate: true
|
||||
omitNameDuringUpdate: true
|
||||
omitPrereleaseDuringUpdate: true
|
||||
|
||||
|
||||
|
||||
# JOB: cygwin_installer #############################################################
|
||||
|
||||
#
|
||||
# Create the Windows installer, push it up to the release on github and
|
||||
# update the downloads page on OIO
|
||||
#
|
||||
cygwin_installer:
|
||||
|
||||
runs-on: windows-2022
|
||||
|
||||
needs: [inputs, sentry, loadup, linux_installer]
|
||||
if: |
|
||||
needs.sentry.outputs.release_not_built == 'true'
|
||||
|| needs.inputs.outputs.force == 'true'
|
||||
|
||||
outputs:
|
||||
cygwin_installer: ${{ steps.compile_iss.outputs.CYGWIN_INSTALLER }}
|
||||
|
||||
steps:
|
||||
|
||||
# Checkout latest commit
|
||||
- name: Checkout Medley
|
||||
uses: actions/checkout@v3
|
||||
@@ -294,24 +456,59 @@ jobs:
|
||||
echo "MEDLEY_RELEASE_TAG=$mrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
||||
$msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
|
||||
echo "MEDLEY_SHORT_RELEASE_TAG=$msrt" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
||||
$aft="${{ needs.loadup.outputs.artifacts_filename_template }}"
|
||||
echo "ARTIFACTS_FILENAME_TEMPLATE=$aft" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
||||
$debs="${{ needs.loadup.outputs.debs_filename_base }}"
|
||||
echo "DEBS_FILENAME_BASE=$debs" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
||||
|
||||
# Download vnc viewer
|
||||
- name: Download vncviewer
|
||||
# Retrieve medley tars from artifact store
|
||||
- name: Retrieve medley tar
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: medley-tar
|
||||
path: installers/cygwin/
|
||||
|
||||
# Download maiko cygwin build
|
||||
- name: Retrieve maiko cygwin build
|
||||
shell: powershell
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.MAIKO_TOKEN }}
|
||||
run: |
|
||||
gh release download ${{ needs.loadup.outputs.maiko_release_tag }} --repo interlisp/maiko --pattern ${{ needs.loadup.outputs.maiko_release_tag }}-cygwin.x86_64.tgz --output installers\cygwin\maiko-cygwin.x86_64.tgz
|
||||
|
||||
# Download cygwin installer to be included by medley.iss
|
||||
- name: Download cygwin installer
|
||||
id: cygwin
|
||||
shell: powershell
|
||||
run: |
|
||||
$url = "https://sourceforge.net/projects/tigervnc/files/stable/1.12.0/vncviewer64-1.12.0.exe"
|
||||
$output = "installers\win\vncviewer64-1.12.0.exe"
|
||||
(New-Object System.Net.WebClient).DownloadFile($url, $output)
|
||||
wget https://cygwin.com/setup-x86_64.exe -OutFile installers\cygwin\setup-x86_64.exe
|
||||
|
||||
# Download vnc viewer
|
||||
#- name: Download vncviewer
|
||||
# shell: powershell
|
||||
# run: |
|
||||
# $url = "https://sourceforge.net/projects/tigervnc/files/stable/1.12.0/vncviewer64-1.12.0.exe"
|
||||
# $output = "installers\win\vncviewer64-1.12.0.exe"
|
||||
# (New-Object System.Net.WebClient).DownloadFile($url, $output)
|
||||
|
||||
# Run iscc.exe to compile the installer
|
||||
- name: Compile medley.iss
|
||||
#- name: Compile medley.iss
|
||||
# shell: powershell
|
||||
# run: |
|
||||
# iscc installers\win\medley.iss
|
||||
# $filename="medley-install_${env:COMBINED_RELEASE_TAG}_x64.exe"
|
||||
# echo "INSTALLER_FILENAME=$filename" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
||||
|
||||
# Run iscc.exe to compile the installer
|
||||
- name: Compile cygwin_medley.iss
|
||||
id: compile_iss
|
||||
shell: powershell
|
||||
run: |
|
||||
iscc installers\win\medley.iss
|
||||
$filename="medley-install_${env:COMBINED_RELEASE_TAG}_x64.exe"
|
||||
echo "INSTALLER_FILENAME=$filename" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
||||
$Env:CYGWIN_INSTALLER_BASE="medley-full-cygwin-x86_64-${env:COMBINED_RELEASE_TAG}"
|
||||
$CYGWIN_INSTALLER="${Env:CYGWIN_INSTALLER_BASE}.exe"
|
||||
echo "CYGWIN_INSTALLER=$CYGWIN_INSTALLER" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
||||
echo "CYGWIN_INSTALLER=$CYGWIN_INSTALLER" | Out-File -FilePath $Env:GITHUB_OUTPUT -Encoding utf8 -Append
|
||||
iscc installers\cygwin\medley.iss
|
||||
|
||||
# Upload windows installer to release
|
||||
- name: Upload windows installer to release
|
||||
@@ -319,7 +516,7 @@ jobs:
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
artifacts: installers/win/${{ env.INSTALLER_FILENAME }}
|
||||
artifacts: installers/cygwin/${{ env.CYGWIN_INSTALLER }}
|
||||
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
omitBodyDuringUpdate: true
|
||||
@@ -327,18 +524,65 @@ jobs:
|
||||
omitNameDuringUpdate: true
|
||||
omitPrereleaseDuringUpdate: true
|
||||
|
||||
# Install the OpenSSH Client
|
||||
- name: Install the OpenSSH Client
|
||||
shell: powershell
|
||||
|
||||
# JOB: downloads_page ################################################################
|
||||
|
||||
#
|
||||
# Update the downloads page on OIO
|
||||
#
|
||||
|
||||
downloads_page:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
needs: [inputs, sentry, loadup, linux_installer, macos_installer, cygwin_installer]
|
||||
if: |
|
||||
needs.sentry.outputs.release_not_built == 'true'
|
||||
|| needs.inputs.outputs.force == 'true'
|
||||
|
||||
steps:
|
||||
|
||||
# Environment variables
|
||||
- name: Environment Varibales (from other jobs)
|
||||
run: |
|
||||
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
|
||||
crt="${{ needs.loadup.outputs.combined_release_tag }}"
|
||||
echo "COMBINED_RELEASE_TAG=${crt}" >>${GITHUB_ENV}
|
||||
mrt="${{ needs.loadup.outputs.medley_release_tag }}"
|
||||
echo "MEDLEY_RELEASE_TAG=${mrt}" >>${GITHUB_ENV}
|
||||
msrt="${{ needs.loadup.outputs.medley_short_release_tag }}"
|
||||
echo "MEDLEY_SHORT_RELEASE_TAG=${msrt}" >>${GITHUB_ENV}
|
||||
cyginst="${{ needs.cygwin_installer.outputs.cygwin_installer }}"
|
||||
echo "CYGWIN_INSTALLER=${cyginst}" >>${GITHUB_ENV}
|
||||
|
||||
# Checkout latest commit
|
||||
- name: Checkout Medley
|
||||
uses: actions/checkout@v3
|
||||
|
||||
|
||||
# Upload a dummy file to release
|
||||
# Needed since download url of the release changes on every update
|
||||
# So this will be the final update before creating downloads page
|
||||
# and we can use its url for the page
|
||||
- run: echo "placeholder" >placeholder.txt
|
||||
- name: Upload windows placeholder.txt to release
|
||||
id: pushph
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
allowUpdates: true
|
||||
artifacts: placeholder.txt
|
||||
tag: ${{ env.MEDLEY_RELEASE_TAG }}
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
omitBodyDuringUpdate: true
|
||||
omitDraftDuringUpdate: true
|
||||
omitNameDuringUpdate: true
|
||||
omitPrereleaseDuringUpdate: true
|
||||
|
||||
# Update the downloads page and the man page on OIO
|
||||
- name: Update the downloads page and the man page to the OIO static page host
|
||||
shell: bash
|
||||
run: |
|
||||
# Figure out filenames
|
||||
download_url="${{ steps.push.outputs.html_url }}"
|
||||
download_url="${{ steps.pushph.outputs.html_url }}"
|
||||
download_url="${download_url/\/tag\//\/download\/}"
|
||||
local_template="installers/downloads_page/medley_downloads.html"
|
||||
local_filename="medley_downloads.html"
|
||||
@@ -356,9 +600,9 @@ jobs:
|
||||
# Fill in downloads page template
|
||||
sed \
|
||||
-e "s/@@@MEDLEY.SHORT.RELEASE.TAG@@@/${MEDLEY_SHORT_RELEASE_TAG}/g" \
|
||||
-e "s/@@@COMBINED.RELEASE.TAG@@@/${COMBINED_RELEASE_TAG}/g" \
|
||||
-e "s~@@@DOWNLOAD_URL@@@~${download_url}~g" \
|
||||
-e "s/@@@DEBS.FILENAME.BASE@@@/${DEBS_FILENAME_BASE}/g" \
|
||||
-e "s/@@@WINDOWS.INSTALLER.FILENAME@@@/${INSTALLER_FILENAME}/g" \
|
||||
-e "s~@@@CYGWIN.INSTALLER@@@~${CYGWIN_INSTALLER}~g" \
|
||||
< "${local_template}" > "${local_filename}"
|
||||
# Create sftp instruction file
|
||||
echo "-rm ${remote_filepath}.oldold" > batch
|
||||
@@ -373,9 +617,15 @@ jobs:
|
||||
env:
|
||||
SSH_KEY: ${{ secrets.OIO_SSH_KEY }}
|
||||
|
||||
# Remove placeholder.txt
|
||||
- name: Remove placeholder.txt
|
||||
run: |
|
||||
gh release delete-asset ${{ env.MEDLEY_RELEASE_TAG }} placeholder.txt --yes
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
|
||||
######################################################################################
|
||||
# JOB: complete #####################################################################
|
||||
|
||||
# Use set-sentry-action to determine set the sentry that says this release has
|
||||
# been successfully built
|
||||
@@ -387,9 +637,16 @@ jobs:
|
||||
outputs:
|
||||
build_successful: ${{ steps.output.outputs.build_successful }}
|
||||
|
||||
needs: [inputs, sentry, loadup, windows_installer]
|
||||
needs: [inputs, sentry, loadup, downloads_page]
|
||||
|
||||
steps:
|
||||
# Delete the tarballs artifact
|
||||
- name: Delete tarballs artifact
|
||||
uses: geekyeggo/delete-artifact@v2
|
||||
with:
|
||||
name: tarballs
|
||||
failOnError: false
|
||||
|
||||
# Checkout the actions for this repo owner
|
||||
- name: Checkout Actions
|
||||
uses: actions/checkout@v3
|
||||
@@ -411,21 +668,4 @@ jobs:
|
||||
echo "build_successful='true'" >> $GITHUB_OUTPUT
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
|
||||
# - name: Download the Windows installer created in windows job
|
||||
# uses: actions/download-artifact@v3
|
||||
# with:
|
||||
# name: windows_installer
|
||||
# path: installers/win
|
||||
|
||||
# - name: Rename the Windows installer w/ version tag
|
||||
# run: |
|
||||
# maiko_release_tag="${{ steps.maiko.outputs.latest_tag }}"
|
||||
# combined_release_tag="${MEDLEY_RELEASE_TAG#medley-}_${maiko_release_tag#maiko-}"
|
||||
# windows_installer_filename="medley_install_${combined_release_tag}_x64.exe"
|
||||
# cd installers/win
|
||||
# mv medley_install_vXXXVERSIONXXX_x64.exe "${windows_installer_filename}"
|
||||
# echo "WINDOWS_INSTALLER_FILENAME=${windows_installer_filename}" >>${GITHUB_ENV}
|
||||
|
||||
######################################################################################
|
||||
|
||||
8
.github/workflows/buildReleaseInclDocker.yml
vendored
@@ -84,6 +84,7 @@ jobs:
|
||||
echo "force=false" >> $GITHUB_OUTPUT;
|
||||
fi
|
||||
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
@@ -94,8 +95,7 @@ jobs:
|
||||
with:
|
||||
draft: ${{ needs.inputs.outputs.draft }}
|
||||
force: ${{ needs.inputs.outputs.force }}
|
||||
secrets:
|
||||
OIO_SSH_KEY: ${{ secrets.OIO_SSH_KEY }}
|
||||
secrets: inherit
|
||||
|
||||
|
||||
######################################################################################
|
||||
@@ -107,9 +107,7 @@ jobs:
|
||||
with:
|
||||
draft: ${{ needs.inputs.outputs.draft }}
|
||||
force: ${{ needs.inputs.outputs.force }}
|
||||
secrets:
|
||||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
|
||||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
|
||||
secrets: inherit
|
||||
|
||||
######################################################################################
|
||||
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "19-Jan-2023 12:44:20" {DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;9 21022
|
||||
(FILECREATED "16-Jun-2023 17:20:09" {DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;11 21130
|
||||
|
||||
:CHANGES-TO (VARS APPS-INITCOMS)
|
||||
(FNS Apps.DoInit)
|
||||
:CHANGES-TO (FNS Apps.DoInit)
|
||||
|
||||
:PREVIOUS-DATE "19-Jan-2023 11:57:40" {DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;8
|
||||
)
|
||||
:PREVIOUS-DATE "19-Jan-2023 12:44:20"
|
||||
{DSK}<home>frank>il>medley>gmedley>greetfiles>APPS-INIT.;10)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT APPS-INITCOMS)
|
||||
@@ -170,7 +169,11 @@
|
||||
|
||||
(* ;; " create the Documentation and ROOMS, Notecards Activation Buttons, if needed")
|
||||
|
||||
(Apps.CreateButtons T])
|
||||
(Apps.CreateButtons T)
|
||||
|
||||
(* ;; " Make sure Notecards doesn't try to load its HASH file in NC.PostGreet")
|
||||
|
||||
(SETTOPVAL '\NC.SourceAccessFlg NIL])
|
||||
|
||||
(Apps.CreateButtons
|
||||
[LAMBDA (DoDocsToo) (* ; "Edited 13-Dec-2022 12:51 by frank")
|
||||
@@ -373,8 +376,8 @@
|
||||
(BKSYSBUF " ")
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (1146 20888 (Apps.InitNotecards 1156 . 5018) (Apps.DoInit 5020 . 8119) (
|
||||
Apps.CreateButtons 8121 . 16945) (Apps.CreateLabel 16947 . 17757) (Apps.ActivateCLOS 17759 . 19108) (
|
||||
Apps.ActivateRooms 19110 . 19961) (Apps.ShowDoc 19963 . 20112) (XCL-USER::EXEC_INTERLISP 20114 . 20886
|
||||
(FILEMAP (NIL (1109 20996 (Apps.InitNotecards 1119 . 4981) (Apps.DoInit 4983 . 8227) (
|
||||
Apps.CreateButtons 8229 . 17053) (Apps.CreateLabel 17055 . 17865) (Apps.ActivateCLOS 17867 . 19216) (
|
||||
Apps.ActivateRooms 19218 . 20069) (Apps.ShowDoc 20071 . 20220) (XCL-USER::EXEC_INTERLISP 20222 . 20994
|
||||
)))))
|
||||
STOP
|
||||
|
||||
6
installers/cygwin/.gitignore
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
medley*.exe
|
||||
medley*.tgz
|
||||
maiko*.tgz
|
||||
setup-x86_64.exe
|
||||
medley.bat
|
||||
|
||||
BIN
installers/cygwin/Medley.ico
Normal file
|
After Width: | Height: | Size: 155 KiB |
165
installers/cygwin/editpath/EditPath.iss
Normal file
@@ -0,0 +1,165 @@
|
||||
; Copyright (C) 2021-2023 by Bill Stewart (bstewart at iname.com)
|
||||
;
|
||||
; This program is free software; you can redistribute it and/or modify it under
|
||||
; the terms of the GNU Lesser General Public License as published by the Free
|
||||
; Software Foundation; either version 3 of the License, or (at your option) any
|
||||
; later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
; FOR A PARTICULAR PURPOSE. See the GNU General Lesser Public License for more
|
||||
; details.
|
||||
;
|
||||
; You should have received a copy of the GNU Lesser General Public License
|
||||
; along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
|
||||
; Sample Inno Setup (https://www.jrsoftware.org/isinfo.php) script
|
||||
; demonstrating use of PathMgr.dll.
|
||||
;
|
||||
; This script uses PathMgr.dll in the following ways:
|
||||
; * Copies PathMgr.dll to the target machine (required for uninstall)
|
||||
; * Defines a task in [Tasks] that should modify the Path
|
||||
; * Imports the AddDirToPath() DLL function at setup time
|
||||
; * Imports the RemoveDirFromPath() DLL function at uninstall time
|
||||
; * Stores task state as custom setting using RegisterPreviousData()
|
||||
; * Retrieves task state custom setting during setup and uninstall initialize
|
||||
; * At post install, adds app dir to Path if task selected
|
||||
; * At uninstall, removes dir from Path if custom setting present
|
||||
; * Unloads and deletes DLL and removes app dir at uninstall deinitialize
|
||||
|
||||
#if Ver < EncodeVer(6,0,0,0)
|
||||
#error This script requires Inno Setup 6 or later
|
||||
#endif
|
||||
|
||||
[Setup]
|
||||
AppId={{A17D2D05-C729-4F2A-9CC7-E04906C5A842}
|
||||
AppName=EditPath
|
||||
AppVersion=4.0.4.0
|
||||
UsePreviousAppDir=false
|
||||
DefaultDirName={autopf}\EditPath
|
||||
Uninstallable=true
|
||||
OutputDir=.
|
||||
OutputBaseFilename=EditPath_Setup
|
||||
ArchitecturesInstallIn64BitMode=x64
|
||||
PrivilegesRequired=none
|
||||
PrivilegesRequiredOverridesAllowed=dialog
|
||||
|
||||
[Files]
|
||||
; Install PathMgr.dll for use with both setup and uninstall; use
|
||||
; uninsneveruninstall flag because DeinitializeSetup() will delete after
|
||||
; unloading the DLL; install the 32-bit version of PathMgr.dll because both
|
||||
; setup and uninstall executables are 32-bit
|
||||
Source: "i386\PathMgr.dll"; DestDir: "{app}"; Flags: uninsneveruninstall
|
||||
|
||||
; Other files to install on target system
|
||||
Source: "i386\EditPath.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode()
|
||||
Source: "x86_64\EditPath.exe"; DestDir: "{app}"; Check: Is64BitInstallMode()
|
||||
Source: "EditPath.md"; DestDir: "{app}"
|
||||
|
||||
[Tasks]
|
||||
Name: modifypath; Description: "&Add to Path"
|
||||
|
||||
[Code]
|
||||
const
|
||||
MODIFY_PATH_TASK_NAME = 'modifypath'; // Specify name of task
|
||||
|
||||
var
|
||||
PathIsModified: Boolean; // Cache task selection from previous installs
|
||||
ApplicationUninstalled: Boolean; // Has application been uninstalled?
|
||||
|
||||
// Import AddDirToPath() at setup time ('files:' prefix)
|
||||
function DLLAddDirToPath(DirName: string; PathType, AddType: DWORD): DWORD;
|
||||
external 'AddDirToPath@files:PathMgr.dll stdcall setuponly';
|
||||
|
||||
// Import RemoveDirFromPath() at uninstall time ('{app}\' prefix)
|
||||
function DLLRemoveDirFromPath(DirName: string; PathType: DWORD): DWORD;
|
||||
external 'RemoveDirFromPath@{app}\PathMgr.dll stdcall uninstallonly';
|
||||
|
||||
// Wrapper for AddDirToPath() DLL function
|
||||
function AddDirToPath(const DirName: string): DWORD;
|
||||
var
|
||||
PathType, AddType: DWORD;
|
||||
begin
|
||||
// PathType = 0 - use system Path
|
||||
// PathType = 1 - use user Path
|
||||
// AddType = 0 - add to end of Path
|
||||
// AddType = 1 - add to beginning of Path
|
||||
if IsAdminInstallMode() then
|
||||
PathType := 0
|
||||
else
|
||||
PathType := 1;
|
||||
AddType := 0;
|
||||
result := DLLAddDirToPath(DirName, PathType, AddType);
|
||||
end;
|
||||
|
||||
// Wrapper for RemoveDirFromPath() DLL function
|
||||
function RemoveDirFromPath(const DirName: string): DWORD;
|
||||
var
|
||||
PathType: DWORD;
|
||||
begin
|
||||
// PathType = 0 - use system Path
|
||||
// PathType = 1 - use user Path
|
||||
if IsAdminInstallMode() then
|
||||
PathType := 0
|
||||
else
|
||||
PathType := 1;
|
||||
result := DLLRemoveDirFromPath(DirName, PathType);
|
||||
end;
|
||||
|
||||
procedure RegisterPreviousData(PreviousDataKey: Integer);
|
||||
begin
|
||||
// Store previous or current task selection as custom user setting
|
||||
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
|
||||
SetPreviousData(PreviousDataKey, MODIFY_PATH_TASK_NAME, 'true');
|
||||
end;
|
||||
|
||||
function InitializeSetup(): Boolean;
|
||||
begin
|
||||
result := true;
|
||||
// Was task selected during a previous install?
|
||||
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
|
||||
end;
|
||||
|
||||
function InitializeUninstall(): Boolean;
|
||||
begin
|
||||
result := true;
|
||||
// Was task selected during a previous install?
|
||||
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
|
||||
ApplicationUninstalled := false;
|
||||
end;
|
||||
|
||||
procedure CurStepChanged(CurStep: TSetupStep);
|
||||
begin
|
||||
if CurStep = ssPostInstall then
|
||||
begin
|
||||
// Add app directory to Path at post-install step if task selected
|
||||
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
|
||||
AddDirToPath(ExpandConstant('{app}'));
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
|
||||
begin
|
||||
if CurUninstallStep = usUninstall then
|
||||
begin
|
||||
// Remove app directory from path during uninstall if task was selected;
|
||||
// use variable because we can't use WizardIsTaskSelected() at uninstall
|
||||
if PathIsModified then
|
||||
RemoveDirFromPath(ExpandConstant('{app}'));
|
||||
end
|
||||
else if CurUninstallStep = usPostUninstall then
|
||||
begin
|
||||
ApplicationUninstalled := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure DeinitializeUninstall();
|
||||
begin
|
||||
if ApplicationUninstalled then
|
||||
begin
|
||||
// Unload and delete PathMgr.dll and remove app dir when uninstalling
|
||||
UnloadDLL(ExpandConstant('{app}\PathMgr.dll'));
|
||||
DeleteFile(ExpandConstant('{app}\PathMgr.dll'));
|
||||
RemoveDir(ExpandConstant('{app}'));
|
||||
end;
|
||||
end;
|
||||
118
installers/cygwin/editpath/EditPath.md
Normal file
@@ -0,0 +1,118 @@
|
||||
# EditPath
|
||||
|
||||
EditPath is a Windows console (text-based, command-line) program for managing the system Path and user Path.
|
||||
|
||||
# Author
|
||||
|
||||
Bill Stewart - bstewart at iname dot com
|
||||
|
||||
# License
|
||||
|
||||
EditPath.exe is covered by the GNU Lesser Public License (LPGL). See the file `LICENSE` for details.
|
||||
|
||||
# Download
|
||||
|
||||
https://github.com/Bill-Stewart/PathMgr/releases/
|
||||
|
||||
# Background
|
||||
|
||||
The system Path is found in the following location in the Windows registry:
|
||||
|
||||
Root: `HKEY_LOCAL_MACHINE`
|
||||
Subkey: `SYSTEM\CurrentControlSet\Control\Session Manager\Environment`
|
||||
Value name: `Path`
|
||||
|
||||
The current user Path is found in the following location in the registry:
|
||||
|
||||
Root: `HKEY_CURRENT_USER`
|
||||
Subkey: `Environment`
|
||||
Value name: `Path`
|
||||
|
||||
In both cases, the `Path` value is (or should be) the registry type `REG_EXPAND_SZ`, which means that it is a string that can contain values surrounded by `%` characters that Windows will automatically expand to environment variable values. (For example, `%SystemRoot%` will be expanded to `C:\Windows` on most systems.)
|
||||
|
||||
The `Path` value contains a `;`-delimited list of directory names that the system should search for executables, library files, scripts, etc. Windows appends the content of the current user Path to the system Path and expands the environment variable references. The resulting string is set as the `Path` environment variable for processes.
|
||||
|
||||
EditPath provides a command-line interface for managing the `Path` value in the system location (in `HKEY_LOCAL_MACHINE`) and the current user location (in `HKEY_CURRENT_USER`).
|
||||
|
||||
# Usage
|
||||
|
||||
The following describes the command-line usage for the program. Parameters are case-sensitive.
|
||||
|
||||
**EditPath** [_options_] _type_ _action_
|
||||
|
||||
You must specify only one of the following _type_ parameters:
|
||||
|
||||
| _type_ | Abbreviation | Description
|
||||
| ------- | ------------ | -----------
|
||||
| **--system** | **-s** | Specifies the system Path
|
||||
| **--user** | **-u** | Specifies the user Path
|
||||
|
||||
You must specify only one of the following _action_ parameters:
|
||||
|
||||
| _action_ | Abbreviation | Description
|
||||
| -------- | ------------ | -----------
|
||||
| **--list** | **-l** | Lists directories in Path
|
||||
| **--test "**_dirname_**"** | **-t "**_dirname_**"** | Tests if directory exists in Path
|
||||
| **--add "**_dirname_**"** | **-a "**_dirname_**"** | Adds directory to Path
|
||||
| **--remove "**_dirname_**"** | **-r "**_dirname_**"** | Removes directory from Path
|
||||
|
||||
The following parameters are optional:
|
||||
|
||||
| _options_ | Abbreviation | Description
|
||||
| --------- | ------------ | -----------
|
||||
| **--quiet** | **-q** | Suppresses result messages
|
||||
| **--expand** | **-x** | Expands environment variables (**--list** only)
|
||||
| **--beginning** | **-b** | Adds to beginning of Path (**--add** only)
|
||||
|
||||
# Exit Codes
|
||||
|
||||
The following table lists typical exit codes when not using **--test** (**-t**).
|
||||
|
||||
| Exit Code | Description
|
||||
| --------- | -----------
|
||||
| 0 | No errors
|
||||
| 2 | The Path value is not present in the registry
|
||||
| 3 | The specified directory does not exist in the Path
|
||||
| 5 | Access is denied
|
||||
| 87 | Incorrect parameter(s)
|
||||
| 183 | The specified directory already exists in the Path
|
||||
|
||||
The following table lists typical exit codes when using **--test** (**-t**).
|
||||
|
||||
| Exit Code | Description
|
||||
| --------- | -----------
|
||||
| 1 | The specified directory exists in the unexpanded Path
|
||||
| 2 | The specified directory exists in the expanded Path
|
||||
| 3 | The specified directory does not exist in the Path
|
||||
|
||||
# Remarks
|
||||
|
||||
* Anything on the command line after **--test**, **--add**, or **--remove** is considered to be the argument for the parameter. To avoid ambiguity, specify the _action_ parameter last on the command line.
|
||||
|
||||
* Uexpanded vs. expanded refers to whether the environment variable references (i.e., names between `%` characters) are expanded after retrieving the Path value from the registry. For example, `%SystemRoot%` is unexpanded but `C:\Windows` is expanded.
|
||||
|
||||
* The **--add** (**-a**) parameter checks whether the specified directory exists in both the unexpanded and expanded copies of the Path before adding the directory. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--add C:\TestApp` will return exit code 183 (i.e., the directory already exists in the Path) because `%TESTAPP%` expands to `C:\TestApp`.
|
||||
|
||||
* The **--remove** (**-r**) parameter does not expand environment variable references. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--remove "C:\TestApp"` will return exit code 3 (i.e., the directory does not exist in the Path) because **--remove** does not expand `%TESTAPP%` to `C:\TestApp`. For the command to succeed, you would have to specify `--remove "%TESTAPP%"` instead.
|
||||
|
||||
* The program will exit with error code 87 if a parameter (or an argument to a parameter) is missing or not valid, if mutually exclusive parameters are specified, etc.
|
||||
|
||||
* The program will exit with error code 5 if the current user does not have permission to update the Path value in the registry (for example, if you try to update the system Path using a standard user account or an unelevated administrator account).
|
||||
|
||||
# Examples
|
||||
|
||||
1. `EditPath --expand --system --list`
|
||||
|
||||
This command outputs the directories in the system Path, with environment variables expanded. You can also write this command as `EditPath -x -s -l`.
|
||||
|
||||
2. `EditPath --user --add "%LOCALAPPDATA%\Programs\MyApp"`
|
||||
|
||||
Adds the specified directory name to the user Path.
|
||||
|
||||
3. `EditPath -s -r "C:\Program Files\MyApp\bin"`
|
||||
|
||||
Removes the specified directory from the system Path.
|
||||
|
||||
4. `EditPath -s --test "C:\Program Files (x86)\MyApp\bin"`
|
||||
|
||||
Returns an exit code of 3 if the specified directory is not in the system Path, 1 if the specified directory is in the unexpanded copy of the system Path, or 2 if the specified directory is in the expanded copy of the system Path.
|
||||
3
installers/cygwin/editpath/README.TXT
Normal file
@@ -0,0 +1,3 @@
|
||||
Editpath installed here is extracted from Release 1.04 from https://github.com/Bill-Stewart/PathMgr.
|
||||
|
||||
|
||||
BIN
installers/cygwin/editpath/i386/EditPath.exe
Normal file
BIN
installers/cygwin/editpath/x86_64/EditPath.exe
Normal file
128
installers/cygwin/makeflix.iss
Normal file
@@ -0,0 +1,128 @@
|
||||
; -- makeflix.iss --
|
||||
; fgh 2016-08-19
|
||||
|
||||
#define x86_or_x64 "x86"
|
||||
#define version "1.0.1"
|
||||
|
||||
#if x86_or_x64 == "x86"
|
||||
#define exe_dir "Win32"
|
||||
#else
|
||||
#define exe_dir "x64"
|
||||
#endif
|
||||
|
||||
[Setup]
|
||||
ArchitecturesAllowed={#x86_or_x64}
|
||||
AppName=Makeflix
|
||||
AppVersion={#version}
|
||||
AppPublisher=Lellan, Inc.
|
||||
AppPublisherURL=http://www.lellan.com/
|
||||
AppCopyright=Copyright (C) 2012-2017 Lellan, Inc.
|
||||
DefaultDirName={pf}\Lellan\Makeflix
|
||||
DefaultGroupName=Lellan
|
||||
UninstallDisplayIcon={app}\makeflix.exe
|
||||
Compression=lzma2
|
||||
SolidCompression=yes
|
||||
; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
|
||||
; done in "64-bit mode" on x64, meaning it should use the native
|
||||
; 64-bit Program Files directory and the 64-bit view of the registry.
|
||||
ArchitecturesInstallIn64BitMode=x64
|
||||
; Source Dir is lellan/toolchain/makeflix/windows
|
||||
SourceDir="..\"
|
||||
OutputDir="deploy"
|
||||
OutputBaseFilename="makeflix_v{#version}_{#x86_or_x64}"
|
||||
SetupIconFile="..\images\Lellan_Logo_20130221.ico"
|
||||
LicenseFile="..\deploy\EULA.rtf"
|
||||
DisableWelcomePage=no
|
||||
|
||||
[Files]
|
||||
Source: "makeflix\{#exe_dir}\Release\makeflix.exe"; DestDir: "{app}"; DestName: "makeflix.exe"; Flags: ignoreversion
|
||||
Source: "deploy\DLLs\{#x86_or_x64}\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "deploy\DLLs\{#x86_or_x64}\Qt5Gui.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "deploy\DLLs\{#x86_or_x64}\Qt5Widgets.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "deploy\DLLs\{#x86_or_x64}\Qt5Network.dll"; DestDir: "{app}"; Flags: ignoreversion
|
||||
Source: "deploy\DLLs\{#x86_or_x64}\platforms\qwindows.dll"; DestDir: "{app}\platforms"; Flags: ignoreversion
|
||||
Source: "deploy\gstreamer\{#x86_or_x64}\*"; DestDir: "{app}\gstreamer"; Flags: recursesubdirs ignoreversion
|
||||
Source: "deploy\vc_redist\vc_redist.{#x86_or_x64}.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall
|
||||
Source: "deploy\bonjour\Bonjour.{#x86_or_x64}.msi"; DestDir: "{tmp}" ; Flags: deleteafterinstall
|
||||
|
||||
Source: "..\deploy\Makeflix_Open_Source_Libraries.pdf"; DestDir: "{app}"
|
||||
|
||||
[Icons]
|
||||
Name: "{group}\Makeflix"; Filename: "{app}\makeflix.exe"
|
||||
Name: "{group}\Uninstall Makeflix"; Filename: "{uninstallexe}"
|
||||
|
||||
|
||||
[Run]
|
||||
#define VCmsg "Installing Microsoft Visual C++ Redistributable ..."
|
||||
Filename: "{tmp}\vc_redist{#x86_or_x64}.exe"; StatusMsg: "{#VCmsg}"; Check: not VCinstalled
|
||||
#define BonjourMsg "Installing Apple Bonjour support ..."
|
||||
Filename: "msiexec"; Parameters: "/i {tmp}\Bonjour.{#x86_or_x64}.msi"; StatusMsg: "{#BonjourMsg}"; Check: not BonjourInstalled
|
||||
|
||||
[Registry]
|
||||
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\makeflix.exe"; ValueType: string; ValueName: "(Default)"; ValueData: "{app}\makeflix.exe"; Flags: uninsdeletekey
|
||||
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\makeflix.exe"; ValueType: string; ValueName: "Path"; ValueData: "{app}\gstreamer\bin"; Flags: uninsdeletekey
|
||||
|
||||
[Code]
|
||||
function VCinstalled: Boolean;
|
||||
// By Michael Weiner <mailto:spam@cogit.net>
|
||||
// Function for Inno Setup Compiler
|
||||
// 13 November 2015
|
||||
// Modified by Frank G Halasz to handle WOW case
|
||||
// 23 August 2016
|
||||
// Returns True if Microsoft Visual C++ Redistributable is installed, otherwise False.
|
||||
// The programmer may set the year of redistributable to find; see below.
|
||||
var
|
||||
names: TArrayOfString;
|
||||
i: Integer;
|
||||
dName, key, year, platfm: String;
|
||||
begin
|
||||
// Year of redistributable to find; leave null to find installation for any year.
|
||||
year := '2015';
|
||||
Result := False;
|
||||
if Is64BitInstallMode then
|
||||
begin
|
||||
platfm := 'x64';
|
||||
key := 'Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall';
|
||||
end
|
||||
else if not IsWin64 then
|
||||
begin
|
||||
platfm := 'x86';
|
||||
key := 'Software\Microsoft\Windows\CurrentVersion\Uninstall';
|
||||
end
|
||||
else
|
||||
begin
|
||||
platfm := 'x86';
|
||||
key := 'Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall';
|
||||
end;
|
||||
// Get an array of all of the uninstall subkey names.
|
||||
if RegGetSubkeyNames(HKEY_LOCAL_MACHINE, key, names) then
|
||||
// Uninstall subkey names were found.
|
||||
begin
|
||||
i := 0
|
||||
while ((i < GetArrayLength(names)) and (Result = False)) do
|
||||
// The loop will end as soon as one instance of a Visual C++ redistributable is found.
|
||||
begin
|
||||
// For each uninstall subkey, look for a DisplayName value.
|
||||
// If not found, then the subkey name will be used instead.
|
||||
if not RegQueryStringValue(HKEY_LOCAL_MACHINE, key + '\' + names[i], 'DisplayName', dName) then
|
||||
dName := names[i];
|
||||
// See if the value contains both of the strings below.
|
||||
Result := (Pos(Trim('Visual C++ ' + year),dName) * Pos('Redistributable',dName) * Pos(platfm, dName) <> 0)
|
||||
i := i + 1;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function BonjourInstalled: Boolean;
|
||||
// Returns True if Apple Bonjour is installed, otherwise False.
|
||||
// Ignores date/version of Bonjour.
|
||||
begin
|
||||
Result := False;
|
||||
// If this key exists, then
|
||||
// bonjour services must already be installed
|
||||
if RegKeyExists(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Services\Bonjour Service') then
|
||||
// Uninstall subkey names were found.
|
||||
begin
|
||||
Result := True;
|
||||
end;
|
||||
end;
|
||||
85
installers/cygwin/medley.iss
Normal file
@@ -0,0 +1,85 @@
|
||||
;###############################################################################
|
||||
;#
|
||||
;# medley.iss - Inno Setup compiler script for creating a Windows
|
||||
;# installer for cygwin and Medley on cygwin
|
||||
;#
|
||||
;# 2023-06-03 Frank Halasz
|
||||
;#
|
||||
;# Copyright 2023 Interlisp.org
|
||||
;#
|
||||
;###############################################################################
|
||||
|
||||
#define x86_or_x64 "x64"
|
||||
#if GetEnv('COMBINED_RELEASE_TAG') != ""
|
||||
#define VERSION=GetEnv('COMBINED_RELEASE_TAG')
|
||||
#else
|
||||
#define VERSION="local"
|
||||
#endif
|
||||
|
||||
#if GetEnv('CYGWIN_INSTALLER_BASE') != ""
|
||||
#define OUTFILE=GetEnv('CYGWIN_INSTALLER_BASE')
|
||||
#else
|
||||
#define OUTFILE="medley-full-cygwin-x86_64-local"
|
||||
#endif
|
||||
|
||||
[Setup]
|
||||
PrivilegesRequired=lowest
|
||||
ArchitecturesAllowed={#x86_or_x64}
|
||||
AppName=Medley
|
||||
AppVersion={#version}
|
||||
AppPublisher=Interlisp.org
|
||||
AppPublisherURL=https://interlisp.org/
|
||||
AppCopyright=Copyright (C) 2023 Interlisp.org
|
||||
DefaultDirName={%USERPROFILE}\il
|
||||
DefaultGroupName=Medley
|
||||
Compression=lzma2
|
||||
SolidCompression=yes
|
||||
; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
|
||||
; done in "64-bit mode" on x64, meaning it should use the native
|
||||
; 64-bit Program Files directory and the 64-bit view of the registry.
|
||||
ArchitecturesInstallIn64BitMode=x64
|
||||
OutputDir="."
|
||||
OutputBaseFilename={#OUTFILE}
|
||||
SetupIconFile="Medley.ico"
|
||||
DisableWelcomePage=no
|
||||
MissingRunOnceIdsWarning=no
|
||||
DisableProgramGroupPage=yes
|
||||
WizardImageFile=medley_logo.bmp
|
||||
WizardSmallImageFile=medley_logo_small.bmp
|
||||
WizardImageStretch=no
|
||||
UninstallDisplayIcon="{app}\Medley.ico"
|
||||
UninstallFilesDir={app}\uninstall
|
||||
UsePreviousAppDir=no
|
||||
|
||||
[Dirs]
|
||||
Name: "{app}\install"; Permissions: everyone-full
|
||||
Name: "{app}\uninstall"; Permissions: everyone-full
|
||||
Name: "{app}\cygwin"; Permissions: everyone-full
|
||||
|
||||
[Files]
|
||||
Source: "setup-x86_64.exe"; DestDir: "{app}\cygwin"; DestName: "setup-x86_64.exe"; Flags: ignoreversion
|
||||
Source: "maiko-cygwin.x86_64.tgz"; DestDir: "{app}\install"; DestName: "maiko-cygwin.x86_64.tgz"; Flags: ignoreversion
|
||||
Source: "medley.tgz"; DestDir: "{app}\install"; DestName: "medley.tgz"; Flags: ignoreversion
|
||||
Source: "..\win\editpath\x86_64\EditPath.exe"; DestDir: "{app}\uninstall"; DestName: "EditPath.exe"; Flags: ignoreversion
|
||||
Source: "Medley.ico"; DestDir: "{app}"; DestName: "Medley.ico"; Flags: ignoreversion
|
||||
|
||||
[Icons]
|
||||
Name: "{group}\Medley\Uninstall_Medley"; Filename: "{uninstallexe}"
|
||||
; Name: "{group}\Medley\Medley"; Filename: "powershell"; Parameters: "-NoExit -File {app}\medley.ps1 --help"; IconFilename: "{app}\Medley.ico"
|
||||
|
||||
[Run]
|
||||
Filename: "{app}\cygwin\setup-x86_64.exe"; Parameters: "--quiet-mode --no-admin --wait --no-shortcuts --no-write-registry --verbose --root {app} --site http://www.gtlib.gatech.edu/pub/cygwin/ --only-site --local-package-dir {app}\cygwin --packages nano,xdg-utils"; StatusMsg: "Installing Cygwin ..."
|
||||
Filename: "{app}\bin\bash"; Parameters: "-login -c 'sed -i -e s/^none/#none/ /etc/fstab && echo none / cygdrive binary,posix=0,user 0 0 >>/etc/fstab'"; Flags: runhidden
|
||||
Filename: "tar"; Parameters: "-x -z -C {app} -f {app}\install\medley.tgz"; Flags: runhidden; StatusMsg: "Installing Medley ..."
|
||||
Filename: "powershell"; Parameters: "remove-item -force -recurse {app}\maiko"; Flags: runhidden; StatusMsg: "Installing Maiko ..."
|
||||
Filename: "tar"; Parameters: "-x -z -C {app} -f {app}\install\maiko-cygwin.x86_64.tgz"; Flags: runhidden; StatusMsg: "Installing Maiko ..."
|
||||
; Recreate medley symbolic links (lost in tars)
|
||||
Filename: "{app}\bin\bash"; Parameters: "-login -c 'cd /medley/scripts/medley && ln -s medley.command medley.sh && cd ../.. && ln -s /medley/scripts/medley/medley.sh medley'"; Flags: runhidden
|
||||
; Create medley.bat
|
||||
Filename: "powershell"; Parameters: "write-output \""{app}\bin\bash -login -c '/medley/scripts/medley/medley.sh %*'\"" | out-file medley.bat -Encoding ascii"; WorkingDir: "{app}"; Flags: runhidden; StatusMsg: "Creating medley.bat ..."
|
||||
Filename: "{app}\uninstall\EditPath.exe"; Parameters: "--user --add {app}"; Flags: runhidden; StatusMsg: "Adding to PATH ..."
|
||||
Filename: "powershell"; Parameters: "remove-item -recurse -force {app}\install"; Flags: runhidden; StatusMsg: "Cleaning up ..."
|
||||
|
||||
[UninstallRun]
|
||||
Filename: "{app}\uninstall\EditPath.exe"; Parameters: "--user --remove {app}"; Flags: runhidden
|
||||
|
||||
BIN
installers/cygwin/medley_logo.bmp
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
installers/cygwin/medley_logo.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
installers/cygwin/medley_logo_small.bmp
Normal file
|
After Width: | Height: | Size: 13 KiB |
@@ -11,15 +11,6 @@
|
||||
###############################################################################
|
||||
# set -x
|
||||
|
||||
# mess with file desscriptors so we get only one line on stdout
|
||||
# so we can communicate only what we want back to any githib runner
|
||||
# stash fd 1 in fd 3
|
||||
exec 3>&1
|
||||
# make fd 1 (stdout) be the same as stdout
|
||||
# so none of the std output from this file will be captured by
|
||||
# $() but it will still be written out to the tty (via stderr)
|
||||
exec 1>&2
|
||||
|
||||
tarball_dir=tmp/tarballs
|
||||
|
||||
# Make sure we are in the right directory
|
||||
@@ -32,6 +23,13 @@ then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# template for artifacts file names should be passed down in the ENV variable: ARTIFACTS_FILENAME_TEMPLATE
|
||||
if [ -z "${ARTIFACTS_FILENAME_TEMPLATE}" ];
|
||||
then
|
||||
ARTIFACTS_FILENAME_TEMPLATE="medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# If running as a github action or -t arg, then skip downloading the tarballs
|
||||
if ! [[ -n "${GITHUB_WORKSPACE}" || "$1" = "-t" ]];
|
||||
@@ -69,7 +67,6 @@ fi
|
||||
pushd ${tarball_dir} >/dev/null 2>/dev/null
|
||||
medley_release=$(echo medley-*-loadups.tgz | sed "s/medley-\(.*\)-loadups.tgz/\1/")
|
||||
maiko_release=$(echo maiko-*-linux.x86_64.tgz | sed "s/maiko-\(.*\)-linux.x86_64.tgz/\1/")
|
||||
debs_filename_base="medley-full-${medley_release}_${maiko_release}"
|
||||
popd >/dev/null 2>/dev/null
|
||||
|
||||
|
||||
@@ -136,7 +133,7 @@ do
|
||||
#
|
||||
# Create tar file for this arch
|
||||
#
|
||||
filename="${debs_filename_base}-${wslp}-${arch}"
|
||||
filename="$(echo ${ARTIFACTS_FILENAME_TEMPLATE} | sed -e "s#@@PLATFORM@@#${wslp}#" -e "s#@@ARCH@@#${arch}#" -e "s#@@MEDLEY.RELEASE@@#${medley_release}#" -e "s#@@MAIKO.RELEASE@@#${maiko_release}#" )"
|
||||
mkdir -p tars
|
||||
echo "Creating tar file tars/${filename}.tgz"
|
||||
tar -C ${il_dir} -czf tars/${filename}.tgz .
|
||||
@@ -151,8 +148,5 @@ do
|
||||
done
|
||||
done
|
||||
|
||||
# send just one line back to github $() construct
|
||||
# do this by restoring fd 1 to what it was orginally
|
||||
exec 1>&3
|
||||
echo "${debs_filename_base}"
|
||||
|
||||
################################################################################################################
|
||||
################################################################################################################
|
||||
|
||||
@@ -10,36 +10,46 @@
|
||||
<ul>
|
||||
<li><h4>Standard Linux</h4>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86_64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-x86_64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
|
||||
<li><h4>Windows System for Linux</h4>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86_64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86.64 machines</a></p>
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-x86_64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86.64 machines</a></p>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
|
||||
</ul></li>
|
||||
<li><h3>Local Installations (for any Linux distro)</h3>
|
||||
|
||||
<ul>
|
||||
<li><h4>Standard Linux</h4>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86_64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-x86_64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines</a></p></li>
|
||||
<li><h4>Windows System for Linux</h4>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86_64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-x86_64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86_64 machines</a></p>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines</a></p></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
<li><h2>WINDOWS 10/11 (Medley runs in a Docker container)</h2>
|
||||
<li><h2>WINDOWS 10/11 (Single install based on cygwin - Docker install deprecated)</h2>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@WINDOWS.INSTALLER.FILENAME@@@">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for Windows x64 machines</a></p></li>
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/@@@CYGWIN.INSTALLER@@@">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for Windows x64 machines</a></p></li>
|
||||
<li><h2>macOS 11 (Big Sur) and later - for both Intel and Apple Silicon</h2>
|
||||
|
||||
<ul>
|
||||
<li><h3>DMG Installer</h3>
|
||||
|
||||
<p>Not available</p></li>
|
||||
<li><h3>ZIP Installer</h3>
|
||||
|
||||
<p><a href="@@@DOWNLOAD_URL@@@/medley-full-macos-universal-@@@COMBINED.RELEASE.TAG@@@.zip">Release @@@MEDLEY.SHORT.RELEASE.TAG@@@</a></p></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
</ul>
|
||||
|
||||
@@ -6,40 +6,44 @@
|
||||
|
||||
* #### Standard Linux
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86\_64.deb)
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-x86\_64-@@@COMBINED.RELEASE.TAG@@@.deb)
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.deb)
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb)
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.deb)
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.deb)
|
||||
|
||||
* #### Windows System for Linux
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\.64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86\_64.deb)
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\.64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-x86\_64-@@@COMBINED.RELEASE.TAG@@@.deb)
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.deb)
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.deb)
|
||||
|
||||
* ### Local Installations (for any Linux distro)
|
||||
|
||||
* #### Standard Linux
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-x86\_64.tgz)
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-x86\_64-@@@COMBINED.RELEASE.TAG@@@.tgz)
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-aarch64.tgz)
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz)
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-linux-armv7l.tgz)
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARMv7 machines](@@@DOWNLOAD_URL@@@/medley-full-linux-armv7l-@@@COMBINED.RELEASE.TAG@@@.tgz)
|
||||
|
||||
* #### Windows System for Linux
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-x86\_64.tgz)
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for x86\_64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-x86\_64-@@@COMBINED.RELEASE.TAG@@@.tgz)
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/@@@DEBS.FILENAME.BASE@@@-wsl-aarch64.tgz)
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for ARM64 machines](@@@DOWNLOAD_URL@@@/medley-full-wsl-aarch64-@@@COMBINED.RELEASE.TAG@@@.tgz)
|
||||
|
||||
* ## WINDOWS 10/11 (Medley runs in a Docker container)
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for Windows x64 machines](@@@DOWNLOAD_URL@@@/@@@WINDOWS.INSTALLER.FILENAME@@@)
|
||||
* ## WINDOWS 10/11 (Single install based on cygwin - Docker install deprecated)
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@ for Windows x64 machines](@@@DOWNLOAD_URL@@@/@@@CYGWIN.INSTALLER@@@)
|
||||
|
||||
* ## macOS 11 (Big Sur) and later - for both Intel and Apple Silicon
|
||||
|
||||
* ### DMG Installer
|
||||
|
||||
Not available
|
||||
|
||||
* ### ZIP Installer
|
||||
|
||||
[Release @@@MEDLEY.SHORT.RELEASE.TAG@@@](@@@DOWNLOAD_URL@@@/medley-full-macos-universal-@@@COMBINED.RELEASE.TAG@@@.zip)
|
||||
|
||||
7
installers/macos/.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
tmp
|
||||
devtmp
|
||||
pkg/*.pkg
|
||||
artifacts
|
||||
|
||||
|
||||
|
||||
33
installers/macos/app/Info.plist
Normal file
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>medley/medley</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Medley Interlisp, Copyright 2023 Interlisp.org</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>Medley.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.interlisp.Medley</string>
|
||||
<key>CFBundleDocumentTypes</key>
|
||||
<array>
|
||||
</array>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>3.51</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>--VERSION_TAG--</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>Medley</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>--VERSION_TAG--</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright 2023 Interlisp.org</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>11.0</string>
|
||||
</dict>
|
||||
</plist>
|
||||
1
installers/macos/app/PkgInfo
Normal file
@@ -0,0 +1 @@
|
||||
APPLMedley
|
||||
170
installers/macos/build_app.sh
Executable file
@@ -0,0 +1,170 @@
|
||||
#!/bin/bash
|
||||
###############################################################################
|
||||
#
|
||||
# build_app.sh: build app bundle for installing Medley Interlisp on MacOS
|
||||
#
|
||||
# 2023-02-23 Frank Halasz
|
||||
#
|
||||
# Copyright 2023 by Interlisp.org
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
APPNAME=Medley
|
||||
|
||||
# 2023-07-19 Temorary selector to allow us to create .zip asset before app/dmg work is finished
|
||||
INCLUDE_APP="no" # "yes" or "no"
|
||||
|
||||
# Make sure we are in the right directory
|
||||
if [ ! -f ./app/Info.plist ];
|
||||
then
|
||||
echo "Can't find ./app/Info.plist file."
|
||||
echo "Incorrect cwd?"
|
||||
echo "Should be in medley/installers/macos"
|
||||
echo "Exiting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# template for artifacts file names should be passed down in the ENV variable: ARTIFACTS_FILENAME_TEMPLATE
|
||||
if [ -z "${ARTIFACTS_FILENAME_TEMPLATE}" ];
|
||||
then
|
||||
ARTIFACTS_FILENAME_TEMPLATE="medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@"
|
||||
fi
|
||||
|
||||
#
|
||||
# Setup directories
|
||||
#
|
||||
CWD=$(pwd)
|
||||
RESULTS_DIR=${CWD}/artifacts
|
||||
APPBUNDLE=${RESULTS_DIR}/${APPNAME}.app
|
||||
APPBUNDLECONTENTS=${APPBUNDLE}/Contents
|
||||
APPBUNDLEEXE=${APPBUNDLECONTENTS}/MacOS
|
||||
APPBUNDLERESOURCES=${APPBUNDLECONTENTS}/Resources
|
||||
APPBUNDLEICON=${APPBUNDLECONTENTS}/Resources
|
||||
tmp_dir=${CWD}/tmp
|
||||
tarball_dir=${tmp_dir}/tarballs
|
||||
|
||||
# If running as a github action or -t arg, then skip downloading the tarballs
|
||||
if ! [[ -n "${GITHUB_WORKSPACE}" || "$1" = "-t" ]];
|
||||
then
|
||||
# First, make sure gh is available and we are logged in to github
|
||||
if [ -z "$(which gh)" ];
|
||||
then
|
||||
echo "Can't find gh"
|
||||
echo "Exiting."
|
||||
exit 2
|
||||
fi
|
||||
gh auth status 2>&1 | grep --quiet --no-messages "Logged in to github.com"
|
||||
if [ $? -ne 0 ];
|
||||
then
|
||||
echo "Not logged into github."
|
||||
echo "Exiting."
|
||||
exit 3
|
||||
fi
|
||||
# then clear out the ./tmp directory
|
||||
rm -rf ${tmp_dir}
|
||||
mkdir -p ${tmp_dir}
|
||||
# then download the maiko and medley tarballs
|
||||
mkdir -p ${tarball_dir}
|
||||
echo "Fetching maiko and medley release tarballs"
|
||||
TAG=$(gh release list --repo interlisp/maiko | head -n 1 | awk "{print \$1 }")
|
||||
gh release download ${TAG} \
|
||||
--repo interlisp/maiko \
|
||||
--dir ${tarball_dir} \
|
||||
--pattern "*darwin*.tgz"
|
||||
TAG=$(gh release list --repo interlisp/medley | head -n 1 | awk "{print \$1 }")
|
||||
gh release download ${TAG} \
|
||||
--repo interlisp/medley \
|
||||
--dir ${tarball_dir} \
|
||||
--pattern "*-loadups.tgz" \
|
||||
--pattern "*-runtime.tgz"
|
||||
gh repo clone interlisp/notecards notecards -- --depth 1
|
||||
(cd notecards; git archive --format=tgz --output=../notecards.tgz --prefix=notecards/ main)
|
||||
mv notecards.tgz ${tarball_dir}
|
||||
rm -rf notecards
|
||||
fi
|
||||
|
||||
# Figure out release tags from tarball names
|
||||
pushd ${tarball_dir} >/dev/null 2>/dev/null
|
||||
medley_release=$(echo medley-*-loadups.tgz | sed "s/medley-\(.*\)-loadups.tgz/\1/")
|
||||
maiko_release=$(echo maiko-*-darwin.x86_64.tgz | sed "s/maiko-\(.*\)-darwin.x86_64.tgz/\1/")
|
||||
popd >/dev/null 2>/dev/null
|
||||
|
||||
if [ "${INCLUDE_APP}" = "yes" ]; then
|
||||
#
|
||||
# Create bundle dirs
|
||||
#
|
||||
rm -rf ${RESULTS_DIR}
|
||||
mkdir -p ${RESULTS_DIR}
|
||||
rm -rf ${APPBUNDLE}
|
||||
mkdir -p ${APPBUNDLE}
|
||||
mkdir ${APPBUNDLE}/Contents
|
||||
mkdir ${APPBUNDLE}/Contents/MacOS
|
||||
mkdir ${APPBUNDLE}/Contents/Resources
|
||||
#
|
||||
# Create icons and put in bundle
|
||||
#
|
||||
iconset_dir=${tmp_dir}/${APPNAME}.iconset
|
||||
rm -rf ${iconset_dir}
|
||||
mkdir -p ${iconset_dir}
|
||||
image_dir=${CWD}/images
|
||||
sips -z 16 16 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_16x16.png >/dev/null 2>&1
|
||||
sips -z 32 32 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_16x16@2x.png >/dev/null 2>&1
|
||||
sips -z 32 32 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_32x32.png >/dev/null 2>&1
|
||||
sips -z 64 64 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_32x32@2x.png >/dev/null 2>&1
|
||||
sips -z 128 128 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_128x128.png >/dev/null 2>&1
|
||||
sips -z 256 256 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_128x128@2x.png >/dev/null 2>&1
|
||||
sips -z 256 256 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_256x256.png >/dev/null 2>&1
|
||||
sips -z 512 512 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_256x256@2x.png >/dev/null 2>&1
|
||||
sips -z 512 512 ${image_dir}/App_icon1024.png --out ${iconset_dir}/icon_512x512.png >/dev/null 2>&1
|
||||
cp ${image_dir}/App_icon1024.png ${iconset_dir}/icon_512x512@2x.png
|
||||
iconutil -c icns -o ${tmp_dir}/${APPNAME}.icns ${iconset_dir}
|
||||
cp ${tmp_dir}/${APPNAME}.icns ${APPBUNDLEICON}/
|
||||
rm -r ${iconset_dir}
|
||||
rm ${tmp_dir}/${APPNAME}.icns
|
||||
#
|
||||
# Update and copy in "control" files
|
||||
#
|
||||
sed -e "s/--VERSION_TAG--/${medley_release}.${maiko_release}.0/g" \
|
||||
< app/Info.plist \
|
||||
> ${APPBUNDLECONTENTS}/Info.plist
|
||||
cp app/PkgInfo ${APPBUNDLECONTENTS}/
|
||||
fi #INCLUDE_APP
|
||||
|
||||
#
|
||||
# Untar the maiko and medley releases into the bundle
|
||||
#
|
||||
il_dir=${APPBUNDLE}/Contents/MacOS
|
||||
mkdir -p ${il_dir}
|
||||
tar -x -z -C ${il_dir} \
|
||||
-f "${tarball_dir}/maiko-${maiko_release}-darwin.universal.tgz"
|
||||
tar -x -z -C ${il_dir} \
|
||||
-f "${tarball_dir}/medley-${medley_release}-runtime.tgz"
|
||||
tar -x -z -C ${il_dir} \
|
||||
-f "${tarball_dir}/medley-${medley_release}-loadups.tgz"
|
||||
tar -x -z -C ${il_dir} \
|
||||
-f "${tarball_dir}/notecards.tgz"
|
||||
#
|
||||
# Handle run_medley needing separate directories for each arch
|
||||
#
|
||||
pushd ${il_dir}/maiko >/dev/null 2>&1
|
||||
ln -s darwin.universal darwin.aarch64
|
||||
ln -s darwin.universal darwin.x86_64
|
||||
popd >/dev/null 2>&1
|
||||
#
|
||||
# Add file icon to medley.command
|
||||
#
|
||||
if [ -z "$(which fileicon)" ];
|
||||
then
|
||||
brew install fileicon
|
||||
fi
|
||||
fileicon set ${il_dir}/medley/scripts/medley/medley.command ${image_dir}/Command_icon128.png
|
||||
#
|
||||
# Also create the zip file of il_dir for distribution
|
||||
#
|
||||
pushd ${il_dir} >/dev/null 2>&1
|
||||
filename="$(echo ${ARTIFACTS_FILENAME_TEMPLATE} | sed -e "s#@@PLATFORM@@#macos#" -e "s#@@ARCH@@#universal#" -e "s#@@MEDLEY.RELEASE@@#${medley_release}#" -e "s#@@MAIKO.RELEASE@@#${maiko_release}#" )"
|
||||
zip -r -6 -y -q ${RESULTS_DIR}/${filename}.zip .
|
||||
popd >/dev/null 2>&1
|
||||
|
||||
######################################################################################################
|
||||
######################################################################################################
|
||||
66
installers/macos/build_artifacts.sh
Executable file
@@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
###############################################################################
|
||||
#
|
||||
# build_artifacts.sh: build the artifacts for installing Medley Interlisp on
|
||||
# MacOS. Basically just calls build_app.sh and build_dmg.sh.
|
||||
# based on Medley.app built by build_app.sh
|
||||
#
|
||||
# 2023-03-03 Frank Halasz
|
||||
#
|
||||
# Copyright 2023 by Interlisp.org
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
#
|
||||
# Figure out what directory this script is being executed from
|
||||
#
|
||||
get_abs_filename() {
|
||||
# $1 : relative filename
|
||||
echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")"
|
||||
}
|
||||
|
||||
get_script_dir() {
|
||||
|
||||
# call this with ${BASH_SOURCE[0]:-$0} as its (only) parameter
|
||||
|
||||
# set -x
|
||||
|
||||
local SCRIPT_PATH="$( get_abs_filename "$1" )";
|
||||
|
||||
pushd . > '/dev/null';
|
||||
|
||||
while [ -h "$SCRIPT_PATH" ];
|
||||
do
|
||||
cd "$( dirname -- "$SCRIPT_PATH"; )";
|
||||
SCRIPT_PATH="$( readlink -f -- "$SCRIPT_PATH"; )";
|
||||
done
|
||||
|
||||
cd "$( dirname -- "$SCRIPT_PATH"; )" > '/dev/null';
|
||||
SCRIPT_PATH="$( pwd; )";
|
||||
|
||||
popd > '/dev/null';
|
||||
|
||||
# set +x
|
||||
|
||||
echo "${SCRIPT_PATH}"
|
||||
}
|
||||
|
||||
SCRIPTDIR=$(get_script_dir "${BASH_SOURCE[0]:-$0}")
|
||||
|
||||
#
|
||||
# cd to the dir we are executing from and call
|
||||
# build_app.sh and the build_dmg.sh
|
||||
#
|
||||
cd ${SCRIPTDIR}
|
||||
t=""
|
||||
c=""
|
||||
if [[ "$1" = "-t" || "$2" = "-t" ]]; then t="-t"; fi
|
||||
if [[ "$1" = "-c" || "$2" = "-c" ]]; then c="-c"; fi
|
||||
./build_app.sh "${t}" 2>&1
|
||||
# 2023-07-20 Not building dmg as yet, just using this to build zip file
|
||||
# while we finish work around dmg
|
||||
# ./build_dmg.sh "${c}"
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
185
installers/macos/build_dmg.sh
Executable file
@@ -0,0 +1,185 @@
|
||||
#!/bin/bash
|
||||
###############################################################################
|
||||
#
|
||||
# build_dmg.sh: build dmg for installing Medley Interlisp on MacOS
|
||||
# based on Medley.app built by build_app.sh
|
||||
#
|
||||
# 2023-03-03 Frank Halasz
|
||||
#
|
||||
# Copyright 2023 by Interlisp.org
|
||||
#
|
||||
# Based on code found at:
|
||||
# http://stackoverflow.com/questions/96882/how-do-i-create-a-nice-looking-dmg-for-mac-os-x-using-command-line-tools
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
#set -o verbose #echo onset +o verbose #echo off
|
||||
|
||||
# template for artifacts file names should be passed down in the ENV variable: ARTIFACTS_FILENAME_TEMPLATE
|
||||
if [ -z "${ARTIFACTS_FILENAME_TEMPLATE}" ];
|
||||
then
|
||||
ARTIFACTS_FILENAME_TEMPLATE="medley-full-@@PLATFORM@@-@@ARCH@@-@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@"
|
||||
fi
|
||||
|
||||
#
|
||||
# Set Parameters
|
||||
#
|
||||
APP_NAME="Medley.app"
|
||||
VOL_NAME="Medley_Install"
|
||||
BG_NAME=Install_Message.png
|
||||
WIN_WIDTH=700
|
||||
WIN_HEIGHT=850
|
||||
|
||||
#
|
||||
# Set pathnames
|
||||
#
|
||||
CWD=$(pwd)
|
||||
TMP_DIR=${CWD}/tmp
|
||||
RESULTS_DIR=${CWD}/artifacts
|
||||
APP_PATH=${RESULTS_DIR}/${APP_NAME}
|
||||
DMG_PATH=${RESULTS_DIR}/${VOL_NAME}
|
||||
SRC_DIR=${TMP_DIR}/dmg_src
|
||||
IMAGES_DIR=${CWD}/images
|
||||
SCRIPTS_DIR=${CWD}/scripts
|
||||
|
||||
#
|
||||
# Make sure we are in the right directory
|
||||
#
|
||||
if [ ! -e ${APP_PATH} ];
|
||||
then
|
||||
echo "Can't find the app: ${APP_NAME}."
|
||||
echo "Incorrect cwd? Should be in medley/installers/macos."
|
||||
echo "Or build_app.sh not yet run?"
|
||||
echo "Exiting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
# Copy over files from build app etc to dmg proto-directory
|
||||
#
|
||||
if [ ! "$1" = "-c" ]
|
||||
then
|
||||
#
|
||||
# Cleanup anything leftover from last run
|
||||
#
|
||||
rm -rf ${SRC_DIR}
|
||||
mkdir -p ${SRC_DIR}
|
||||
|
||||
#
|
||||
# Assemble source directory for DMG
|
||||
#
|
||||
#ditto ${APP_PATH} ${SRC_DIR}/${APP_NAME}
|
||||
mv ${APP_PATH} ${SRC_DIR}/${APP_NAME}
|
||||
SetFile -a B ${SRC_DIR}/${APP_NAME}
|
||||
ditto ${SCRIPTS_DIR}/medley_add2path ${SRC_DIR}/medley_add2path
|
||||
ditto ${IMAGES_DIR}/${BG_NAME} ${SRC_DIR}/.background/${BG_NAME}
|
||||
fi
|
||||
|
||||
#
|
||||
# Create initial dmg image
|
||||
#
|
||||
if [ -e "/Volumes/${VOL_NAME}" ];
|
||||
then
|
||||
hdiutil detach /Volumes/${VOL_NAME}
|
||||
fi
|
||||
rm -f ${DMG_PATH}.temp.dmg
|
||||
hdiutil create -srcfolder ${SRC_DIR} -volname ${VOL_NAME} -fs HFS+ \
|
||||
-fsargs "-c c=64,a=16,e=16" -format UDRW ${DMG_PATH}.temp.dmg
|
||||
device=$(\
|
||||
hdiutil attach -readwrite -noverify -noautoopen "${DMG_PATH}".temp.dmg \
|
||||
| egrep '^/dev/' | sed 1q | awk '{print $1}' \
|
||||
)
|
||||
|
||||
#
|
||||
# cd to the new dmg
|
||||
#
|
||||
pushd /Volumes/${VOL_NAME} >/dev/null 2>&1
|
||||
|
||||
#
|
||||
# Add symbolic link for medley script and icon for addpath
|
||||
#
|
||||
ln -s Medley.app/Contents/MacOS/medley/scripts/medley/medley.command medley
|
||||
if [ -z "$(which fileicon)" ];
|
||||
then
|
||||
brew install fileicon
|
||||
fi
|
||||
fileicon set medley_add2path ${IMAGES_DIR}/A2P_icon128.png
|
||||
|
||||
#
|
||||
# Dress up the appearance using Applescript
|
||||
#
|
||||
ROW1=375
|
||||
ROW2=650
|
||||
COL1=139
|
||||
COL2=350
|
||||
COL3=561
|
||||
osascript <<EOT
|
||||
tell application "Finder"
|
||||
tell disk "${VOL_NAME}"
|
||||
open
|
||||
set current view of container window to icon view
|
||||
set toolbar visible of container window to false
|
||||
set statusbar visible of container window to false
|
||||
set old_bounds to bounds of container window
|
||||
set l to item 1 of old_bounds
|
||||
set t to item 2 of old_bounds
|
||||
set r to l + ${WIN_WIDTH}
|
||||
set b to t + ${WIN_HEIGHT}
|
||||
set the bounds of container window to {l, t, r, b}
|
||||
set theViewOptions to the icon view options of container window
|
||||
set arrangement of theViewOptions to snap to grid
|
||||
set icon size of theViewOptions to 128
|
||||
set background picture of theViewOptions to file ".background:${BG_NAME}"
|
||||
set appHome to path to applications folder from system domain
|
||||
make new alias file at container window to appHome with properties {name:"Applications"}
|
||||
set appHome to path to applications folder from user domain
|
||||
make new alias file at container window to appHome with properties {name:"My Applications"}
|
||||
set appHome to path to home folder from user domain
|
||||
make new alias file at container window to appHome with properties {name:"My Home Folder"}
|
||||
delay 1
|
||||
set position of item "${APP_NAME}" of container window to {${COL1}, ${ROW1}}
|
||||
set position of item "medley" of container window to {${COL2}, ${ROW1}}
|
||||
set position of item "medley_add2path" of container window to {${COL3}, ${ROW1}}
|
||||
set position of item "Applications" of container window to {${COL1}, ${ROW2}}
|
||||
set position of item "My Applications" of container window to {${COL2}, ${ROW2}}
|
||||
set position of item "My Home Folder" of container window to {${COL3}, ${ROW2}}
|
||||
close
|
||||
end tell
|
||||
end tell
|
||||
EOT
|
||||
|
||||
#
|
||||
# Add icon to dmg
|
||||
#
|
||||
fileicon set /Volumes/${VOL_NAME} ${IMAGES_DIR}/Install_icon128.png
|
||||
|
||||
#
|
||||
# return to original dir
|
||||
#
|
||||
popd >/dev/null 2>&1
|
||||
|
||||
#
|
||||
# Detach the tmp dmg and convert it to final (compressed, ro) dmg
|
||||
#
|
||||
hdiutil detach ${device}
|
||||
sync
|
||||
rm -f ${DMG_PATH}.dmg
|
||||
hdiutil convert "${DMG_PATH}".temp.dmg -format UDZO -imagekey zlib-level=6 -o ${DMG_PATH}.dmg
|
||||
rm -rf "${DMG_PATH}".temp.dmg
|
||||
|
||||
#
|
||||
# Extract version info from app Info.plist & rename dmg using version
|
||||
#
|
||||
sed_script='{/CFBundleVersion/!d;N;s/^.*<string>\(.*\)<\/string>/\1/;s/.0$//;s/\./_/;p;}'
|
||||
version=$(sed -ne "${sed_script}" ${SRC_DIR}/${APP_NAME}/Contents/Info.plist)
|
||||
DMG_NAME="$(echo ${ARTIFACTS_FILENAME_TEMPLATE} | sed -e 's#@@PLATFORM@@#macos#' -e 's#@@ARCH@@#$universal#' -e 's#@@MEDLEY.RELEASE@@_@@MAIKO.RELEASE@@#${version}#' )"
|
||||
mv ${DMG_PATH}.dmg ${RESULTS_DIR}/${DMG_NAME}.dmg
|
||||
|
||||
#
|
||||
# Done
|
||||
#
|
||||
echo "DMG build completed."
|
||||
|
||||
###############################################################################
|
||||
###############################################################################
|
||||
|
||||
209
installers/macos/images/A2P_icon.svg
Normal file
@@ -0,0 +1,209 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
width="2000"
|
||||
height="2000"
|
||||
viewBox="0 0 2000 2000"
|
||||
version="1.1"
|
||||
id="svg2704"
|
||||
sodipodi:docname="A2P_icon.svg"
|
||||
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
|
||||
inkscape:export-filename="A2P_icon128.png"
|
||||
inkscape:export-xdpi="6.1440001"
|
||||
inkscape:export-ydpi="6.1440001"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<g
|
||||
id="g1126"
|
||||
transform="translate(-23.756927,163.29152)">
|
||||
<text
|
||||
x="597.27948"
|
||||
y="997.78094"
|
||||
font-family="'Times New Roman', Times, serif"
|
||||
font-weight="bold"
|
||||
font-size="420px"
|
||||
id="text2702"
|
||||
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||
id="tspan25093">Medley</tspan></text>
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="1066.795"
|
||||
y="218.396"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2674"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="865.021"
|
||||
y="89.851997"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2676"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="629.06"
|
||||
y="50.366001"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2678"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="396.42899"
|
||||
y="106.215"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2680"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="204.11301"
|
||||
y="248.522"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2682"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="82.689003"
|
||||
y="454.659"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2684"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="51.462002"
|
||||
y="691.854"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2686"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="115.396"
|
||||
y="922.39398"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2688"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="264.327"
|
||||
y="1109.627"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2690"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="474.577"
|
||||
y="1223.783"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2692"
|
||||
transform="translate(147.4565)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
|
||||
x="1003.8107"
|
||||
y="1163.4888"
|
||||
id="text288"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan286"
|
||||
x="1003.8107"
|
||||
y="1163.4888" /></text>
|
||||
<text
|
||||
x="946.01031"
|
||||
y="1500.8351"
|
||||
font-family="'Times New Roman', Times, serif"
|
||||
font-weight="bold"
|
||||
font-size="420px"
|
||||
id="text292"
|
||||
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:233.333px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||
id="tspan290">add2path</tspan></text>
|
||||
</g>
|
||||
<defs
|
||||
id="defs2708">
|
||||
<rect
|
||||
x="1144.3981"
|
||||
y="797.67157"
|
||||
width="915.91937"
|
||||
height="555.16339"
|
||||
id="rect44588" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview2706"
|
||||
pagecolor="#f5e6c4"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.49895222"
|
||||
inkscape:cx="864.81227"
|
||||
inkscape:cy="918.92566"
|
||||
inkscape:window-width="1752"
|
||||
inkscape:window-height="1205"
|
||||
inkscape:window-x="1508"
|
||||
inkscape:window-y="107"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg2704"
|
||||
fit-margin-top="100"
|
||||
fit-margin-left="100"
|
||||
fit-margin-right="100"
|
||||
fit-margin-bottom="100"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<symbol
|
||||
id="window-icon"
|
||||
viewBox="0 0 372 300"
|
||||
transform="translate(-98.918502,49.633999)">
|
||||
<rect
|
||||
x="10"
|
||||
y="10"
|
||||
width="352"
|
||||
height="280"
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||
id="rect2665" />
|
||||
<line
|
||||
x1="10"
|
||||
y1="30"
|
||||
x2="362"
|
||||
y2="30"
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||
id="line2667" />
|
||||
</symbol>
|
||||
<circle
|
||||
cx="551.08148"
|
||||
cy="699.63397"
|
||||
r="20"
|
||||
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
|
||||
id="circle2696" />
|
||||
<circle
|
||||
cx="551.08148"
|
||||
cy="699.63397"
|
||||
r="600"
|
||||
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
|
||||
id="circle2698" />
|
||||
<rect
|
||||
x="-98.918503"
|
||||
y="49.633999"
|
||||
width="2922"
|
||||
height="1600"
|
||||
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
|
||||
id="rect2700" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text44586"
|
||||
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
|
||||
transform="translate(-98.918502,49.633999)" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
BIN
installers/macos/images/A2P_icon128.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
BIN
installers/macos/images/A2P_icon256.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
209
installers/macos/images/App_icon.svg
Normal file
@@ -0,0 +1,209 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
width="2000"
|
||||
height="2000"
|
||||
viewBox="0 0 2000 2000"
|
||||
version="1.1"
|
||||
id="svg2704"
|
||||
sodipodi:docname="App_icon.svg"
|
||||
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
|
||||
inkscape:export-filename="App_icon512.png"
|
||||
inkscape:export-xdpi="24.576"
|
||||
inkscape:export-ydpi="24.576"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<g
|
||||
id="g1126"
|
||||
transform="translate(-23.756927,163.29152)">
|
||||
<text
|
||||
x="597.27948"
|
||||
y="997.78094"
|
||||
font-family="'Times New Roman', Times, serif"
|
||||
font-weight="bold"
|
||||
font-size="420px"
|
||||
id="text2702"
|
||||
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||
id="tspan25093">Medley</tspan></text>
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="1066.795"
|
||||
y="218.396"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2674"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="865.021"
|
||||
y="89.851997"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2676"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="629.06"
|
||||
y="50.366001"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2678"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="396.42899"
|
||||
y="106.215"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2680"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="204.11301"
|
||||
y="248.522"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2682"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="82.689003"
|
||||
y="454.659"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2684"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="51.462002"
|
||||
y="691.854"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2686"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="115.396"
|
||||
y="922.39398"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2688"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="264.327"
|
||||
y="1109.627"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2690"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="474.577"
|
||||
y="1223.783"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2692"
|
||||
transform="translate(147.4565)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
|
||||
x="1003.8107"
|
||||
y="1163.4888"
|
||||
id="text288"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan286"
|
||||
x="1003.8107"
|
||||
y="1163.4888" /></text>
|
||||
<text
|
||||
x="1263.5646"
|
||||
y="1466.0958"
|
||||
font-family="'Times New Roman', Times, serif"
|
||||
font-weight="bold"
|
||||
font-size="420px"
|
||||
id="text292"
|
||||
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:233.333px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||
id="tspan290">app</tspan></text>
|
||||
</g>
|
||||
<defs
|
||||
id="defs2708">
|
||||
<rect
|
||||
x="1144.3981"
|
||||
y="797.67157"
|
||||
width="915.91937"
|
||||
height="555.16339"
|
||||
id="rect44588" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview2706"
|
||||
pagecolor="#f5eddc"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.49895222"
|
||||
inkscape:cx="760.59387"
|
||||
inkscape:cy="1017.1315"
|
||||
inkscape:window-width="2286"
|
||||
inkscape:window-height="1205"
|
||||
inkscape:window-x="45"
|
||||
inkscape:window-y="53"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g1126"
|
||||
fit-margin-top="100"
|
||||
fit-margin-left="100"
|
||||
fit-margin-right="100"
|
||||
fit-margin-bottom="100"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<symbol
|
||||
id="window-icon"
|
||||
viewBox="0 0 372 300"
|
||||
transform="translate(-98.918502,49.633999)">
|
||||
<rect
|
||||
x="10"
|
||||
y="10"
|
||||
width="352"
|
||||
height="280"
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||
id="rect2665" />
|
||||
<line
|
||||
x1="10"
|
||||
y1="30"
|
||||
x2="362"
|
||||
y2="30"
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||
id="line2667" />
|
||||
</symbol>
|
||||
<circle
|
||||
cx="551.08148"
|
||||
cy="699.63397"
|
||||
r="20"
|
||||
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
|
||||
id="circle2696" />
|
||||
<circle
|
||||
cx="551.08148"
|
||||
cy="699.63397"
|
||||
r="600"
|
||||
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
|
||||
id="circle2698" />
|
||||
<rect
|
||||
x="-98.918503"
|
||||
y="49.633999"
|
||||
width="2922"
|
||||
height="1600"
|
||||
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
|
||||
id="rect2700" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text44586"
|
||||
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
|
||||
transform="translate(-98.918502,49.633999)" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
BIN
installers/macos/images/App_icon1024.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
installers/macos/images/App_icon512.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
209
installers/macos/images/Command_icon.svg
Normal file
@@ -0,0 +1,209 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
width="2000"
|
||||
height="2000"
|
||||
viewBox="0 0 2000 2000"
|
||||
version="1.1"
|
||||
id="svg2704"
|
||||
sodipodi:docname="Command_icon.svg"
|
||||
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
|
||||
inkscape:export-filename="Command_icon256.png"
|
||||
inkscape:export-xdpi="12.288"
|
||||
inkscape:export-ydpi="12.288"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<g
|
||||
id="g1126"
|
||||
transform="translate(-23.756927,163.29152)">
|
||||
<text
|
||||
x="597.27948"
|
||||
y="997.78094"
|
||||
font-family="'Times New Roman', Times, serif"
|
||||
font-weight="bold"
|
||||
font-size="420px"
|
||||
id="text2702"
|
||||
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||
id="tspan25093">Medley</tspan></text>
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="1066.795"
|
||||
y="218.396"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2674"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="865.021"
|
||||
y="89.851997"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2676"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="629.06"
|
||||
y="50.366001"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2678"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="396.42899"
|
||||
y="106.215"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2680"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="204.11301"
|
||||
y="248.522"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2682"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="82.689003"
|
||||
y="454.659"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2684"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="51.462002"
|
||||
y="691.854"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2686"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="115.396"
|
||||
y="922.39398"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2688"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="264.327"
|
||||
y="1109.627"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2690"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="474.577"
|
||||
y="1223.783"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2692"
|
||||
transform="translate(147.4565)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
|
||||
x="1003.8107"
|
||||
y="1163.4888"
|
||||
id="text288"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan286"
|
||||
x="1003.8107"
|
||||
y="1163.4888" /></text>
|
||||
<text
|
||||
x="936.01031"
|
||||
y="1500.8351"
|
||||
font-family="'Times New Roman', Times, serif"
|
||||
font-weight="bold"
|
||||
font-size="420px"
|
||||
id="text292"
|
||||
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:233.333px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||
id="tspan290">command</tspan></text>
|
||||
</g>
|
||||
<defs
|
||||
id="defs2708">
|
||||
<rect
|
||||
x="1144.3981"
|
||||
y="797.67157"
|
||||
width="915.91937"
|
||||
height="555.16339"
|
||||
id="rect44588" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview2706"
|
||||
pagecolor="#f5ebd3"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.49895222"
|
||||
inkscape:cx="1195.5053"
|
||||
inkscape:cy="916.92146"
|
||||
inkscape:window-width="1752"
|
||||
inkscape:window-height="1205"
|
||||
inkscape:window-x="1099"
|
||||
inkscape:window-y="119"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g1126"
|
||||
fit-margin-top="100"
|
||||
fit-margin-left="100"
|
||||
fit-margin-right="100"
|
||||
fit-margin-bottom="100"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<symbol
|
||||
id="window-icon"
|
||||
viewBox="0 0 372 300"
|
||||
transform="translate(-98.918502,49.633999)">
|
||||
<rect
|
||||
x="10"
|
||||
y="10"
|
||||
width="352"
|
||||
height="280"
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||
id="rect2665" />
|
||||
<line
|
||||
x1="10"
|
||||
y1="30"
|
||||
x2="362"
|
||||
y2="30"
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||
id="line2667" />
|
||||
</symbol>
|
||||
<circle
|
||||
cx="551.08148"
|
||||
cy="699.63397"
|
||||
r="20"
|
||||
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
|
||||
id="circle2696" />
|
||||
<circle
|
||||
cx="551.08148"
|
||||
cy="699.63397"
|
||||
r="600"
|
||||
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
|
||||
id="circle2698" />
|
||||
<rect
|
||||
x="-98.918503"
|
||||
y="49.633999"
|
||||
width="2922"
|
||||
height="1600"
|
||||
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
|
||||
id="rect2700" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text44586"
|
||||
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
|
||||
transform="translate(-98.918502,49.633999)" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
BIN
installers/macos/images/Command_icon128.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
installers/macos/images/Command_icon256.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
installers/macos/images/Install_Message.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
1556
installers/macos/images/Install_Message.svg
Normal file
|
After Width: | Height: | Size: 144 KiB |
209
installers/macos/images/Install_icon.svg
Normal file
@@ -0,0 +1,209 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
width="2000"
|
||||
height="2000"
|
||||
viewBox="0 0 2000 2000"
|
||||
version="1.1"
|
||||
id="svg2704"
|
||||
sodipodi:docname="Install_icon.svg"
|
||||
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
|
||||
inkscape:export-filename="Install_icon256.png"
|
||||
inkscape:export-xdpi="6.1440001"
|
||||
inkscape:export-ydpi="6.1440001"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<g
|
||||
id="g1126"
|
||||
transform="translate(-23.756927,163.29152)">
|
||||
<text
|
||||
x="597.27948"
|
||||
y="997.78094"
|
||||
font-family="'Times New Roman', Times, serif"
|
||||
font-weight="bold"
|
||||
font-size="420px"
|
||||
id="text2702"
|
||||
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||
id="tspan25093">Medley</tspan></text>
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="1066.795"
|
||||
y="218.396"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2674"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="865.021"
|
||||
y="89.851997"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2676"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="629.06"
|
||||
y="50.366001"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2678"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="396.42899"
|
||||
y="106.215"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2680"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="204.11301"
|
||||
y="248.522"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2682"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="82.689003"
|
||||
y="454.659"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2684"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="51.462002"
|
||||
y="691.854"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2686"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="115.396"
|
||||
y="922.39398"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2688"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="264.327"
|
||||
y="1109.627"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2690"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="474.577"
|
||||
y="1223.783"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2692"
|
||||
transform="translate(147.4565)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
|
||||
x="1003.8107"
|
||||
y="1163.4888"
|
||||
id="text288"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan286"
|
||||
x="1003.8107"
|
||||
y="1163.4888" /></text>
|
||||
<text
|
||||
x="970.08179"
|
||||
y="1540.9191"
|
||||
font-family="'Times New Roman', Times, serif"
|
||||
font-weight="bold"
|
||||
font-size="420px"
|
||||
id="text292"
|
||||
style="font-weight:bold;font-size:366.667px;font-family:'Times New Roman', Times, serif"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:366.667px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||
id="tspan290">install</tspan></text>
|
||||
</g>
|
||||
<defs
|
||||
id="defs2708">
|
||||
<rect
|
||||
x="1144.3981"
|
||||
y="797.67157"
|
||||
width="915.91937"
|
||||
height="555.16339"
|
||||
id="rect44588" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview2706"
|
||||
pagecolor="#f5ebd3"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.49895222"
|
||||
inkscape:cx="1199.5137"
|
||||
inkscape:cy="920.92986"
|
||||
inkscape:window-width="1752"
|
||||
inkscape:window-height="1205"
|
||||
inkscape:window-x="1099"
|
||||
inkscape:window-y="63"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g1126"
|
||||
fit-margin-top="100"
|
||||
fit-margin-left="100"
|
||||
fit-margin-right="100"
|
||||
fit-margin-bottom="100"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<symbol
|
||||
id="window-icon"
|
||||
viewBox="0 0 372 300"
|
||||
transform="translate(-98.918502,49.633999)">
|
||||
<rect
|
||||
x="10"
|
||||
y="10"
|
||||
width="352"
|
||||
height="280"
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||
id="rect2665" />
|
||||
<line
|
||||
x1="10"
|
||||
y1="30"
|
||||
x2="362"
|
||||
y2="30"
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||
id="line2667" />
|
||||
</symbol>
|
||||
<circle
|
||||
cx="551.08148"
|
||||
cy="699.63397"
|
||||
r="20"
|
||||
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
|
||||
id="circle2696" />
|
||||
<circle
|
||||
cx="551.08148"
|
||||
cy="699.63397"
|
||||
r="600"
|
||||
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
|
||||
id="circle2698" />
|
||||
<rect
|
||||
x="-98.918503"
|
||||
y="49.633999"
|
||||
width="2922"
|
||||
height="1600"
|
||||
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
|
||||
id="rect2700" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text44586"
|
||||
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588);display:inline"
|
||||
transform="translate(-98.918502,49.633999)" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
BIN
installers/macos/images/Install_icon128.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
installers/macos/images/Install_icon256.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
installers/macos/images/MedleyIcon.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
199
installers/macos/images/MedleyIcon.svg
Normal file
@@ -0,0 +1,199 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
width="2000"
|
||||
height="2000"
|
||||
viewBox="0 0 2000 2000"
|
||||
version="1.1"
|
||||
id="svg2704"
|
||||
sodipodi:docname="MedleyIcon.svg"
|
||||
inkscape:version="1.2 (dc2aeda, 2022-05-15)"
|
||||
inkscape:export-filename="C:\Users\Frank\Dev\il\logos\MedleyIcon256.png"
|
||||
inkscape:export-xdpi="12.287999"
|
||||
inkscape:export-ydpi="12.287999"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<g
|
||||
id="g1126"
|
||||
transform="translate(-23.756927,163.29152)">
|
||||
<text
|
||||
x="597.27948"
|
||||
y="997.78094"
|
||||
font-family="'Times New Roman', Times, serif"
|
||||
font-weight="bold"
|
||||
font-size="420px"
|
||||
id="text2702"
|
||||
style="font-weight:bold;font-size:420px;font-family:'Times New Roman', Times, serif"><tspan
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:420px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
|
||||
id="tspan25093">Medley</tspan></text>
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="1066.795"
|
||||
y="218.396"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2674"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="865.021"
|
||||
y="89.851997"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2676"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="629.06"
|
||||
y="50.366001"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2678"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="396.42899"
|
||||
y="106.215"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2680"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="204.11301"
|
||||
y="248.522"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2682"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="82.689003"
|
||||
y="454.659"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2684"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="51.462002"
|
||||
y="691.854"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2686"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="115.396"
|
||||
y="922.39398"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2688"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="264.327"
|
||||
y="1109.627"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2690"
|
||||
transform="translate(147.4565)" />
|
||||
<use
|
||||
xlink:href="#window-icon"
|
||||
x="474.577"
|
||||
y="1223.783"
|
||||
width="372"
|
||||
height="300"
|
||||
id="use2692"
|
||||
transform="translate(147.4565)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:italic;font-size:766.666px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Italic';fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:7.8"
|
||||
x="1003.8107"
|
||||
y="1163.4888"
|
||||
id="text288"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan286"
|
||||
x="1003.8107"
|
||||
y="1163.4888" /></text>
|
||||
</g>
|
||||
<defs
|
||||
id="defs2708">
|
||||
<rect
|
||||
x="1144.3981"
|
||||
y="797.67157"
|
||||
width="915.91937"
|
||||
height="555.16339"
|
||||
id="rect44588" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview2706"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pagecheckerboard="0"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.49895222"
|
||||
inkscape:cx="1302.7299"
|
||||
inkscape:cy="918.92566"
|
||||
inkscape:window-width="1752"
|
||||
inkscape:window-height="1205"
|
||||
inkscape:window-x="172"
|
||||
inkscape:window-y="96"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="g1126"
|
||||
fit-margin-top="100"
|
||||
fit-margin-left="100"
|
||||
fit-margin-right="100"
|
||||
fit-margin-bottom="100"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<symbol
|
||||
id="window-icon"
|
||||
viewBox="0 0 372 300"
|
||||
transform="translate(-98.918502,49.633999)">
|
||||
<rect
|
||||
x="10"
|
||||
y="10"
|
||||
width="352"
|
||||
height="280"
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||
id="rect2665" />
|
||||
<line
|
||||
x1="10"
|
||||
y1="30"
|
||||
x2="362"
|
||||
y2="30"
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:20"
|
||||
id="line2667" />
|
||||
</symbol>
|
||||
<circle
|
||||
cx="551.08148"
|
||||
cy="699.63397"
|
||||
r="20"
|
||||
style="display:none;fill:#ffffff;stroke:#ff0000;stroke-width:5"
|
||||
id="circle2696" />
|
||||
<circle
|
||||
cx="551.08148"
|
||||
cy="699.63397"
|
||||
r="600"
|
||||
style="display:none;fill:none;stroke:#0000ff;stroke-width:5"
|
||||
id="circle2698" />
|
||||
<rect
|
||||
x="-98.918503"
|
||||
y="49.633999"
|
||||
width="2922"
|
||||
height="1600"
|
||||
style="display:none;fill:none;stroke:#00ff00;stroke-width:10"
|
||||
id="rect2700" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
id="text44586"
|
||||
style="font-size:40px;line-height:1.25;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman, ';white-space:pre;shape-inside:url(#rect44588)"
|
||||
transform="translate(-98.918502,49.633999)" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.5 KiB |
BIN
installers/macos/images/MedleyIcon128.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
installers/macos/images/MedleyIcon256.png
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
29
installers/macos/pkg/Distribution.xml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<installer-gui-script minSpecVersion="1">
|
||||
<pkg-ref id="org.interlisp.Medley"/>
|
||||
<options customize="always" require-scripts="false" hostArchitectures="x86_64,arm64" />
|
||||
<domains enable_anywhere="false" enable_currentUserHome="true" enable_localSystem="false" />
|
||||
<choices-outline>
|
||||
<line choice="default">
|
||||
<line choice="org.interlisp.Medley" />
|
||||
</line>
|
||||
<line choice="Location" />
|
||||
</choices-outline>
|
||||
<choice id="default" visible="false" />
|
||||
<choice id="org.interlisp.Medley"
|
||||
description="D Install for all Users?"
|
||||
title="T Install for all users?"
|
||||
customLocation="tests"
|
||||
>
|
||||
<pkg-ref id="org.interlisp.Medley"/>
|
||||
</choice>
|
||||
<choice id="Location"
|
||||
description="D Install for all Users?"
|
||||
title="T Install for all users?"
|
||||
customLocation="tests"
|
||||
>
|
||||
<pkg-ref id="org.interlisp.Medley"/>
|
||||
</choice>
|
||||
<pkg-ref id="org.interlisp.Medley" version="01.01.01" onConclusion="none">Medley-base.pkg</pkg-ref>
|
||||
</installer-gui-script>
|
||||
|
||||
43
installers/macos/scripts/medley_add2path
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
|
||||
# functions to discover what directory this script is being executed from
|
||||
get_abs_filename() {
|
||||
# $1 : relative filename
|
||||
echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")"
|
||||
}
|
||||
|
||||
get_script_dir() {
|
||||
|
||||
# call this with ${BASH_SOURCE[0]:-$0} as its (only) parameter
|
||||
|
||||
# set -x
|
||||
|
||||
local SCRIPT_PATH="$( get_abs_filename "$1" )";
|
||||
|
||||
pushd . > '/dev/null';
|
||||
|
||||
while [ -h "$SCRIPT_PATH" ];
|
||||
do
|
||||
cd "$( dirname -- "$SCRIPT_PATH"; )";
|
||||
SCRIPT_PATH="$( readlink -f -- "$SCRIPT_PATH"; )";
|
||||
done
|
||||
|
||||
cd "$( dirname -- "$SCRIPT_PATH"; )" > '/dev/null';
|
||||
SCRIPT_PATH="$( pwd; )";
|
||||
|
||||
popd > '/dev/null';
|
||||
|
||||
# set +x
|
||||
|
||||
echo "${SCRIPT_PATH}"
|
||||
}
|
||||
|
||||
SCRIPTDIR=$(get_script_dir "${BASH_SOURCE[0]:-$0}")
|
||||
|
||||
touch ~/.profile
|
||||
cat >> ~/.profile <<EOF
|
||||
PATH=\${PATH}:${SCRIPTDIR}
|
||||
EOF
|
||||
rm ${SCRIPTDIR}/medley_add2path.command
|
||||
|
||||
|
||||
@@ -1,165 +1,165 @@
|
||||
; Copyright (C) 2021-2023 by Bill Stewart (bstewart at iname.com)
|
||||
;
|
||||
; This program is free software; you can redistribute it and/or modify it under
|
||||
; the terms of the GNU Lesser General Public License as published by the Free
|
||||
; Software Foundation; either version 3 of the License, or (at your option) any
|
||||
; later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
; FOR A PARTICULAR PURPOSE. See the GNU General Lesser Public License for more
|
||||
; details.
|
||||
;
|
||||
; You should have received a copy of the GNU Lesser General Public License
|
||||
; along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
|
||||
; Sample Inno Setup (https://www.jrsoftware.org/isinfo.php) script
|
||||
; demonstrating use of PathMgr.dll.
|
||||
;
|
||||
; This script uses PathMgr.dll in the following ways:
|
||||
; * Copies PathMgr.dll to the target machine (required for uninstall)
|
||||
; * Defines a task in [Tasks] that should modify the Path
|
||||
; * Imports the AddDirToPath() DLL function at setup time
|
||||
; * Imports the RemoveDirFromPath() DLL function at uninstall time
|
||||
; * Stores task state as custom setting using RegisterPreviousData()
|
||||
; * Retrieves task state custom setting during setup and uninstall initialize
|
||||
; * At post install, adds app dir to Path if task selected
|
||||
; * At uninstall, removes dir from Path if custom setting present
|
||||
; * Unloads and deletes DLL and removes app dir at uninstall deinitialize
|
||||
|
||||
#if Ver < EncodeVer(6,0,0,0)
|
||||
#error This script requires Inno Setup 6 or later
|
||||
#endif
|
||||
|
||||
[Setup]
|
||||
AppId={{A17D2D05-C729-4F2A-9CC7-E04906C5A842}
|
||||
AppName=EditPath
|
||||
AppVersion=4.0.4.0
|
||||
UsePreviousAppDir=false
|
||||
DefaultDirName={autopf}\EditPath
|
||||
Uninstallable=true
|
||||
OutputDir=.
|
||||
OutputBaseFilename=EditPath_Setup
|
||||
ArchitecturesInstallIn64BitMode=x64
|
||||
PrivilegesRequired=none
|
||||
PrivilegesRequiredOverridesAllowed=dialog
|
||||
|
||||
[Files]
|
||||
; Install PathMgr.dll for use with both setup and uninstall; use
|
||||
; uninsneveruninstall flag because DeinitializeSetup() will delete after
|
||||
; unloading the DLL; install the 32-bit version of PathMgr.dll because both
|
||||
; setup and uninstall executables are 32-bit
|
||||
Source: "i386\PathMgr.dll"; DestDir: "{app}"; Flags: uninsneveruninstall
|
||||
|
||||
; Other files to install on target system
|
||||
Source: "i386\EditPath.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode()
|
||||
Source: "x86_64\EditPath.exe"; DestDir: "{app}"; Check: Is64BitInstallMode()
|
||||
Source: "EditPath.md"; DestDir: "{app}"
|
||||
|
||||
[Tasks]
|
||||
Name: modifypath; Description: "&Add to Path"
|
||||
|
||||
[Code]
|
||||
const
|
||||
MODIFY_PATH_TASK_NAME = 'modifypath'; // Specify name of task
|
||||
|
||||
var
|
||||
PathIsModified: Boolean; // Cache task selection from previous installs
|
||||
ApplicationUninstalled: Boolean; // Has application been uninstalled?
|
||||
|
||||
// Import AddDirToPath() at setup time ('files:' prefix)
|
||||
function DLLAddDirToPath(DirName: string; PathType, AddType: DWORD): DWORD;
|
||||
external 'AddDirToPath@files:PathMgr.dll stdcall setuponly';
|
||||
|
||||
// Import RemoveDirFromPath() at uninstall time ('{app}\' prefix)
|
||||
function DLLRemoveDirFromPath(DirName: string; PathType: DWORD): DWORD;
|
||||
external 'RemoveDirFromPath@{app}\PathMgr.dll stdcall uninstallonly';
|
||||
|
||||
// Wrapper for AddDirToPath() DLL function
|
||||
function AddDirToPath(const DirName: string): DWORD;
|
||||
var
|
||||
PathType, AddType: DWORD;
|
||||
begin
|
||||
// PathType = 0 - use system Path
|
||||
// PathType = 1 - use user Path
|
||||
// AddType = 0 - add to end of Path
|
||||
// AddType = 1 - add to beginning of Path
|
||||
if IsAdminInstallMode() then
|
||||
PathType := 0
|
||||
else
|
||||
PathType := 1;
|
||||
AddType := 0;
|
||||
result := DLLAddDirToPath(DirName, PathType, AddType);
|
||||
end;
|
||||
|
||||
// Wrapper for RemoveDirFromPath() DLL function
|
||||
function RemoveDirFromPath(const DirName: string): DWORD;
|
||||
var
|
||||
PathType: DWORD;
|
||||
begin
|
||||
// PathType = 0 - use system Path
|
||||
// PathType = 1 - use user Path
|
||||
if IsAdminInstallMode() then
|
||||
PathType := 0
|
||||
else
|
||||
PathType := 1;
|
||||
result := DLLRemoveDirFromPath(DirName, PathType);
|
||||
end;
|
||||
|
||||
procedure RegisterPreviousData(PreviousDataKey: Integer);
|
||||
begin
|
||||
// Store previous or current task selection as custom user setting
|
||||
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
|
||||
SetPreviousData(PreviousDataKey, MODIFY_PATH_TASK_NAME, 'true');
|
||||
end;
|
||||
|
||||
function InitializeSetup(): Boolean;
|
||||
begin
|
||||
result := true;
|
||||
// Was task selected during a previous install?
|
||||
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
|
||||
end;
|
||||
|
||||
function InitializeUninstall(): Boolean;
|
||||
begin
|
||||
result := true;
|
||||
// Was task selected during a previous install?
|
||||
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
|
||||
ApplicationUninstalled := false;
|
||||
end;
|
||||
|
||||
procedure CurStepChanged(CurStep: TSetupStep);
|
||||
begin
|
||||
if CurStep = ssPostInstall then
|
||||
begin
|
||||
// Add app directory to Path at post-install step if task selected
|
||||
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
|
||||
AddDirToPath(ExpandConstant('{app}'));
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
|
||||
begin
|
||||
if CurUninstallStep = usUninstall then
|
||||
begin
|
||||
// Remove app directory from path during uninstall if task was selected;
|
||||
// use variable because we can't use WizardIsTaskSelected() at uninstall
|
||||
if PathIsModified then
|
||||
RemoveDirFromPath(ExpandConstant('{app}'));
|
||||
end
|
||||
else if CurUninstallStep = usPostUninstall then
|
||||
begin
|
||||
ApplicationUninstalled := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure DeinitializeUninstall();
|
||||
begin
|
||||
if ApplicationUninstalled then
|
||||
begin
|
||||
// Unload and delete PathMgr.dll and remove app dir when uninstalling
|
||||
UnloadDLL(ExpandConstant('{app}\PathMgr.dll'));
|
||||
DeleteFile(ExpandConstant('{app}\PathMgr.dll'));
|
||||
RemoveDir(ExpandConstant('{app}'));
|
||||
end;
|
||||
end;
|
||||
; Copyright (C) 2021-2023 by Bill Stewart (bstewart at iname.com)
|
||||
;
|
||||
; This program is free software; you can redistribute it and/or modify it under
|
||||
; the terms of the GNU Lesser General Public License as published by the Free
|
||||
; Software Foundation; either version 3 of the License, or (at your option) any
|
||||
; later version.
|
||||
;
|
||||
; This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
; FOR A PARTICULAR PURPOSE. See the GNU General Lesser Public License for more
|
||||
; details.
|
||||
;
|
||||
; You should have received a copy of the GNU Lesser General Public License
|
||||
; along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
|
||||
; Sample Inno Setup (https://www.jrsoftware.org/isinfo.php) script
|
||||
; demonstrating use of PathMgr.dll.
|
||||
;
|
||||
; This script uses PathMgr.dll in the following ways:
|
||||
; * Copies PathMgr.dll to the target machine (required for uninstall)
|
||||
; * Defines a task in [Tasks] that should modify the Path
|
||||
; * Imports the AddDirToPath() DLL function at setup time
|
||||
; * Imports the RemoveDirFromPath() DLL function at uninstall time
|
||||
; * Stores task state as custom setting using RegisterPreviousData()
|
||||
; * Retrieves task state custom setting during setup and uninstall initialize
|
||||
; * At post install, adds app dir to Path if task selected
|
||||
; * At uninstall, removes dir from Path if custom setting present
|
||||
; * Unloads and deletes DLL and removes app dir at uninstall deinitialize
|
||||
|
||||
#if Ver < EncodeVer(6,0,0,0)
|
||||
#error This script requires Inno Setup 6 or later
|
||||
#endif
|
||||
|
||||
[Setup]
|
||||
AppId={{A17D2D05-C729-4F2A-9CC7-E04906C5A842}
|
||||
AppName=EditPath
|
||||
AppVersion=4.0.4.0
|
||||
UsePreviousAppDir=false
|
||||
DefaultDirName={autopf}\EditPath
|
||||
Uninstallable=true
|
||||
OutputDir=.
|
||||
OutputBaseFilename=EditPath_Setup
|
||||
ArchitecturesInstallIn64BitMode=x64
|
||||
PrivilegesRequired=none
|
||||
PrivilegesRequiredOverridesAllowed=dialog
|
||||
|
||||
[Files]
|
||||
; Install PathMgr.dll for use with both setup and uninstall; use
|
||||
; uninsneveruninstall flag because DeinitializeSetup() will delete after
|
||||
; unloading the DLL; install the 32-bit version of PathMgr.dll because both
|
||||
; setup and uninstall executables are 32-bit
|
||||
Source: "i386\PathMgr.dll"; DestDir: "{app}"; Flags: uninsneveruninstall
|
||||
|
||||
; Other files to install on target system
|
||||
Source: "i386\EditPath.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode()
|
||||
Source: "x86_64\EditPath.exe"; DestDir: "{app}"; Check: Is64BitInstallMode()
|
||||
Source: "EditPath.md"; DestDir: "{app}"
|
||||
|
||||
[Tasks]
|
||||
Name: modifypath; Description: "&Add to Path"
|
||||
|
||||
[Code]
|
||||
const
|
||||
MODIFY_PATH_TASK_NAME = 'modifypath'; // Specify name of task
|
||||
|
||||
var
|
||||
PathIsModified: Boolean; // Cache task selection from previous installs
|
||||
ApplicationUninstalled: Boolean; // Has application been uninstalled?
|
||||
|
||||
// Import AddDirToPath() at setup time ('files:' prefix)
|
||||
function DLLAddDirToPath(DirName: string; PathType, AddType: DWORD): DWORD;
|
||||
external 'AddDirToPath@files:PathMgr.dll stdcall setuponly';
|
||||
|
||||
// Import RemoveDirFromPath() at uninstall time ('{app}\' prefix)
|
||||
function DLLRemoveDirFromPath(DirName: string; PathType: DWORD): DWORD;
|
||||
external 'RemoveDirFromPath@{app}\PathMgr.dll stdcall uninstallonly';
|
||||
|
||||
// Wrapper for AddDirToPath() DLL function
|
||||
function AddDirToPath(const DirName: string): DWORD;
|
||||
var
|
||||
PathType, AddType: DWORD;
|
||||
begin
|
||||
// PathType = 0 - use system Path
|
||||
// PathType = 1 - use user Path
|
||||
// AddType = 0 - add to end of Path
|
||||
// AddType = 1 - add to beginning of Path
|
||||
if IsAdminInstallMode() then
|
||||
PathType := 0
|
||||
else
|
||||
PathType := 1;
|
||||
AddType := 0;
|
||||
result := DLLAddDirToPath(DirName, PathType, AddType);
|
||||
end;
|
||||
|
||||
// Wrapper for RemoveDirFromPath() DLL function
|
||||
function RemoveDirFromPath(const DirName: string): DWORD;
|
||||
var
|
||||
PathType: DWORD;
|
||||
begin
|
||||
// PathType = 0 - use system Path
|
||||
// PathType = 1 - use user Path
|
||||
if IsAdminInstallMode() then
|
||||
PathType := 0
|
||||
else
|
||||
PathType := 1;
|
||||
result := DLLRemoveDirFromPath(DirName, PathType);
|
||||
end;
|
||||
|
||||
procedure RegisterPreviousData(PreviousDataKey: Integer);
|
||||
begin
|
||||
// Store previous or current task selection as custom user setting
|
||||
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
|
||||
SetPreviousData(PreviousDataKey, MODIFY_PATH_TASK_NAME, 'true');
|
||||
end;
|
||||
|
||||
function InitializeSetup(): Boolean;
|
||||
begin
|
||||
result := true;
|
||||
// Was task selected during a previous install?
|
||||
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
|
||||
end;
|
||||
|
||||
function InitializeUninstall(): Boolean;
|
||||
begin
|
||||
result := true;
|
||||
// Was task selected during a previous install?
|
||||
PathIsModified := GetPreviousData(MODIFY_PATH_TASK_NAME, '') = 'true';
|
||||
ApplicationUninstalled := false;
|
||||
end;
|
||||
|
||||
procedure CurStepChanged(CurStep: TSetupStep);
|
||||
begin
|
||||
if CurStep = ssPostInstall then
|
||||
begin
|
||||
// Add app directory to Path at post-install step if task selected
|
||||
if PathIsModified or WizardIsTaskSelected(MODIFY_PATH_TASK_NAME) then
|
||||
AddDirToPath(ExpandConstant('{app}'));
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
|
||||
begin
|
||||
if CurUninstallStep = usUninstall then
|
||||
begin
|
||||
// Remove app directory from path during uninstall if task was selected;
|
||||
// use variable because we can't use WizardIsTaskSelected() at uninstall
|
||||
if PathIsModified then
|
||||
RemoveDirFromPath(ExpandConstant('{app}'));
|
||||
end
|
||||
else if CurUninstallStep = usPostUninstall then
|
||||
begin
|
||||
ApplicationUninstalled := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure DeinitializeUninstall();
|
||||
begin
|
||||
if ApplicationUninstalled then
|
||||
begin
|
||||
// Unload and delete PathMgr.dll and remove app dir when uninstalling
|
||||
UnloadDLL(ExpandConstant('{app}\PathMgr.dll'));
|
||||
DeleteFile(ExpandConstant('{app}\PathMgr.dll'));
|
||||
RemoveDir(ExpandConstant('{app}'));
|
||||
end;
|
||||
end;
|
||||
|
||||
@@ -1,118 +1,118 @@
|
||||
# EditPath
|
||||
|
||||
EditPath is a Windows console (text-based, command-line) program for managing the system Path and user Path.
|
||||
|
||||
# Author
|
||||
|
||||
Bill Stewart - bstewart at iname dot com
|
||||
|
||||
# License
|
||||
|
||||
EditPath.exe is covered by the GNU Lesser Public License (LPGL). See the file `LICENSE` for details.
|
||||
|
||||
# Download
|
||||
|
||||
https://github.com/Bill-Stewart/PathMgr/releases/
|
||||
|
||||
# Background
|
||||
|
||||
The system Path is found in the following location in the Windows registry:
|
||||
|
||||
Root: `HKEY_LOCAL_MACHINE`
|
||||
Subkey: `SYSTEM\CurrentControlSet\Control\Session Manager\Environment`
|
||||
Value name: `Path`
|
||||
|
||||
The current user Path is found in the following location in the registry:
|
||||
|
||||
Root: `HKEY_CURRENT_USER`
|
||||
Subkey: `Environment`
|
||||
Value name: `Path`
|
||||
|
||||
In both cases, the `Path` value is (or should be) the registry type `REG_EXPAND_SZ`, which means that it is a string that can contain values surrounded by `%` characters that Windows will automatically expand to environment variable values. (For example, `%SystemRoot%` will be expanded to `C:\Windows` on most systems.)
|
||||
|
||||
The `Path` value contains a `;`-delimited list of directory names that the system should search for executables, library files, scripts, etc. Windows appends the content of the current user Path to the system Path and expands the environment variable references. The resulting string is set as the `Path` environment variable for processes.
|
||||
|
||||
EditPath provides a command-line interface for managing the `Path` value in the system location (in `HKEY_LOCAL_MACHINE`) and the current user location (in `HKEY_CURRENT_USER`).
|
||||
|
||||
# Usage
|
||||
|
||||
The following describes the command-line usage for the program. Parameters are case-sensitive.
|
||||
|
||||
**EditPath** [_options_] _type_ _action_
|
||||
|
||||
You must specify only one of the following _type_ parameters:
|
||||
|
||||
| _type_ | Abbreviation | Description
|
||||
| ------- | ------------ | -----------
|
||||
| **--system** | **-s** | Specifies the system Path
|
||||
| **--user** | **-u** | Specifies the user Path
|
||||
|
||||
You must specify only one of the following _action_ parameters:
|
||||
|
||||
| _action_ | Abbreviation | Description
|
||||
| -------- | ------------ | -----------
|
||||
| **--list** | **-l** | Lists directories in Path
|
||||
| **--test "**_dirname_**"** | **-t "**_dirname_**"** | Tests if directory exists in Path
|
||||
| **--add "**_dirname_**"** | **-a "**_dirname_**"** | Adds directory to Path
|
||||
| **--remove "**_dirname_**"** | **-r "**_dirname_**"** | Removes directory from Path
|
||||
|
||||
The following parameters are optional:
|
||||
|
||||
| _options_ | Abbreviation | Description
|
||||
| --------- | ------------ | -----------
|
||||
| **--quiet** | **-q** | Suppresses result messages
|
||||
| **--expand** | **-x** | Expands environment variables (**--list** only)
|
||||
| **--beginning** | **-b** | Adds to beginning of Path (**--add** only)
|
||||
|
||||
# Exit Codes
|
||||
|
||||
The following table lists typical exit codes when not using **--test** (**-t**).
|
||||
|
||||
| Exit Code | Description
|
||||
| --------- | -----------
|
||||
| 0 | No errors
|
||||
| 2 | The Path value is not present in the registry
|
||||
| 3 | The specified directory does not exist in the Path
|
||||
| 5 | Access is denied
|
||||
| 87 | Incorrect parameter(s)
|
||||
| 183 | The specified directory already exists in the Path
|
||||
|
||||
The following table lists typical exit codes when using **--test** (**-t**).
|
||||
|
||||
| Exit Code | Description
|
||||
| --------- | -----------
|
||||
| 1 | The specified directory exists in the unexpanded Path
|
||||
| 2 | The specified directory exists in the expanded Path
|
||||
| 3 | The specified directory does not exist in the Path
|
||||
|
||||
# Remarks
|
||||
|
||||
* Anything on the command line after **--test**, **--add**, or **--remove** is considered to be the argument for the parameter. To avoid ambiguity, specify the _action_ parameter last on the command line.
|
||||
|
||||
* Uexpanded vs. expanded refers to whether the environment variable references (i.e., names between `%` characters) are expanded after retrieving the Path value from the registry. For example, `%SystemRoot%` is unexpanded but `C:\Windows` is expanded.
|
||||
|
||||
* The **--add** (**-a**) parameter checks whether the specified directory exists in both the unexpanded and expanded copies of the Path before adding the directory. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--add C:\TestApp` will return exit code 183 (i.e., the directory already exists in the Path) because `%TESTAPP%` expands to `C:\TestApp`.
|
||||
|
||||
* The **--remove** (**-r**) parameter does not expand environment variable references. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--remove "C:\TestApp"` will return exit code 3 (i.e., the directory does not exist in the Path) because **--remove** does not expand `%TESTAPP%` to `C:\TestApp`. For the command to succeed, you would have to specify `--remove "%TESTAPP%"` instead.
|
||||
|
||||
* The program will exit with error code 87 if a parameter (or an argument to a parameter) is missing or not valid, if mutually exclusive parameters are specified, etc.
|
||||
|
||||
* The program will exit with error code 5 if the current user does not have permission to update the Path value in the registry (for example, if you try to update the system Path using a standard user account or an unelevated administrator account).
|
||||
|
||||
# Examples
|
||||
|
||||
1. `EditPath --expand --system --list`
|
||||
|
||||
This command outputs the directories in the system Path, with environment variables expanded. You can also write this command as `EditPath -x -s -l`.
|
||||
|
||||
2. `EditPath --user --add "%LOCALAPPDATA%\Programs\MyApp"`
|
||||
|
||||
Adds the specified directory name to the user Path.
|
||||
|
||||
3. `EditPath -s -r "C:\Program Files\MyApp\bin"`
|
||||
|
||||
Removes the specified directory from the system Path.
|
||||
|
||||
4. `EditPath -s --test "C:\Program Files (x86)\MyApp\bin"`
|
||||
|
||||
Returns an exit code of 3 if the specified directory is not in the system Path, 1 if the specified directory is in the unexpanded copy of the system Path, or 2 if the specified directory is in the expanded copy of the system Path.
|
||||
# EditPath
|
||||
|
||||
EditPath is a Windows console (text-based, command-line) program for managing the system Path and user Path.
|
||||
|
||||
# Author
|
||||
|
||||
Bill Stewart - bstewart at iname dot com
|
||||
|
||||
# License
|
||||
|
||||
EditPath.exe is covered by the GNU Lesser Public License (LPGL). See the file `LICENSE` for details.
|
||||
|
||||
# Download
|
||||
|
||||
https://github.com/Bill-Stewart/PathMgr/releases/
|
||||
|
||||
# Background
|
||||
|
||||
The system Path is found in the following location in the Windows registry:
|
||||
|
||||
Root: `HKEY_LOCAL_MACHINE`
|
||||
Subkey: `SYSTEM\CurrentControlSet\Control\Session Manager\Environment`
|
||||
Value name: `Path`
|
||||
|
||||
The current user Path is found in the following location in the registry:
|
||||
|
||||
Root: `HKEY_CURRENT_USER`
|
||||
Subkey: `Environment`
|
||||
Value name: `Path`
|
||||
|
||||
In both cases, the `Path` value is (or should be) the registry type `REG_EXPAND_SZ`, which means that it is a string that can contain values surrounded by `%` characters that Windows will automatically expand to environment variable values. (For example, `%SystemRoot%` will be expanded to `C:\Windows` on most systems.)
|
||||
|
||||
The `Path` value contains a `;`-delimited list of directory names that the system should search for executables, library files, scripts, etc. Windows appends the content of the current user Path to the system Path and expands the environment variable references. The resulting string is set as the `Path` environment variable for processes.
|
||||
|
||||
EditPath provides a command-line interface for managing the `Path` value in the system location (in `HKEY_LOCAL_MACHINE`) and the current user location (in `HKEY_CURRENT_USER`).
|
||||
|
||||
# Usage
|
||||
|
||||
The following describes the command-line usage for the program. Parameters are case-sensitive.
|
||||
|
||||
**EditPath** [_options_] _type_ _action_
|
||||
|
||||
You must specify only one of the following _type_ parameters:
|
||||
|
||||
| _type_ | Abbreviation | Description
|
||||
| ------- | ------------ | -----------
|
||||
| **--system** | **-s** | Specifies the system Path
|
||||
| **--user** | **-u** | Specifies the user Path
|
||||
|
||||
You must specify only one of the following _action_ parameters:
|
||||
|
||||
| _action_ | Abbreviation | Description
|
||||
| -------- | ------------ | -----------
|
||||
| **--list** | **-l** | Lists directories in Path
|
||||
| **--test "**_dirname_**"** | **-t "**_dirname_**"** | Tests if directory exists in Path
|
||||
| **--add "**_dirname_**"** | **-a "**_dirname_**"** | Adds directory to Path
|
||||
| **--remove "**_dirname_**"** | **-r "**_dirname_**"** | Removes directory from Path
|
||||
|
||||
The following parameters are optional:
|
||||
|
||||
| _options_ | Abbreviation | Description
|
||||
| --------- | ------------ | -----------
|
||||
| **--quiet** | **-q** | Suppresses result messages
|
||||
| **--expand** | **-x** | Expands environment variables (**--list** only)
|
||||
| **--beginning** | **-b** | Adds to beginning of Path (**--add** only)
|
||||
|
||||
# Exit Codes
|
||||
|
||||
The following table lists typical exit codes when not using **--test** (**-t**).
|
||||
|
||||
| Exit Code | Description
|
||||
| --------- | -----------
|
||||
| 0 | No errors
|
||||
| 2 | The Path value is not present in the registry
|
||||
| 3 | The specified directory does not exist in the Path
|
||||
| 5 | Access is denied
|
||||
| 87 | Incorrect parameter(s)
|
||||
| 183 | The specified directory already exists in the Path
|
||||
|
||||
The following table lists typical exit codes when using **--test** (**-t**).
|
||||
|
||||
| Exit Code | Description
|
||||
| --------- | -----------
|
||||
| 1 | The specified directory exists in the unexpanded Path
|
||||
| 2 | The specified directory exists in the expanded Path
|
||||
| 3 | The specified directory does not exist in the Path
|
||||
|
||||
# Remarks
|
||||
|
||||
* Anything on the command line after **--test**, **--add**, or **--remove** is considered to be the argument for the parameter. To avoid ambiguity, specify the _action_ parameter last on the command line.
|
||||
|
||||
* Uexpanded vs. expanded refers to whether the environment variable references (i.e., names between `%` characters) are expanded after retrieving the Path value from the registry. For example, `%SystemRoot%` is unexpanded but `C:\Windows` is expanded.
|
||||
|
||||
* The **--add** (**-a**) parameter checks whether the specified directory exists in both the unexpanded and expanded copies of the Path before adding the directory. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--add C:\TestApp` will return exit code 183 (i.e., the directory already exists in the Path) because `%TESTAPP%` expands to `C:\TestApp`.
|
||||
|
||||
* The **--remove** (**-r**) parameter does not expand environment variable references. For example, if the environment variable `TESTAPP` is set to `C:\TestApp` and `%TESTAPP%` is in the Path, specifying `--remove "C:\TestApp"` will return exit code 3 (i.e., the directory does not exist in the Path) because **--remove** does not expand `%TESTAPP%` to `C:\TestApp`. For the command to succeed, you would have to specify `--remove "%TESTAPP%"` instead.
|
||||
|
||||
* The program will exit with error code 87 if a parameter (or an argument to a parameter) is missing or not valid, if mutually exclusive parameters are specified, etc.
|
||||
|
||||
* The program will exit with error code 5 if the current user does not have permission to update the Path value in the registry (for example, if you try to update the system Path using a standard user account or an unelevated administrator account).
|
||||
|
||||
# Examples
|
||||
|
||||
1. `EditPath --expand --system --list`
|
||||
|
||||
This command outputs the directories in the system Path, with environment variables expanded. You can also write this command as `EditPath -x -s -l`.
|
||||
|
||||
2. `EditPath --user --add "%LOCALAPPDATA%\Programs\MyApp"`
|
||||
|
||||
Adds the specified directory name to the user Path.
|
||||
|
||||
3. `EditPath -s -r "C:\Program Files\MyApp\bin"`
|
||||
|
||||
Removes the specified directory from the system Path.
|
||||
|
||||
4. `EditPath -s --test "C:\Program Files (x86)\MyApp\bin"`
|
||||
|
||||
Returns an exit code of 3 if the specified directory is not in the system Path, 1 if the specified directory is in the unexpanded copy of the system Path, or 2 if the specified directory is in the expanded copy of the system Path.
|
||||
|
||||
@@ -34,7 +34,7 @@ SolidCompression=yes
|
||||
; 64-bit Program Files directory and the 64-bit view of the registry.
|
||||
ArchitecturesInstallIn64BitMode=x64
|
||||
OutputDir="."
|
||||
OutputBaseFilename="medley-install_{#version}_{#x86_or_x64}"
|
||||
OutputBaseFilename="medley-full-{#version}-windows-{#x86_or_x64}"
|
||||
SetupIconFile="Medley.ico"
|
||||
DisableWelcomePage=no
|
||||
MissingRunOnceIdsWarning=no
|
||||
|
||||
@@ -1,20 +1,22 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
|
||||
|
||||
(FILECREATED " 3-Aug-2023 18:40:12" |{DSK}<home>frank>il>medley>gmedley>internal>MEDLEY-UTILS.;6| 10695
|
||||
(FILECREATED "16-Nov-2023 21:59:19" |{DSK}<home>larry>il>medley>internal>MEDLEY-UTILS.;2| 18962
|
||||
|
||||
:EDIT-BY "frank"
|
||||
:EDIT-BY "lmm"
|
||||
|
||||
:CHANGES-TO (FNS MAKE-FULLER-DB MAKE-EXPORTS-ALL MAKE-WHEREIS-HASH)
|
||||
:CHANGES-TO (VARS OKLIBRARY OKLISPUSERS)
|
||||
|
||||
:PREVIOUS-DATE " 1-Aug-2023 22:43:13"
|
||||
|{DSK}<home>frank>il>medley>gmedley>internal>MEDLEY-UTILS.;5|)
|
||||
:PREVIOUS-DATE " 4-Nov-2023 15:23:16" |{DSK}<home>larry>il>medley>internal>MEDLEY-UTILS.;1|)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT MEDLEY-UTILSCOMS)
|
||||
|
||||
(RPAQQ MEDLEY-UTILSCOMS ((FNS GATHER-INFO MAKE-FULLER-DB MEDLEY-FIX-LINKS MEDLEY-FIX-DATES)
|
||||
(VARS MEDLEY-FIX-DIRS OKSOURCES OKLIBRARY OKLISPUSERS OKINTERNAL)
|
||||
(FNS MAKE-EXPORTS-ALL MAKE-WHEREIS-HASH)))
|
||||
(FNS MAKE-EXPORTS-ALL MAKE-WHEREIS-HASH)
|
||||
(FNS BADFILE HCFILES PRETTYFILES)
|
||||
(INITVARS (HCFILES)
|
||||
(BADFILES))))
|
||||
(DEFINEQ
|
||||
|
||||
(GATHER-INFO
|
||||
@@ -137,12 +139,15 @@
|
||||
(POSTSCRIPTSTREAM CHATTERMINAL DMCHAT CHAT PRESS READNUMBER EDITBITMAP IMAGEOBJ TEDIT HRULE
|
||||
TABLEBROWSER FILEBROWSER GRAPHER SPY WHERE-IS COPYFILES MSANALYZE MSPARSE MSCOMMON
|
||||
MASTERSCOPE UNIXCOMM UNIXPRINT UNICODE HASH CLIPBOARD UNIXCHAT VT100KP VTCHAT SKETCH
|
||||
SKETCHBMELT SCALEBITMAP SKETCHOBJ SKETCHEDIT SKETCHELEMENTS SKETCHOPS MATMULT SAMEDIR))
|
||||
SKETCHBMELT SCALEBITMAP SKETCHOBJ SKETCHEDIT SKETCHELEMENTS SKETCHOPS MATMULT SAMEDIR
|
||||
REMOTEVMEM ETHERRECORDS UNIXUTILS CHATDECLS BROWSER))
|
||||
|
||||
(RPAQQ OKLISPUSERS (THINFILES ISO8859IO DINFO HELPSYS MODERNIZE WHEELSCROLL PRETTYFILEINDEX WHO-LINE
|
||||
BACKGROUND-YIELD OBJECTWINDOW REGIONMANAGER COMPARETEXT EXAMINEDEFS
|
||||
COMPARESOURCES COMPAREDIRECTORIES PSEUDOHOSTS DATEFORMAT-EDITOR DOC-OBJECTS
|
||||
EQUATIONS BICLOCK FILEWATCH LIFE IDLEHAX GITFNS TMAX IMTOOLS))
|
||||
(RPAQQ OKLISPUSERS
|
||||
(THINFILES ISO8859IO DINFO HELPSYS MODERNIZE WHEELSCROLL PRETTYFILEINDEX WHO-LINE
|
||||
BACKGROUND-YIELD OBJECTWINDOW REGIONMANAGER COMPARETEXT EXAMINEDEFS COMPARESOURCES
|
||||
COMPAREDIRECTORIES PSEUDOHOSTS DATEFORMAT-EDITOR DOC-OBJECTS EQUATIONS BICLOCK
|
||||
FILEWATCH LIFE IDLEHAX GITFNS TMAX IMTOOLS EQUATIONFORMS UNBOXEDOPS TILED-SEDIT
|
||||
IDLEDEMO WDWHACKS BUTTONS PICK PAGEHOLD UNIXYCD))
|
||||
|
||||
(RPAQQ OKINTERNAL (MEDLEY-UTILS))
|
||||
(DEFINEQ
|
||||
@@ -176,8 +181,167 @@
|
||||
(RENAMEFILE HASHFILE (OR WHEREISFILE "whereis.hash"))
|
||||
(DRIBBLE))))
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(BADFILE
|
||||
(LAMBDA NIL (* \; "Edited 20-Oct-2022 15:40 by lmm")
|
||||
(* \; "Edited 22-Jun-2022 09:40 by larry")
|
||||
(|pushnew| BADFILES *FILE*)
|
||||
(LET ((STR (OPENSTREAM "BADFILES.TXT" 'APPEND)))
|
||||
(SETFILEPTR STR -1)
|
||||
(PRINT *FILE* STR)
|
||||
(CLOSEF STR))
|
||||
(RETFROM (OR (STKPOS 'PRETTYFILES)
|
||||
'HCFILES))))
|
||||
|
||||
(HCFILES
|
||||
(LAMBDA (*FILE* DEST REDOFLG TOPDIRLEN)
|
||||
(DECLARE (SPECVARS *FILE*)
|
||||
(GLOBALVARS BADFILE)) (* \; "Edited 4-Nov-2023 11:14 by lmm")
|
||||
(* \; "Edited 20-Oct-2022 16:11 by lmm")
|
||||
(* \; "Edited 9-Aug-2022 20:44 by lmm")
|
||||
(|if| (NULL *FILE*)
|
||||
|then| (SETQ *FILE* MEDLEYDIR))
|
||||
(COND
|
||||
((LISTP *FILE*)
|
||||
(FOR X IN *FILE* DO (HCFILES X DEST REDOFLG TOPDIRLEN)))
|
||||
((DIRECTORYNAMEP *FILE*)
|
||||
|
||||
(* |;;| "canonicalize")
|
||||
|
||||
(SETQ *FILE* (DIRECTORYNAME *FILE*))
|
||||
(OR TOPDIRLEN (SETQ TOPDIRLEN (CL:LENGTH (FILENAMEFIELD.STRING *FILE* 'DIRECTORY))))
|
||||
(CL:UNLESS DEST
|
||||
(|ShellCommand| (CONCAT "mkdir -p " (UNIX-GETENV "MEDLEYDIR")
|
||||
"/tmp/psfiles/"))
|
||||
(SETQ DEST (MEDLEYDIR "tmp/psfiles" NIL T T)))
|
||||
|
||||
(* |;;| "first deal with files in this directory")
|
||||
|
||||
(|for| EXT |in| '("TED*" "SKETCH")
|
||||
|do| (|for| X |in| (DIRECTORY (CONCAT *FILE* "*." EXT ";*"))
|
||||
|do| (HCFILES X DEST REDOFLG TOPDIRLEN)))
|
||||
|
||||
(* |;;| " then deal with subdirs ")
|
||||
|
||||
(|for| X |in| (DIRECTORY (CONCAT *FILE* "*"))
|
||||
|when| (|for| SKIP |in| '(">." ">dinfo>") |always| (NOT (STRPOS SKIP (L-CASE X))))
|
||||
|when| (DIRECTORYNAMEP X) |do| (HCFILES X DEST REDOFLG TOPDIRLEN)))
|
||||
((SETQ *FILE* (INFILEP *FILE*))
|
||||
(LET* ((TF (UNPACKFILENAME.STRING *FILE*))
|
||||
(NAME (LISTGET TF 'NAME))
|
||||
(DIR (LISTGET TF 'DIRECTORY))
|
||||
(PSFILE (PACKFILENAME.STRING
|
||||
'EXTENSION
|
||||
(|if| (EQ REDOFLG 'IP)
|
||||
|then| "IP"
|
||||
|else| "PS")
|
||||
'NAME
|
||||
(|if| (EQ DEST T)
|
||||
|then| (* \; "with the tedit file")
|
||||
NAME
|
||||
|else| (CONCAT (PACK (SUBST '- '> (UNPACK (SUBSTRING DIR (IPLUS 2 TOPDIRLEN
|
||||
)
|
||||
-1))))
|
||||
"-" NAME))
|
||||
'HOST
|
||||
(LISTGET TF 'HOST)
|
||||
'DIRECTORY
|
||||
(|if| (EQ DEST T)
|
||||
|then| DIR
|
||||
|else| DEST)))
|
||||
(TEXTSTREAM))
|
||||
(|if| (AND (NOT REDOFLG)
|
||||
(INFILEP PSFILE))
|
||||
|then| (* \; " do nothing")
|
||||
(PRINTOUT T PSFILE " already there" T)
|
||||
|elseif| (EQ REDOFLG 'TEST)
|
||||
|then| (PRINTOUT T *FILE* "-> " PSFILE T)
|
||||
(CLOSEF (OPENTEXTSTREAM *FILE*))
|
||||
|elseif| (MEMBER *FILE* BADFILES)
|
||||
|then| (PRINTOUT T "Skipping " *FILE* " on BADFILES")
|
||||
|else| (PRINTOUT T "Converting " *FILE* " to " PSFILE "...")
|
||||
(TEDIT.FORMAT.HARDCOPY (SETQ TEXTSTREAM (OPENTEXTSTREAM *FILE*))
|
||||
PSFILE T NIL NIL NIL (|if| (EQ REDOFLG 'IP)
|
||||
|then| 'INTERPRESS
|
||||
|else| 'POSTSCRIPT))
|
||||
(|printout| T " DONE" T)
|
||||
(CLOSEF? TEXTSTREAM))))
|
||||
(T (PRINTOUT T "no such file " T)))))
|
||||
|
||||
(PRETTYFILES
|
||||
(LAMBDA (*FILE* DEST REDOFLG TOPDIRLEN)
|
||||
(DECLARE (SPECVARS *FILE*)
|
||||
(GLOBALVARS BADFILES)) (* \; "Edited 20-Oct-2022 16:12 by lmm")
|
||||
(* \; "Edited 9-Aug-2022 20:44 by lmm")
|
||||
(|if| (NULL *FILE*)
|
||||
|then| (SETQ *FILE* MEDLEYDIR))
|
||||
(COND
|
||||
((DIRECTORYNAMEP *FILE*)
|
||||
|
||||
(* |;;| "canonicalize")
|
||||
|
||||
(SETQ *FILE* (DIRECTORYNAME *FILE*))
|
||||
(OR TOPDIRLEN (SETQ TOPDIRLEN (CL:LENGTH (FILENAMEFIELD.STRING *FILE* 'DIRECTORY))))
|
||||
(CL:UNLESS DEST
|
||||
(|ShellCommand| (CONCAT "mkdir -p " (UNIX-GETENV "MEDLEYDIR")
|
||||
"/tmp/psfiles/"))
|
||||
(SETQ DEST (MEDLEYDIR "tmp/psfiles" NIL T T)))
|
||||
|
||||
(* |;;| "first deal with files in this directory; ignore files with extensions for now\"*.LISP\" \"*.ILISP\"")
|
||||
|
||||
(|for| PAT |in| '("*.;") |do| (|for| X |in| (DIRECTORY (CONCAT *FILE* PAT))
|
||||
WHEN (NOT (DIRECTORYNAMEP X)) WHEN (INFILEP X)
|
||||
WHEN (CAR (OR (NLSETQ (LISPSOURCEFILEP X))
|
||||
(PROGN (PRINTOUT T "LISPSOURCEFILEP error" X)
|
||||
NIL)))
|
||||
|do| (PRETTYFILES X DEST REDOFLG TOPDIRLEN)))
|
||||
|
||||
(* |;;| " then deal with subdirs ")
|
||||
|
||||
(|for| X |in| (DIRECTORY (CONCAT *FILE* "*"))
|
||||
|when| (|for| SKIP IN '("clos" "cltl2" "rooms>" ".>")
|
||||
|always| (NOT (STRPOS SKIP (L-CASE X)))) |when| (DIRECTORYNAMEP X)
|
||||
|do| (PRETTYFILES X DEST REDOFLG TOPDIRLEN)))
|
||||
((AND (SETQ *FILE* (INFILEP *FILE*))
|
||||
(LISPSOURCEFILEP *FILE*))
|
||||
(LET* ((TF (UNPACKFILENAME.STRING *FILE*))
|
||||
(NAME (LISTGET TF 'NAME))
|
||||
(DIR (LISTGET TF 'DIRECTORY))
|
||||
(PSFILE (PACKFILENAME.STRING
|
||||
'EXTENSION "ps" 'NAME
|
||||
(|if| (EQ DEST T)
|
||||
|then| (* \; "with the source file")
|
||||
(CONCAT NAME ".pfi")
|
||||
|else| (CONCAT (PACK (SUBST '- '> (UNPACK (SUBSTRING DIR (IPLUS 2 TOPDIRLEN
|
||||
)
|
||||
-1))))
|
||||
"-" NAME))
|
||||
'HOST
|
||||
(LISTGET TF 'HOST)
|
||||
'DIRECTORY
|
||||
(|if| (EQ DEST T)
|
||||
|then| DIR
|
||||
|else| DEST))))
|
||||
(|if| (AND (NOT REDOFLG)
|
||||
(INFILEP PSFILE))
|
||||
|then| (* \; " do nothing")
|
||||
(PRINTOUT T PSFILE " already there" T)
|
||||
|elseif| (MEMBER *FILE* BADFILES)
|
||||
|then| (PRINTOUT T "Skipping " *FILE* " on BADFILES")
|
||||
|else| (PRINTOUT T "Converting " *FILE* " to " PSFILE "...")
|
||||
(CL:WITH-OPEN-STREAM (STR (OPENPOSTSCRIPTSTREAM PSFILE))
|
||||
(PRETTYFILEINDEX *FILE* NIL STR))
|
||||
(|printout| T " DONE" T))))
|
||||
(T (PRINTOUT T "no such file " T)))))
|
||||
)
|
||||
|
||||
(RPAQ? HCFILES )
|
||||
|
||||
(RPAQ? BADFILES )
|
||||
(DECLARE\: DONTCOPY
|
||||
(FILEMAP (NIL (679 7642 (GATHER-INFO 689 . 6217) (MAKE-FULLER-DB 6219 . 6997) (MEDLEY-FIX-LINKS 6999
|
||||
. 7396) (MEDLEY-FIX-DATES 7398 . 7640)) (8681 10672 (MAKE-EXPORTS-ALL 8691 . 9752) (MAKE-WHEREIS-HASH
|
||||
9754 . 10670)))))
|
||||
(FILEMAP (NIL (781 7744 (GATHER-INFO 791 . 6319) (MAKE-FULLER-DB 6321 . 7099) (MEDLEY-FIX-LINKS 7101
|
||||
. 7498) (MEDLEY-FIX-DATES 7500 . 7742)) (8923 10914 (MAKE-EXPORTS-ALL 8933 . 9994) (MAKE-WHEREIS-HASH
|
||||
9996 . 10912)) (10915 18894 (BADFILE 10925 . 11393) (HCFILES 11395 . 15280) (PRETTYFILES 15282 .
|
||||
18892)))))
|
||||
STOP
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
|
||||
|
||||
(FILECREATED " 9-Jul-2022 09:41:26"
|
||||
|{DSK}<Users>kaplan>Local>medley3.5>working-medley>library>BIGBITMAPS.;12| 108851
|
||||
(FILECREATED "31-Jul-2023 13:39:50" |{WMEDLEY}<library>BIGBITMAPS.;13| 109376
|
||||
|
||||
:EDIT-BY |rmk|
|
||||
|
||||
:CHANGES-TO (VARS BIGBITMAPSCOMS)
|
||||
(FNS \\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM \\GENERIC.DSPCREATE.BIGBM
|
||||
\\DSPCREATE.BIGBM)
|
||||
(MACROS |\\SFInvert|)
|
||||
(FNS BIGBITMAPEQUAL)
|
||||
|
||||
:PREVIOUS-DATE "26-Oct-2021 14:51:38"
|
||||
|{DSK}<users>kaplan>local>medley3.5>working-medley>library>BIGBITMAPS.;6|)
|
||||
:PREVIOUS-DATE " 9-Jul-2022 09:41:26" |{WMEDLEY}<library>BIGBITMAPS.;12|)
|
||||
|
||||
|
||||
; Copyright (c) 1991, 1993-1994 by Venue.
|
||||
@@ -24,8 +22,8 @@
|
||||
(MACROS |GetNewFragment|)
|
||||
(MACROS |\\SFInvert|))
|
||||
(INITRECORDS BIGBM)
|
||||
(FNS BIGBITMAPP BITBLT.BIGBM BITMAPCREATE.BIGBM BITMAPCREATE BITMAPCOPY BLTSHADE.BIGBM BITBLT
|
||||
\\ORG.BITBLT \\BLTSHADE.DISPLAY \\RESHOWBORDER1)
|
||||
(FNS BIGBITMAPP BITBLT.BIGBM BITMAPCREATE.BIGBM BITMAPCREATE BITMAPCOPY BIGBITMAPEQUAL
|
||||
BLTSHADE.BIGBM BITBLT \\ORG.BITBLT \\BLTSHADE.DISPLAY \\RESHOWBORDER1)
|
||||
(FNS \\DRAWCIRCLE.BIGBM \\FILLCIRCLE.BIGBM \\DRAWELLIPSE.BIGBM \\DRAWCURVE.BIGBM
|
||||
\\DRAWLINE.BIGBM.DASH \\DRAWLINE.BIGBM.NODASH)
|
||||
(FNS \\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM)
|
||||
@@ -353,6 +351,20 @@
|
||||
0 0 NIL NIL 'INPUT 'REPLACE 0)
|
||||
(RETURN NEWBITMAP))))
|
||||
|
||||
(BIGBITMAPEQUAL
|
||||
(LAMBDA (BM1 BM2) (* \; "Edited 31-Jul-2023 13:08 by rmk")
|
||||
|
||||
(* |;;| "Fields may not be SMALLP")
|
||||
|
||||
(AND (|type?| BIGBM |of| BM1)
|
||||
(|type?| BIGBM |of| BM2)
|
||||
(IEQP (|ffetch| (BIGBM BIGBMWIDTH) |of| BM1)
|
||||
(|ffetch| (BIGBM BIGBMWIDTH) |of| BM2))
|
||||
(IEQP (|ffetch| (BIGBM BIGBMHEIGHT) |of| BM1)
|
||||
(|ffetch| (BIGBM BIGBMHEIGHT) |of| BM2))
|
||||
(|for| B1 |in| (|ffetch| (BIGBM BIGBMLIST) |of| BM1) |as| B2
|
||||
|in| (|ffetch| (BIGBM BIGBMLIST) |of| BM2) |always| (EQUALBITMAPP B1 B2)))))
|
||||
|
||||
(BLTSHADE.BIGBM
|
||||
(LAMBDA (TEXTURE DESTINATION DESTLEFT DESTBOTTOM WIDTH HEIGHT OPERATION CLIPPINGREGION)
|
||||
(* \; "Edited 17-Oct-89 19:01 by takeshi")
|
||||
@@ -1699,15 +1711,15 @@
|
||||
)
|
||||
(PUTPROPS BIGBITMAPS COPYRIGHT ("Venue" 1991 1993 1994))
|
||||
(DECLARE\: DONTCOPY
|
||||
(FILEMAP (NIL (3546 48244 (BIGBITMAPP 3556 . 3702) (BITBLT.BIGBM 3704 . 14527) (BITMAPCREATE.BIGBM
|
||||
14529 . 15871) (BITMAPCREATE 15873 . 17475) (BITMAPCOPY 17477 . 18012) (BLTSHADE.BIGBM 18014 . 21150)
|
||||
(BITBLT 21152 . 22800) (\\ORG.BITBLT 22802 . 34371) (\\BLTSHADE.DISPLAY 34373 . 43611) (
|
||||
\\RESHOWBORDER1 43613 . 48242)) (48245 71523 (\\DRAWCIRCLE.BIGBM 48255 . 51618) (\\FILLCIRCLE.BIGBM
|
||||
51620 . 55666) (\\DRAWELLIPSE.BIGBM 55668 . 60188) (\\DRAWCURVE.BIGBM 60190 . 64040) (
|
||||
\\DRAWLINE.BIGBM.DASH 64042 . 68401) (\\DRAWLINE.BIGBM.NODASH 68403 . 71521)) (71524 71893 (
|
||||
\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM 71534 . 71891)) (72025 85168 (DSPDESTINATION 72035 .
|
||||
75933) (|\\SFFixY| 75935 . 81657) (|\\SFFixDestination| 81659 . 82842) (|\\SFFixClippingRegion| 82844
|
||||
. 85166)) (85169 93255 (\\SW2BM 85179 . 90203) (BITMAPHEIGHT 90205 . 90703) (BITMAPWIDTH 90705 .
|
||||
91197) (|\\SFFixFont| 91199 . 92171) (BITSPERPIXEL 92173 . 93253)) (93256 108609 (COLORIZEBITMAP 93266
|
||||
. 96076) (\\BWTOCOLORBLT 96078 . 102671) (UNCOLORIZEBITMAP 102673 . 108607)))))
|
||||
(FILEMAP (NIL (3364 48769 (BIGBITMAPP 3374 . 3520) (BITBLT.BIGBM 3522 . 14345) (BITMAPCREATE.BIGBM
|
||||
14347 . 15689) (BITMAPCREATE 15691 . 17293) (BITMAPCOPY 17295 . 17830) (BIGBITMAPEQUAL 17832 . 18537)
|
||||
(BLTSHADE.BIGBM 18539 . 21675) (BITBLT 21677 . 23325) (\\ORG.BITBLT 23327 . 34896) (\\BLTSHADE.DISPLAY
|
||||
34898 . 44136) (\\RESHOWBORDER1 44138 . 48767)) (48770 72048 (\\DRAWCIRCLE.BIGBM 48780 . 52143) (
|
||||
\\FILLCIRCLE.BIGBM 52145 . 56191) (\\DRAWELLIPSE.BIGBM 56193 . 60713) (\\DRAWCURVE.BIGBM 60715 . 64565
|
||||
) (\\DRAWLINE.BIGBM.DASH 64567 . 68926) (\\DRAWLINE.BIGBM.NODASH 68928 . 72046)) (72049 72418 (
|
||||
\\GENERIC.DSPCREATE.DESTINATION.BITMAP?.BIGBM 72059 . 72416)) (72550 85693 (DSPDESTINATION 72560 .
|
||||
76458) (|\\SFFixY| 76460 . 82182) (|\\SFFixDestination| 82184 . 83367) (|\\SFFixClippingRegion| 83369
|
||||
. 85691)) (85694 93780 (\\SW2BM 85704 . 90728) (BITMAPHEIGHT 90730 . 91228) (BITMAPWIDTH 91230 .
|
||||
91722) (|\\SFFixFont| 91724 . 92696) (BITSPERPIXEL 92698 . 93778)) (93781 109134 (COLORIZEBITMAP 93791
|
||||
. 96601) (\\BWTOCOLORBLT 96603 . 103196) (UNCOLORIZEBITMAP 103198 . 109132)))))
|
||||
STOP
|
||||
|
||||
BIN
library/Cash-File.tedit
Normal file
@@ -1,171 +0,0 @@
|
||||
((EUROPEAN ((100 (53 197 NOLOCKSHIFT)) (101 (52 196 NOLOCKSHIFT)) (102 (54 198 NOLOCKSHIFT)) (103 (
|
||||
61887 61759 LOCKSHIFT)) (104 (55 199 NOLOCKSHIFT)) (105 (61888 61760 LOCKSHIFT)) (106 (61872 61744
|
||||
LOCKSHIFT)) (107 (61860 61732 LOCKSHIFT)) (108 (48 126 NOLOCKSHIFT)) (109 (61892 61764 LOCKSHIFT)) (
|
||||
110 (203 207 NOLOCKSHIFT)) (111 (61919 61791 LOCKSHIFT)) (112 (47 191 NOLOCKSHIFT)) (115 (8 8
|
||||
NOLOCKSHIFT) . IGNORE) (116 (51 195 NOLOCKSHIFT)) (117 (50 194 NOLOCKSHIFT)) (118 (61873 61745
|
||||
LOCKSHIFT)) (119 (61858 61730 LOCKSHIFT)) (120 (61874 61746 LOCKSHIFT)) (121 (61859 61731 LOCKSHIFT))
|
||||
(122 (57 202 NOLOCKSHIFT)) (123 (61886 61758 LOCKSHIFT)) (124 (61864 61736 LOCKSHIFT)) (125 (61903
|
||||
61775 LOCKSHIFT)) (126 (61908 61780 LOCKSHIFT)) (127 (241 225 LOCKSHIFT)) (128 (187 170 LOCKSHIFT)) (
|
||||
129 (249 233 LOCKSHIFT)) (132 (49 193 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
|
||||
NOLOCKSHIFT) . IGNORE) (135 (61905 61777 LOCKSHIFT)) (137 (61869 61741 LOCKSHIFT)) (138 (61877 61749
|
||||
LOCKSHIFT)) (139 (61906 61778 LOCKSHIFT)) (140 (251 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (
|
||||
250 234 LOCKSHIFT)) (143 (59 58 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (171 186 LOCKSHIFT
|
||||
)) (148 (61904 61776 LOCKSHIFT)) (149 (61920 61792 LOCKSHIFT)) (150 (61921 61793 LOCKSHIFT)) (151 (
|
||||
61857 61729 LOCKSHIFT)) (152 (61863 61735 LOCKSHIFT)) (153 (56 200 NOLOCKSHIFT)) (154 (61900 61772
|
||||
LOCKSHIFT)) (155 (239 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
|
||||
246 230 LOCKSHIFT)) (159 (207 176 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (logic ((100 (
|
||||
53 37 NOLOCKSHIFT)) (101 (52 164 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (61258 61260
|
||||
NOLOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (61292 61293 NOLOCKSHIFT)) (106 (61271 61270 NOLOCKSHIFT)
|
||||
) (107 (61284 61285 NOLOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (61307 61306 NOLOCKSHIFT)) (110 (45
|
||||
177 NOLOCKSHIFT)) (111 (61269 61268 LOCKSHIFT)) (112 (172 174 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) .
|
||||
IGNORE) (116 (51 35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (61240 61241 NOLOCKSHIFT)) (119 (
|
||||
61234 61235 NOLOCKSHIFT)) (120 (61266 61262 NOLOCKSHIFT)) (121 (61365 61365 NOLOCKSHIFT)) (122 (57 40
|
||||
NOLOCKSHIFT)) (123 (61275 61274 NOLOCKSHIFT)) (124 (61300 61299 NOLOCKSHIFT)) (125 (61273 61272
|
||||
NOLOCKSHIFT)) (126 (61282 61283 NOLOCKSHIFT)) (127 (61256 61257 NOLOCKSHIFT)) (128 (61356 61356
|
||||
NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (61250 61251 NOLOCKSHIFT)) (137 (61298 61297 NOLOCKSHIFT)) (138
|
||||
(61305 61303 NOLOCKSHIFT)) (139 (61265 61264 NOLOCKSHIFT)) (140 (61364 61364 NOLOCKSHIFT)) (141
|
||||
1SHIFTDOWN . 1SHIFTUP) (142 (61281 233 NOLOCKSHIFT)) (143 (61351 61351 NOLOCKSHIFT)) (144 (13 13
|
||||
NOLOCKSHIFT) . IGNORE) (145 (61357 61357 NOLOCKSHIFT)) (148 (61279 61278 NOLOCKSHIFT)) (149 (61239
|
||||
61238 NOLOCKSHIFT)) (150 (61290 61290 NOLOCKSHIFT)) (151 (61263 61261 NOLOCKSHIFT)) (152 (61295 61295
|
||||
NOLOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (61252 61253 NOLOCKSHIFT)) (155 (61254 61255 NOLOCKSHIFT)
|
||||
) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61 43
|
||||
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (MATH ((100 (53 37 NOLOCKSHIFT)) (101 (52 36
|
||||
NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (61284 61285 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105
|
||||
(100 68 LOCKSHIFT)) (106 (174 61245 NOLOCKSHIFT)) (107 (61369 61363 NOLOCKSHIFT)) (108 (48 41
|
||||
NOLOCKSHIFT)) (109 (61254 61255 NOLOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (173 61246 LOCKSHIFT)) (
|
||||
112 (47 61300 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT)) (117 (50 64
|
||||
NOLOCKSHIFT)) (118 (61282 61283 LOCKSHIFT)) (119 (61287 61286 NOLOCKSHIFT)) (120 (61301 61302
|
||||
NOLOCKSHIFT)) (121 (61351 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (175 61247 LOCKSHIFT)) (124 (
|
||||
180 184 LOCKSHIFT)) (125 (172 61244 LOCKSHIFT)) (126 (61256 61257 LOCKSHIFT)) (127 (44 61250
|
||||
NOLOCKSHIFT)) (128 (61298 61253 NOLOCKSHIFT)) (129 (93 61265 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (
|
||||
133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (
|
||||
61356 61362 LOCKSHIFT)) (138 (61254 61291 NOLOCKSHIFT)) (139 (98 61360 NOLOCKSHIFT)) (140 (61309 177
|
||||
LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 61251 NOLOCKSHIFT)) (143 (61299 61252 NOLOCKSHIFT)) (
|
||||
144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (95 94 NOLOCKSHIFT)) (148 (61358 82 LOCKSHIFT)) (149 (61296
|
||||
61266 NOLOCKSHIFT)) (150 (61305 61303 NOLOCKSHIFT)) (151 (61308 61267 LOCKSHIFT)) (152 (61288 72
|
||||
LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (61357 61361 NOLOCKSHIFT)) (155 (61292 61293 LOCKSHIFT)) (
|
||||
156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 61264 NOLOCKSHIFT)) (159 (61 43
|
||||
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (OFFICE ((100 (61397 61381 NOLOCKSHIFT)) (101 (
|
||||
61396 61380 NOLOCKSHIFT)) (102 (61398 61382 NOLOCKSHIFT)) (103 (8557 8554 NOLOCKSHIFT)) (104 (61399
|
||||
61383 NOLOCKSHIFT)) (105 (61232 8743 NOLOCKSHIFT)) (106 (61346 8571 NOLOCKSHIFT)) (107 (188 86
|
||||
NOLOCKSHIFT)) (108 (61402 61386 NOLOCKSHIFT)) (109 (210 8738 NOLOCKSHIFT)) (110 (61437 61438
|
||||
NOLOCKSHIFT)) (111 (163 8558 NOLOCKSHIFT)) (112 (61248 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) .
|
||||
IGNORE) (116 (61395 61379 NOLOCKSHIFT)) (117 (61394 61378 NOLOCKSHIFT)) (118 (185 8553 NOLOCKSHIFT)) (
|
||||
119 (176 8546 NOLOCKSHIFT)) (120 (167 8744 NOLOCKSHIFT)) (121 (97 8745 NOLOCKSHIFT)) (122 (61401 61385
|
||||
NOLOCKSHIFT)) (123 (162 8570 NOLOCKSHIFT)) (124 (61437 88 NOLOCKSHIFT)) (125 (111 8569 NOLOCKSHIFT))
|
||||
(126 (61289 8737 NOLOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (128 (39 34 NOLOCKSHIFT)) (129 (93 125
|
||||
NOLOCKSHIFT)) (132 (61393 61377 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
|
||||
NOLOCKSHIFT) . IGNORE) (135 (61233 8742 NOLOCKSHIFT)) (137 (61438 67 NOLOCKSHIFT)) (138 (8739 74
|
||||
NOLOCKSHIFT)) (139 (190 61436 NOLOCKSHIFT)) (140 (189 90 NOLOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (
|
||||
142 (61249 62 NOLOCKSHIFT)) (143 (61352 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (95
|
||||
61280 NOLOCKSHIFT)) (148 (212 8574 NOLOCKSHIFT)) (149 (61354 8573 NOLOCKSHIFT)) (150 (61286 8741
|
||||
NOLOCKSHIFT)) (151 (165 8572 NOLOCKSHIFT)) (152 (61368 8740 NOLOCKSHIFT)) (153 (61400 61384
|
||||
NOLOCKSHIFT)) (154 (173 175 NOLOCKSHIFT)) (155 (172 174 NOLOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32
|
||||
32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61406 61368 NOLOCKSHIFT)) (160 2SHIFTDOWN
|
||||
. 2SHIFTUP)) DANDELION) (DVORAK ((100 (49 42 NOLOCKSHIFT)) (101 (51 41 NOLOCKSHIFT)) (102 (57 37
|
||||
NOLOCKSHIFT)) (103 (46 62 NOLOCKSHIFT)) (104 (48 38 NOLOCKSHIFT)) (105 (101 69 LOCKSHIFT)) (106 (103
|
||||
71 LOCKSHIFT)) (107 (107 75 LOCKSHIFT)) (108 (54 45 NOLOCKSHIFT)) (109 (116 84 LOCKSHIFT)) (110 (56 95
|
||||
NOLOCKSHIFT)) (111 (108 76 LOCKSHIFT)) (112 (122 90 LOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116
|
||||
(53 40 NOLOCKSHIFT)) (117 (55 35 NOLOCKSHIFT)) (118 (44 60 NOLOCKSHIFT)) (119 (63 47 NOLOCKSHIFT)) (
|
||||
120 (111 79 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (52 164 NOLOCKSHIFT)) (123 (99 67 LOCKSHIFT)) (
|
||||
124 (113 81 LOCKSHIFT)) (125 (114 82 LOCKSHIFT)) (126 (110 78 LOCKSHIFT)) (127 (119 87 LOCKSHIFT)) (
|
||||
128 (44 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (33 64 NOLOCKSHIFT)) (133 (92 124
|
||||
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (117 85 LOCKSHIFT)) (137 (106 74
|
||||
LOCKSHIFT)) (138 (104 72 LOCKSHIFT)) (139 (120 88 LOCKSHIFT)) (140 (59 58 NOLOCKSHIFT)) (141
|
||||
1SHIFTDOWN . 1SHIFTUP) (142 (118 86 LOCKSHIFT)) (143 (115 83 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
|
||||
IGNORE) (145 (169 170 NOLOCKSHIFT)) (148 (112 80 LOCKSHIFT)) (149 (121 89 LOCKSHIFT)) (150 (105 73
|
||||
LOCKSHIFT)) (151 (102 70 LOCKSHIFT)) (152 (100 68 LOCKSHIFT)) (153 (50 162 NOLOCKSHIFT)) (154 (98 66
|
||||
LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
|
||||
91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (GREEK ((100 (
|
||||
53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (9830 69 LOCKSHIFT)) (
|
||||
104 (55 38 NOLOCKSHIFT)) (105 (9829 9797 LOCKSHIFT)) (106 (9849 9817 LOCKSHIFT)) (107 (115 9814
|
||||
LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (9837 9805 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (9843
|
||||
9811 LOCKSHIFT)) (112 (47 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT)) (118 (9853 9821 LOCKSHIFT)) (119 (9835 9803 LOCKSHIFT)) (120 (9846 9814
|
||||
LOCKSHIFT)) (121 (9825 9793 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (9836 9804 LOCKSHIFT)) (124 (
|
||||
9851 9819 LOCKSHIFT)) (125 (9842 9810 LOCKSHIFT)) (126 (9838 9806 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)
|
||||
) (128 (39 34 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124
|
||||
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (9850 9818 LOCKSHIFT)) (137 (9841 9809
|
||||
LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (9826 66 LOCKSHIFT)) (140 (9833 9801 LOCKSHIFT)) (141
|
||||
1SHIFTDOWN . 1SHIFTUP) (142 (46 62 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
|
||||
IGNORE) (145 (95 94 NOLOCKSHIFT)) (148 (9845 9813 LOCKSHIFT)) (149 (9848 9816 LOCKSHIFT)) (150 (9828
|
||||
9796 LOCKSHIFT)) (151 (9852 9820 LOCKSHIFT)) (152 (9834 9802 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (
|
||||
154 (9840 9808 LOCKSHIFT)) (155 (9839 9807 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT
|
||||
) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION) (ITALIAN ((100 (53 61903 NOLOCKSHIFT)) (101 (52 61886 NOLOCKSHIFT)) (102 (54 61919
|
||||
NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85
|
||||
LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45
|
||||
NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (204 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (
|
||||
116 (51 61872 NOLOCKSHIFT)) (117 (50 61858 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81
|
||||
LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73
|
||||
LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171
|
||||
NOLOCKSHIFT)) (128 (39 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92
|
||||
124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67
|
||||
LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN
|
||||
. 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (
|
||||
145 (95 170 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (
|
||||
151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (
|
||||
155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123
|
||||
NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (SPANISH ((100 (53
|
||||
61904 NOLOCKSHIFT)) (101 (52 61887 NOLOCKSHIFT)) (102 (54 61920 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT))
|
||||
(112 (204 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 61873 NOLOCKSHIFT)) (117 (50
|
||||
61858 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (
|
||||
97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (
|
||||
111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT)) (128 (59 58 NOLOCKSHIFT)) (129
|
||||
(203 187 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
|
||||
NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139
|
||||
(98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (
|
||||
143 (61900 61772 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (161 191 NOLOCKSHIFT)) (148 (114
|
||||
82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72
|
||||
LOCKSHIFT)) (153 (56 61925 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156
|
||||
LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (44 171 NOLOCKSHIFT)) (159 (61 43
|
||||
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (FRENCH ((100 (53 61905 NOLOCKSHIFT)) (101 (52
|
||||
61888 NOLOCKSHIFT)) (102 (54 61921 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (
|
||||
105 (100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (
|
||||
109 (107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (204 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 61874 NOLOCKSHIFT)) (117 (50 61859 NOLOCKSHIFT)) (118 (119
|
||||
87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40
|
||||
NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76
|
||||
LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT)) (128 (39 61857 NOLOCKSHIFT)) (129 (61872 61892 LOCKSHIFT)) (132
|
||||
(49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102
|
||||
70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90
|
||||
LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13
|
||||
13 NOLOCKSHIFT) . IGNORE) (145 (61869 61741 LOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84
|
||||
LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 61919
|
||||
NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
|
||||
NOLOCKSHIFT) . IGNORE) (158 (61873 61877 LOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN .
|
||||
2SHIFTUP)) DANDELION) (GERMAN ((100 (53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126
|
||||
NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85
|
||||
LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45
|
||||
NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (251 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (
|
||||
116 (51 35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (
|
||||
120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (
|
||||
124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (
|
||||
128 (39 34 NOLOCKSHIFT)) (129 (61863 61735 LOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124
|
||||
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT
|
||||
)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN .
|
||||
1SHIFTUP) (142 (46 62 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145
|
||||
(95 94 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (
|
||||
121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (
|
||||
109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (61908 61780
|
||||
LOCKSHIFT)) (159 (61925 61797 LOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DANDELION) (STANDARD-RUSSIAN ((
|
||||
100 (34 52 NOLOCKSHIFT)) (101 (47 51 NOLOCKSHIFT)) (102 (58 53 NOLOCKSHIFT)) (103 (10085 10037
|
||||
LOCKSHIFT)) (104 (44 54 NOLOCKSHIFT)) (105 (10067 10019 LOCKSHIFT)) (106 (10068 10020 LOCKSHIFT)) (107
|
||||
(10078 10030 LOCKSHIFT)) (108 (63 57 NOLOCKSHIFT)) (109 (10077 10029 LOCKSHIFT)) (110 (37 48
|
||||
NOLOCKSHIFT)) (111 (10073 10025 LOCKSHIFT)) (112 (10071 10023 LOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) .
|
||||
IGNORE) (116 (45 50 NOLOCKSHIFT)) (117 (61352 49 NOLOCKSHIFT)) (118 (10088 10040 LOCKSHIFT)) (119 (
|
||||
10075 10027 LOCKSHIFT)) (120 (10093 10045 LOCKSHIFT)) (121 (10086 10038 LOCKSHIFT)) (122 (95 56
|
||||
NOLOCKSHIFT)) (123 (10090 10042 LOCKSHIFT)) (124 (10089 10041 LOCKSHIFT)) (125 (10091 10043 LOCKSHIFT)
|
||||
) (126 (10069 10021 LOCKSHIFT)) (127 (10066 10018 LOCKSHIFT)) (128 (10095 10047 LOCKSHIFT)) (129 (
|
||||
10092 10044 LOCKSHIFT)) (132 (167 43 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
|
||||
NOLOCKSHIFT) . IGNORE) (135 (10065 10017 LOCKSHIFT)) (137 (10083 10035 LOCKSHIFT)) (138 (10080 10032
|
||||
LOCKSHIFT)) (139 (10074 10026 LOCKSHIFT)) (140 (10097 10049 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (
|
||||
142 (10096 10048 LOCKSHIFT)) (143 (10072 10024 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (41
|
||||
40 NOLOCKSHIFT)) (148 (10076 10028 LOCKSHIFT)) (149 (10070 10022 LOCKSHIFT)) (150 (10081 10033
|
||||
LOCKSHIFT)) (151 (10079 10031 LOCKSHIFT)) (152 (10082 10034 LOCKSHIFT)) (153 (46 55 NOLOCKSHIFT)) (154
|
||||
(10084 10036 LOCKSHIFT)) (155 (10094 10046 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
|
||||
NOLOCKSHIFT) . IGNORE) (158 (10087 10039 LOCKSHIFT)) (159 (33 61 NOLOCKSHIFT)) (160 2SHIFTDOWN .
|
||||
2SHIFTUP)) DANDELION))
|
||||
@@ -1,171 +0,0 @@
|
||||
((EUROPEAN ((100 (53 197 NOLOCKSHIFT)) (101 (52 196 NOLOCKSHIFT)) (102 (54 198 NOLOCKSHIFT)) (103 (
|
||||
61887 61759 LOCKSHIFT)) (104 (55 199 NOLOCKSHIFT)) (105 (61888 61760 LOCKSHIFT)) (106 (61872 61744
|
||||
LOCKSHIFT)) (107 (61860 61732 LOCKSHIFT)) (108 (48 126 NOLOCKSHIFT)) (109 (61892 61764 LOCKSHIFT)) (
|
||||
110 (203 207 NOLOCKSHIFT)) (111 (61919 61791 LOCKSHIFT)) (112 (47 191 NOLOCKSHIFT)) (115 (1 1
|
||||
NOLOCKSHIFT) . IGNORE) (116 (51 195 NOLOCKSHIFT)) (117 (50 194 NOLOCKSHIFT)) (118 (61873 61745
|
||||
LOCKSHIFT)) (119 (61858 61730 LOCKSHIFT)) (120 (61874 61746 LOCKSHIFT)) (121 (61859 61731 LOCKSHIFT))
|
||||
(122 (57 202 NOLOCKSHIFT)) (123 (61886 61758 LOCKSHIFT)) (124 (61864 61736 LOCKSHIFT)) (125 (61903
|
||||
61775 LOCKSHIFT)) (126 (61908 61780 LOCKSHIFT)) (127 (241 225 LOCKSHIFT)) (128 (187 170 LOCKSHIFT)) (
|
||||
129 (249 233 LOCKSHIFT)) (132 (49 193 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
|
||||
NOLOCKSHIFT) . IGNORE) (135 (61905 61777 LOCKSHIFT)) (137 (61869 61741 LOCKSHIFT)) (138 (61877 61749
|
||||
LOCKSHIFT)) (139 (61906 61778 LOCKSHIFT)) (140 (251 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (
|
||||
250 234 LOCKSHIFT)) (143 (59 58 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (171 186 LOCKSHIFT
|
||||
)) (148 (61904 61776 LOCKSHIFT)) (149 (61920 61792 LOCKSHIFT)) (150 (61921 61793 LOCKSHIFT)) (151 (
|
||||
61857 61729 LOCKSHIFT)) (152 (61863 61735 LOCKSHIFT)) (153 (56 200 NOLOCKSHIFT)) (154 (61900 61772
|
||||
LOCKSHIFT)) (155 (239 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
|
||||
246 230 LOCKSHIFT)) (159 (207 176 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (logic ((100 (
|
||||
53 37 NOLOCKSHIFT)) (101 (52 164 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (61258 61260
|
||||
NOLOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (61292 61293 NOLOCKSHIFT)) (106 (61271 61270 NOLOCKSHIFT)
|
||||
) (107 (61284 61285 NOLOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (61307 61306 NOLOCKSHIFT)) (110 (45
|
||||
177 NOLOCKSHIFT)) (111 (61269 61268 LOCKSHIFT)) (112 (172 174 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) .
|
||||
IGNORE) (116 (51 35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (61240 61241 NOLOCKSHIFT)) (119 (
|
||||
61234 61235 NOLOCKSHIFT)) (120 (61266 61262 NOLOCKSHIFT)) (121 (61365 61365 NOLOCKSHIFT)) (122 (57 40
|
||||
NOLOCKSHIFT)) (123 (61275 61274 NOLOCKSHIFT)) (124 (61300 61299 NOLOCKSHIFT)) (125 (61273 61272
|
||||
NOLOCKSHIFT)) (126 (61282 61283 NOLOCKSHIFT)) (127 (61256 61257 NOLOCKSHIFT)) (128 (61356 61356
|
||||
NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (61250 61251 NOLOCKSHIFT)) (137 (61298 61297 NOLOCKSHIFT)) (138
|
||||
(61305 61303 NOLOCKSHIFT)) (139 (61265 61264 NOLOCKSHIFT)) (140 (61364 61364 NOLOCKSHIFT)) (141
|
||||
1SHIFTDOWN . 1SHIFTUP) (142 (61281 233 NOLOCKSHIFT)) (143 (61351 61351 NOLOCKSHIFT)) (144 (13 13
|
||||
NOLOCKSHIFT) . IGNORE) (145 (61357 61357 NOLOCKSHIFT)) (148 (61279 61278 NOLOCKSHIFT)) (149 (61239
|
||||
61238 NOLOCKSHIFT)) (150 (61290 61290 NOLOCKSHIFT)) (151 (61263 61261 NOLOCKSHIFT)) (152 (61295 61295
|
||||
NOLOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (61252 61253 NOLOCKSHIFT)) (155 (61254 61255 NOLOCKSHIFT)
|
||||
) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61 43
|
||||
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (MATH ((100 (53 37 NOLOCKSHIFT)) (101 (52 36
|
||||
NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (61284 61285 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105
|
||||
(100 68 LOCKSHIFT)) (106 (174 61245 NOLOCKSHIFT)) (107 (61369 61363 NOLOCKSHIFT)) (108 (48 41
|
||||
NOLOCKSHIFT)) (109 (61254 61255 NOLOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (173 61246 LOCKSHIFT)) (
|
||||
112 (47 61300 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT)) (117 (50 64
|
||||
NOLOCKSHIFT)) (118 (61282 61283 LOCKSHIFT)) (119 (61287 61286 NOLOCKSHIFT)) (120 (61301 61302
|
||||
NOLOCKSHIFT)) (121 (61351 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (175 61247 LOCKSHIFT)) (124 (
|
||||
180 184 LOCKSHIFT)) (125 (172 61244 LOCKSHIFT)) (126 (61256 61257 LOCKSHIFT)) (127 (44 61250
|
||||
NOLOCKSHIFT)) (128 (61298 61253 NOLOCKSHIFT)) (129 (93 61265 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (
|
||||
133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (
|
||||
61356 61362 LOCKSHIFT)) (138 (61254 61291 NOLOCKSHIFT)) (139 (98 61360 NOLOCKSHIFT)) (140 (61309 177
|
||||
LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 61251 NOLOCKSHIFT)) (143 (61299 61252 NOLOCKSHIFT)) (
|
||||
144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (95 94 NOLOCKSHIFT)) (148 (61358 82 LOCKSHIFT)) (149 (61296
|
||||
61266 NOLOCKSHIFT)) (150 (61305 61303 NOLOCKSHIFT)) (151 (61308 61267 LOCKSHIFT)) (152 (61288 72
|
||||
LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (61357 61361 NOLOCKSHIFT)) (155 (61292 61293 LOCKSHIFT)) (
|
||||
156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 61264 NOLOCKSHIFT)) (159 (61 43
|
||||
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (OFFICE ((100 (61397 61381 NOLOCKSHIFT)) (101 (
|
||||
61396 61380 NOLOCKSHIFT)) (102 (61398 61382 NOLOCKSHIFT)) (103 (8557 8554 NOLOCKSHIFT)) (104 (61399
|
||||
61383 NOLOCKSHIFT)) (105 (61232 8743 NOLOCKSHIFT)) (106 (61346 8571 NOLOCKSHIFT)) (107 (188 86
|
||||
NOLOCKSHIFT)) (108 (61402 61386 NOLOCKSHIFT)) (109 (210 8738 NOLOCKSHIFT)) (110 (61437 61438
|
||||
NOLOCKSHIFT)) (111 (163 8558 NOLOCKSHIFT)) (112 (61248 63 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) .
|
||||
IGNORE) (116 (61395 61379 NOLOCKSHIFT)) (117 (61394 61378 NOLOCKSHIFT)) (118 (185 8553 NOLOCKSHIFT)) (
|
||||
119 (176 8546 NOLOCKSHIFT)) (120 (167 8744 NOLOCKSHIFT)) (121 (97 8745 NOLOCKSHIFT)) (122 (61401 61385
|
||||
NOLOCKSHIFT)) (123 (162 8570 NOLOCKSHIFT)) (124 (61437 88 NOLOCKSHIFT)) (125 (111 8569 NOLOCKSHIFT))
|
||||
(126 (61289 8737 NOLOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (128 (39 34 NOLOCKSHIFT)) (129 (93 125
|
||||
NOLOCKSHIFT)) (132 (61393 61377 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
|
||||
NOLOCKSHIFT) . IGNORE) (135 (61233 8742 NOLOCKSHIFT)) (137 (61438 67 NOLOCKSHIFT)) (138 (8739 74
|
||||
NOLOCKSHIFT)) (139 (190 61436 NOLOCKSHIFT)) (140 (189 90 NOLOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (
|
||||
142 (61249 62 NOLOCKSHIFT)) (143 (61352 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (95
|
||||
61280 NOLOCKSHIFT)) (148 (212 8574 NOLOCKSHIFT)) (149 (61354 8573 NOLOCKSHIFT)) (150 (61286 8741
|
||||
NOLOCKSHIFT)) (151 (165 8572 NOLOCKSHIFT)) (152 (61368 8740 NOLOCKSHIFT)) (153 (61400 61384
|
||||
NOLOCKSHIFT)) (154 (173 175 NOLOCKSHIFT)) (155 (172 174 NOLOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32
|
||||
32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61406 61368 NOLOCKSHIFT)) (160 2SHIFTDOWN
|
||||
. 2SHIFTUP)) DORADO) (DVORAK ((100 (49 42 NOLOCKSHIFT)) (101 (51 41 NOLOCKSHIFT)) (102 (57 37
|
||||
NOLOCKSHIFT)) (103 (46 62 NOLOCKSHIFT)) (104 (48 38 NOLOCKSHIFT)) (105 (101 69 LOCKSHIFT)) (106 (103
|
||||
71 LOCKSHIFT)) (107 (107 75 LOCKSHIFT)) (108 (54 45 NOLOCKSHIFT)) (109 (116 84 LOCKSHIFT)) (110 (56 95
|
||||
NOLOCKSHIFT)) (111 (108 76 LOCKSHIFT)) (112 (122 90 LOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (116
|
||||
(53 40 NOLOCKSHIFT)) (117 (55 35 NOLOCKSHIFT)) (118 (44 60 NOLOCKSHIFT)) (119 (63 47 NOLOCKSHIFT)) (
|
||||
120 (111 79 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (52 164 NOLOCKSHIFT)) (123 (99 67 LOCKSHIFT)) (
|
||||
124 (113 81 LOCKSHIFT)) (125 (114 82 LOCKSHIFT)) (126 (110 78 LOCKSHIFT)) (127 (119 87 LOCKSHIFT)) (
|
||||
128 (44 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (33 64 NOLOCKSHIFT)) (133 (92 124
|
||||
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (117 85 LOCKSHIFT)) (137 (106 74
|
||||
LOCKSHIFT)) (138 (104 72 LOCKSHIFT)) (139 (120 88 LOCKSHIFT)) (140 (59 58 NOLOCKSHIFT)) (141
|
||||
1SHIFTDOWN . 1SHIFTUP) (142 (118 86 LOCKSHIFT)) (143 (115 83 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
|
||||
IGNORE) (145 (169 170 NOLOCKSHIFT)) (148 (112 80 LOCKSHIFT)) (149 (121 89 LOCKSHIFT)) (150 (105 73
|
||||
LOCKSHIFT)) (151 (102 70 LOCKSHIFT)) (152 (100 68 LOCKSHIFT)) (153 (50 162 NOLOCKSHIFT)) (154 (98 66
|
||||
LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
|
||||
91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (GREEK ((100 (
|
||||
53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (9830 69 LOCKSHIFT)) (
|
||||
104 (55 38 NOLOCKSHIFT)) (105 (9829 9797 LOCKSHIFT)) (106 (9849 9817 LOCKSHIFT)) (107 (115 9814
|
||||
LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (9837 9805 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (9843
|
||||
9811 LOCKSHIFT)) (112 (47 63 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT)) (118 (9853 9821 LOCKSHIFT)) (119 (9835 9803 LOCKSHIFT)) (120 (9846 9814
|
||||
LOCKSHIFT)) (121 (9825 9793 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (9836 9804 LOCKSHIFT)) (124 (
|
||||
9851 9819 LOCKSHIFT)) (125 (9842 9810 LOCKSHIFT)) (126 (9838 9806 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)
|
||||
) (128 (39 34 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124
|
||||
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (9850 9818 LOCKSHIFT)) (137 (9841 9809
|
||||
LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (9826 66 LOCKSHIFT)) (140 (9833 9801 LOCKSHIFT)) (141
|
||||
1SHIFTDOWN . 1SHIFTUP) (142 (46 62 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
|
||||
IGNORE) (145 (95 94 NOLOCKSHIFT)) (148 (9845 9813 LOCKSHIFT)) (149 (9848 9816 LOCKSHIFT)) (150 (9828
|
||||
9796 LOCKSHIFT)) (151 (9852 9820 LOCKSHIFT)) (152 (9834 9802 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (
|
||||
154 (9840 9808 LOCKSHIFT)) (155 (9839 9807 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT
|
||||
) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO) (ITALIAN ((100 (53 61903 NOLOCKSHIFT)) (101 (52 61886 NOLOCKSHIFT)) (102 (54 61919
|
||||
NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85
|
||||
LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45
|
||||
NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (204 63 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (
|
||||
116 (51 61872 NOLOCKSHIFT)) (117 (50 61858 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81
|
||||
LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73
|
||||
LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171
|
||||
NOLOCKSHIFT)) (128 (39 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92
|
||||
124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67
|
||||
LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN
|
||||
. 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (
|
||||
145 (95 170 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (
|
||||
151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (
|
||||
155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123
|
||||
NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (SPANISH ((100 (53
|
||||
61904 NOLOCKSHIFT)) (101 (52 61887 NOLOCKSHIFT)) (102 (54 61920 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT))
|
||||
(112 (204 63 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (116 (51 61873 NOLOCKSHIFT)) (117 (50
|
||||
61858 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (
|
||||
97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (
|
||||
111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT)) (128 (59 58 NOLOCKSHIFT)) (129
|
||||
(203 187 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
|
||||
NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139
|
||||
(98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (
|
||||
143 (61900 61772 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (161 191 NOLOCKSHIFT)) (148 (114
|
||||
82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72
|
||||
LOCKSHIFT)) (153 (56 61925 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156
|
||||
LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (44 171 NOLOCKSHIFT)) (159 (61 43
|
||||
NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (FRENCH ((100 (53 61905 NOLOCKSHIFT)) (101 (52
|
||||
61888 NOLOCKSHIFT)) (102 (54 61921 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (
|
||||
105 (100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (
|
||||
109 (107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (204 63 NOLOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE) (116 (51 61874 NOLOCKSHIFT)) (117 (50 61859 NOLOCKSHIFT)) (118 (119
|
||||
87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40
|
||||
NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76
|
||||
LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT)) (128 (39 61857 NOLOCKSHIFT)) (129 (61872 61892 LOCKSHIFT)) (132
|
||||
(49 33 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102
|
||||
70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90
|
||||
LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13
|
||||
13 NOLOCKSHIFT) . IGNORE) (145 (61869 61741 LOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84
|
||||
LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 61919
|
||||
NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
|
||||
NOLOCKSHIFT) . IGNORE) (158 (61873 61877 LOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN .
|
||||
2SHIFTUP)) DORADO) (GERMAN ((100 (53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126
|
||||
NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85
|
||||
LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45
|
||||
NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (251 63 NOLOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) . IGNORE) (
|
||||
116 (51 35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (
|
||||
120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (
|
||||
124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (
|
||||
128 (39 34 NOLOCKSHIFT)) (129 (61863 61735 LOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (133 (92 124
|
||||
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT
|
||||
)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN .
|
||||
1SHIFTUP) (142 (46 62 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145
|
||||
(95 94 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (
|
||||
121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (
|
||||
109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (61908 61780
|
||||
LOCKSHIFT)) (159 (61925 61797 LOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DORADO) (STANDARD-RUSSIAN ((
|
||||
100 (34 52 NOLOCKSHIFT)) (101 (47 51 NOLOCKSHIFT)) (102 (58 53 NOLOCKSHIFT)) (103 (10085 10037
|
||||
LOCKSHIFT)) (104 (44 54 NOLOCKSHIFT)) (105 (10067 10019 LOCKSHIFT)) (106 (10068 10020 LOCKSHIFT)) (107
|
||||
(10078 10030 LOCKSHIFT)) (108 (63 57 NOLOCKSHIFT)) (109 (10077 10029 LOCKSHIFT)) (110 (37 48
|
||||
NOLOCKSHIFT)) (111 (10073 10025 LOCKSHIFT)) (112 (10071 10023 LOCKSHIFT)) (115 (1 1 NOLOCKSHIFT) .
|
||||
IGNORE) (116 (45 50 NOLOCKSHIFT)) (117 (61352 49 NOLOCKSHIFT)) (118 (10088 10040 LOCKSHIFT)) (119 (
|
||||
10075 10027 LOCKSHIFT)) (120 (10093 10045 LOCKSHIFT)) (121 (10086 10038 LOCKSHIFT)) (122 (95 56
|
||||
NOLOCKSHIFT)) (123 (10090 10042 LOCKSHIFT)) (124 (10089 10041 LOCKSHIFT)) (125 (10091 10043 LOCKSHIFT)
|
||||
) (126 (10069 10021 LOCKSHIFT)) (127 (10066 10018 LOCKSHIFT)) (128 (10095 10047 LOCKSHIFT)) (129 (
|
||||
10092 10044 LOCKSHIFT)) (132 (167 43 NOLOCKSHIFT)) (133 (92 124 NOLOCKSHIFT) . IGNORE) (134 (9 9
|
||||
NOLOCKSHIFT) . IGNORE) (135 (10065 10017 LOCKSHIFT)) (137 (10083 10035 LOCKSHIFT)) (138 (10080 10032
|
||||
LOCKSHIFT)) (139 (10074 10026 LOCKSHIFT)) (140 (10097 10049 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (
|
||||
142 (10096 10048 LOCKSHIFT)) (143 (10072 10024 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (145 (41
|
||||
40 NOLOCKSHIFT)) (148 (10076 10028 LOCKSHIFT)) (149 (10070 10022 LOCKSHIFT)) (150 (10081 10033
|
||||
LOCKSHIFT)) (151 (10079 10031 LOCKSHIFT)) (152 (10082 10034 LOCKSHIFT)) (153 (46 55 NOLOCKSHIFT)) (154
|
||||
(10084 10036 LOCKSHIFT)) (155 (10094 10046 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
|
||||
NOLOCKSHIFT) . IGNORE) (158 (10087 10039 LOCKSHIFT)) (159 (33 61 NOLOCKSHIFT)) (160 2SHIFTDOWN .
|
||||
2SHIFTUP)) DORADO))
|
||||
@@ -1,171 +0,0 @@
|
||||
((EUROPEAN ((100 (53 197 NOLOCKSHIFT)) (101 (52 196 NOLOCKSHIFT)) (102 (54 198 NOLOCKSHIFT)) (103 (
|
||||
61887 61759 LOCKSHIFT)) (104 (55 199 NOLOCKSHIFT)) (105 (61888 61760 LOCKSHIFT)) (106 (61872 61744
|
||||
LOCKSHIFT)) (107 (61860 61732 LOCKSHIFT)) (108 (48 126 NOLOCKSHIFT)) (109 (61892 61764 LOCKSHIFT)) (
|
||||
110 (203 207 NOLOCKSHIFT)) (111 (61919 61791 LOCKSHIFT)) (112 (47 191 NOLOCKSHIFT)) (115 (8 8
|
||||
NOLOCKSHIFT) . IGNORE) (116 (51 195 NOLOCKSHIFT)) (117 (50 194 NOLOCKSHIFT)) (118 (61873 61745
|
||||
LOCKSHIFT)) (119 (61858 61730 LOCKSHIFT)) (120 (61874 61746 LOCKSHIFT)) (121 (61859 61731 LOCKSHIFT))
|
||||
(122 (57 202 NOLOCKSHIFT)) (123 (61886 61758 LOCKSHIFT)) (124 (61864 61736 LOCKSHIFT)) (125 (61903
|
||||
61775 LOCKSHIFT)) (126 (61908 61780 LOCKSHIFT)) (127 (241 225 LOCKSHIFT)) (171 (187 170 LOCKSHIFT)) (
|
||||
129 (249 233 LOCKSHIFT)) (132 (49 193 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9
|
||||
NOLOCKSHIFT) . IGNORE) (135 (61905 61777 LOCKSHIFT)) (137 (61869 61741 LOCKSHIFT)) (138 (61877 61749
|
||||
LOCKSHIFT)) (139 (61906 61778 LOCKSHIFT)) (140 (251 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (
|
||||
250 234 LOCKSHIFT)) (143 (59 58 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (208 (171 186 LOCKSHIFT
|
||||
)) (148 (61904 61776 LOCKSHIFT)) (149 (61920 61792 LOCKSHIFT)) (150 (61921 61793 LOCKSHIFT)) (151 (
|
||||
61857 61729 LOCKSHIFT)) (152 (61863 61735 LOCKSHIFT)) (153 (56 200 NOLOCKSHIFT)) (154 (61900 61772
|
||||
LOCKSHIFT)) (155 (239 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
|
||||
246 230 LOCKSHIFT)) (159 (207 176 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (logic ((100 (53 37
|
||||
NOLOCKSHIFT)) (101 (52 164 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (61258 61260 NOLOCKSHIFT)) (
|
||||
104 (55 38 NOLOCKSHIFT)) (105 (61292 61293 NOLOCKSHIFT)) (106 (61271 61270 NOLOCKSHIFT)) (107 (61284
|
||||
61285 NOLOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (61307 61306 NOLOCKSHIFT)) (110 (45 177 NOLOCKSHIFT
|
||||
)) (111 (61269 61268 LOCKSHIFT)) (112 (172 174 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51
|
||||
35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (61240 61241 NOLOCKSHIFT)) (119 (61234 61235
|
||||
NOLOCKSHIFT)) (120 (61266 61262 NOLOCKSHIFT)) (121 (61365 61365 NOLOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)
|
||||
) (123 (61275 61274 NOLOCKSHIFT)) (124 (61300 61299 NOLOCKSHIFT)) (125 (61273 61272 NOLOCKSHIFT)) (126
|
||||
(61282 61283 NOLOCKSHIFT)) (127 (61256 61257 NOLOCKSHIFT)) (171 (61356 61356 NOLOCKSHIFT)) (129 (93
|
||||
125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT)
|
||||
. IGNORE) (135 (61250 61251 NOLOCKSHIFT)) (137 (61298 61297 NOLOCKSHIFT)) (138 (61305 61303
|
||||
NOLOCKSHIFT)) (139 (61265 61264 NOLOCKSHIFT)) (140 (61364 61364 NOLOCKSHIFT)) (141 1SHIFTDOWN .
|
||||
1SHIFTUP) (142 (61281 233 NOLOCKSHIFT)) (143 (61351 61351 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
|
||||
IGNORE) (208 (61357 61357 NOLOCKSHIFT)) (148 (61279 61278 NOLOCKSHIFT)) (149 (61239 61238 NOLOCKSHIFT)
|
||||
) (150 (61290 61290 NOLOCKSHIFT)) (151 (61263 61261 NOLOCKSHIFT)) (152 (61295 61295 NOLOCKSHIFT)) (153
|
||||
(56 42 NOLOCKSHIFT)) (154 (61252 61253 NOLOCKSHIFT)) (155 (61254 61255 NOLOCKSHIFT)) (156 LOCKDOWN .
|
||||
LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160
|
||||
2SHIFTDOWN . 2SHIFTUP)) DOVE) (MATH ((100 (53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126
|
||||
NOLOCKSHIFT)) (103 (61284 61285 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (
|
||||
174 61245 NOLOCKSHIFT)) (107 (61369 61363 NOLOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (61254 61255
|
||||
NOLOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (173 61246 LOCKSHIFT)) (112 (47 61300 NOLOCKSHIFT)) (115
|
||||
(8 8 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (61282 61283
|
||||
LOCKSHIFT)) (119 (61287 61286 NOLOCKSHIFT)) (120 (61301 61302 NOLOCKSHIFT)) (121 (61351 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT)) (123 (175 61247 LOCKSHIFT)) (124 (180 184 LOCKSHIFT)) (125 (172 61244
|
||||
LOCKSHIFT)) (126 (61256 61257 LOCKSHIFT)) (127 (44 61250 NOLOCKSHIFT)) (171 (61298 61253 NOLOCKSHIFT))
|
||||
(129 (93 61265 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9
|
||||
NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (61356 61362 LOCKSHIFT)) (138 (61254 61291
|
||||
NOLOCKSHIFT)) (139 (98 61360 NOLOCKSHIFT)) (140 (61309 177 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (
|
||||
142 (46 61251 NOLOCKSHIFT)) (143 (61299 61252 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (208 (
|
||||
95 94 NOLOCKSHIFT)) (148 (61358 82 LOCKSHIFT)) (149 (61296 61266 NOLOCKSHIFT)) (150 (61305 61303
|
||||
NOLOCKSHIFT)) (151 (61308 61267 LOCKSHIFT)) (152 (61288 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154
|
||||
(61357 61361 NOLOCKSHIFT)) (155 (61292 61293 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
|
||||
NOLOCKSHIFT) . IGNORE) (158 (91 61264 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN .
|
||||
2SHIFTUP)) DOVE) (OFFICE ((100 (61397 61381 NOLOCKSHIFT)) (101 (61396 61380 NOLOCKSHIFT)) (102 (61398
|
||||
61382 NOLOCKSHIFT)) (103 (8557 8554 NOLOCKSHIFT)) (104 (61399 61383 NOLOCKSHIFT)) (105 (61232 8743
|
||||
NOLOCKSHIFT)) (106 (61346 8571 NOLOCKSHIFT)) (107 (188 86 NOLOCKSHIFT)) (108 (61402 61386 NOLOCKSHIFT)
|
||||
) (109 (210 8738 NOLOCKSHIFT)) (110 (61437 61438 NOLOCKSHIFT)) (111 (163 8558 NOLOCKSHIFT)) (112 (
|
||||
61248 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (61395 61379 NOLOCKSHIFT)) (117 (61394
|
||||
61378 NOLOCKSHIFT)) (118 (185 8553 NOLOCKSHIFT)) (119 (176 8546 NOLOCKSHIFT)) (120 (167 8744
|
||||
NOLOCKSHIFT)) (121 (97 8745 NOLOCKSHIFT)) (122 (61401 61385 NOLOCKSHIFT)) (123 (162 8570 NOLOCKSHIFT))
|
||||
(124 (61437 88 NOLOCKSHIFT)) (125 (111 8569 NOLOCKSHIFT)) (126 (61289 8737 NOLOCKSHIFT)) (127 (44 60
|
||||
NOLOCKSHIFT)) (171 (39 34 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (61393 61377 NOLOCKSHIFT)) (
|
||||
165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (61233 8742 NOLOCKSHIFT)) (137
|
||||
(61438 67 NOLOCKSHIFT)) (138 (8739 74 NOLOCKSHIFT)) (139 (190 61436 NOLOCKSHIFT)) (140 (189 90
|
||||
NOLOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (61249 62 NOLOCKSHIFT)) (143 (61352 58 NOLOCKSHIFT)) (
|
||||
144 (13 13 NOLOCKSHIFT) . IGNORE) (208 (95 61280 NOLOCKSHIFT)) (148 (212 8574 NOLOCKSHIFT)) (149 (
|
||||
61354 8573 NOLOCKSHIFT)) (150 (61286 8741 NOLOCKSHIFT)) (151 (165 8572 NOLOCKSHIFT)) (152 (61368 8740
|
||||
NOLOCKSHIFT)) (153 (61400 61384 NOLOCKSHIFT)) (154 (173 175 NOLOCKSHIFT)) (155 (172 174 NOLOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123 NOLOCKSHIFT)) (159 (61406
|
||||
61368 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (DVORAK ((100 (49 42 NOLOCKSHIFT)) (101 (51 41
|
||||
NOLOCKSHIFT)) (102 (57 37 NOLOCKSHIFT)) (103 (46 62 NOLOCKSHIFT)) (104 (48 38 NOLOCKSHIFT)) (105 (101
|
||||
69 LOCKSHIFT)) (106 (103 71 LOCKSHIFT)) (107 (107 75 LOCKSHIFT)) (108 (54 45 NOLOCKSHIFT)) (109 (116
|
||||
84 LOCKSHIFT)) (110 (56 95 NOLOCKSHIFT)) (111 (108 76 LOCKSHIFT)) (112 (122 90 LOCKSHIFT)) (115 (8 8
|
||||
NOLOCKSHIFT) . IGNORE) (116 (53 40 NOLOCKSHIFT)) (117 (55 35 NOLOCKSHIFT)) (118 (44 60 NOLOCKSHIFT)) (
|
||||
119 (63 47 NOLOCKSHIFT)) (120 (111 79 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (52 164 NOLOCKSHIFT)) (
|
||||
123 (99 67 LOCKSHIFT)) (124 (113 81 LOCKSHIFT)) (125 (114 82 LOCKSHIFT)) (126 (110 78 LOCKSHIFT)) (127
|
||||
(119 87 LOCKSHIFT)) (171 (44 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (33 64 NOLOCKSHIFT)) (
|
||||
165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (117 85 LOCKSHIFT)) (137 (106
|
||||
74 LOCKSHIFT)) (138 (104 72 LOCKSHIFT)) (139 (120 88 LOCKSHIFT)) (140 (59 58 NOLOCKSHIFT)) (141
|
||||
1SHIFTDOWN . 1SHIFTUP) (142 (118 86 LOCKSHIFT)) (143 (115 83 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
|
||||
IGNORE) (208 (169 170 NOLOCKSHIFT)) (148 (112 80 LOCKSHIFT)) (149 (121 89 LOCKSHIFT)) (150 (105 73
|
||||
LOCKSHIFT)) (151 (102 70 LOCKSHIFT)) (152 (100 68 LOCKSHIFT)) (153 (50 162 NOLOCKSHIFT)) (154 (98 66
|
||||
LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (
|
||||
91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (GREEK ((100 (53 37
|
||||
NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT)) (103 (9830 69 LOCKSHIFT)) (104 (55
|
||||
38 NOLOCKSHIFT)) (105 (9829 9797 LOCKSHIFT)) (106 (9849 9817 LOCKSHIFT)) (107 (115 9814 LOCKSHIFT)) (
|
||||
108 (48 41 NOLOCKSHIFT)) (109 (9837 9805 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (9843 9811
|
||||
LOCKSHIFT)) (112 (47 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 35 NOLOCKSHIFT)) (117
|
||||
(50 64 NOLOCKSHIFT)) (118 (9853 9821 LOCKSHIFT)) (119 (9835 9803 LOCKSHIFT)) (120 (9846 9814 LOCKSHIFT
|
||||
)) (121 (9825 9793 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (9836 9804 LOCKSHIFT)) (124 (9851 9819
|
||||
LOCKSHIFT)) (125 (9842 9810 LOCKSHIFT)) (126 (9838 9806 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (171 (39
|
||||
34 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) .
|
||||
IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (9850 9818 LOCKSHIFT)) (137 (9841 9809 LOCKSHIFT)) (138
|
||||
(106 74 LOCKSHIFT)) (139 (9826 66 LOCKSHIFT)) (140 (9833 9801 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 62 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (208 (95 94
|
||||
NOLOCKSHIFT)) (148 (9845 9813 LOCKSHIFT)) (149 (9848 9816 LOCKSHIFT)) (150 (9828 9796 LOCKSHIFT)) (151
|
||||
(9852 9820 LOCKSHIFT)) (152 (9834 9802 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (9840 9808
|
||||
LOCKSHIFT)) (155 (9839 9807 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (
|
||||
158 (91 123 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (ITALIAN ((171
|
||||
(39 34 NOLOCKSHIFT)) (100 (53 61903 NOLOCKSHIFT)) (101 (52 61886 NOLOCKSHIFT)) (102 (54 61919
|
||||
NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85
|
||||
LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45
|
||||
NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (95 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116
|
||||
(51 61872 NOLOCKSHIFT)) (117 (50 61857 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)
|
||||
) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT))
|
||||
(171 (39 186 NOLOCKSHIFT)) (129 (93 125 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27 27
|
||||
NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT
|
||||
)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN .
|
||||
1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (208
|
||||
(95 170 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151
|
||||
(121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155
|
||||
(109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (91 123
|
||||
NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (SPANISH ((208 (161 191
|
||||
NOLOCKSHIFT)) (171 (59 58 NOLOCKSHIFT)) (100 (53 61904 NOLOCKSHIFT)) (101 (52 61887 NOLOCKSHIFT)) (102
|
||||
(54 61920 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (
|
||||
106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (
|
||||
110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (95 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) .
|
||||
IGNORE) (116 (51 61873 NOLOCKSHIFT)) (117 (50 61858 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113
|
||||
81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73
|
||||
LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 171
|
||||
NOLOCKSHIFT)) (171 (59 58 NOLOCKSHIFT)) (129 (185 186 NOLOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27
|
||||
27 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67
|
||||
LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN
|
||||
. 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (61900 61772 LOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) .
|
||||
IGNORE) (208 (161 191 NOLOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71
|
||||
LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 61925 NOLOCKSHIFT)) (154 (110
|
||||
78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (
|
||||
158 (169 170 NOLOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (FRENCH ((208
|
||||
(61869 61741 NOLOCKSHIFT)) (171 (39 61857 NOLOCKSHIFT)) (100 (53 61905 NOLOCKSHIFT)) (101 (52 61888
|
||||
NOLOCKSHIFT)) (102 (54 61921 NOLOCKSHIFT)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (
|
||||
100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (
|
||||
107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)) (111 (112 80 LOCKSHIFT)) (112 (95 63 NOLOCKSHIFT)) (115 (
|
||||
1 1 NOLOCKSHIFT) . IGNORE) (116 (51 61874 NOLOCKSHIFT)) (117 (50 61859 NOLOCKSHIFT)) (118 (119 87
|
||||
LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83 LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40
|
||||
NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88 LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76
|
||||
LOCKSHIFT)) (127 (44 171 NOLOCKSHIFT)) (171 (39 61857 NOLOCKSHIFT)) (129 (61872 61892 LOCKSHIFT)) (132
|
||||
(49 33 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) . IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70
|
||||
LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74 LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90
|
||||
LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 187 NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13
|
||||
13 NOLOCKSHIFT) . IGNORE) (208 (61869 61741 LOCKSHIFT)) (148 (114 82 LOCKSHIFT)) (149 (116 84
|
||||
LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (152 (104 72 LOCKSHIFT)) (153 (56 61919
|
||||
NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (156 LOCKDOWN . LOCKUP) (157 (32 32
|
||||
NOLOCKSHIFT) . IGNORE) (158 (61873 61877 LOCKSHIFT)) (159 (61 43 NOLOCKSHIFT)) (160 2SHIFTDOWN .
|
||||
2SHIFTUP)) DOVE) (GERMAN ((100 (53 37 NOLOCKSHIFT)) (101 (52 36 NOLOCKSHIFT)) (102 (54 126 NOLOCKSHIFT
|
||||
)) (103 (101 69 LOCKSHIFT)) (104 (55 38 NOLOCKSHIFT)) (105 (100 68 LOCKSHIFT)) (106 (117 85 LOCKSHIFT)
|
||||
) (107 (118 86 LOCKSHIFT)) (108 (48 41 NOLOCKSHIFT)) (109 (107 75 LOCKSHIFT)) (110 (45 45 NOLOCKSHIFT)
|
||||
) (111 (112 80 LOCKSHIFT)) (112 (251 63 NOLOCKSHIFT)) (115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (51 35
|
||||
NOLOCKSHIFT)) (117 (50 64 NOLOCKSHIFT)) (118 (119 87 LOCKSHIFT)) (119 (113 81 LOCKSHIFT)) (120 (115 83
|
||||
LOCKSHIFT)) (121 (97 65 LOCKSHIFT)) (122 (57 40 NOLOCKSHIFT)) (123 (105 73 LOCKSHIFT)) (124 (120 88
|
||||
LOCKSHIFT)) (125 (111 79 LOCKSHIFT)) (126 (108 76 LOCKSHIFT)) (127 (44 60 NOLOCKSHIFT)) (171 (39 34
|
||||
NOLOCKSHIFT)) (129 (61863 61735 LOCKSHIFT)) (132 (49 33 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) .
|
||||
IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (102 70 LOCKSHIFT)) (137 (99 67 LOCKSHIFT)) (138 (106 74
|
||||
LOCKSHIFT)) (139 (98 66 LOCKSHIFT)) (140 (122 90 LOCKSHIFT)) (141 1SHIFTDOWN . 1SHIFTUP) (142 (46 62
|
||||
NOLOCKSHIFT)) (143 (59 58 NOLOCKSHIFT)) (144 (13 13 NOLOCKSHIFT) . IGNORE) (208 (95 94 NOLOCKSHIFT)) (
|
||||
148 (114 82 LOCKSHIFT)) (149 (116 84 LOCKSHIFT)) (150 (103 71 LOCKSHIFT)) (151 (121 89 LOCKSHIFT)) (
|
||||
152 (104 72 LOCKSHIFT)) (153 (56 42 NOLOCKSHIFT)) (154 (110 78 LOCKSHIFT)) (155 (109 77 LOCKSHIFT)) (
|
||||
156 LOCKDOWN . LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (61908 61780 LOCKSHIFT)) (159 (61925
|
||||
61797 LOCKSHIFT)) (160 2SHIFTDOWN . 2SHIFTUP)) DOVE) (STANDARD-RUSSIAN ((208 (41 40 NOLOCKSHIFT)) (171
|
||||
(10073 10025 NOLOCKSHIFT)) (100 (34 52 NOLOCKSHIFT)) (101 (47 51 NOLOCKSHIFT)) (102 (58 53
|
||||
NOLOCKSHIFT)) (103 (10085 10037 LOCKSHIFT)) (104 (44 54 NOLOCKSHIFT)) (105 (10067 10019 LOCKSHIFT)) (
|
||||
106 (10068 10020 LOCKSHIFT)) (107 (10078 10030 LOCKSHIFT)) (108 (63 57 NOLOCKSHIFT)) (109 (10077 10029
|
||||
LOCKSHIFT)) (110 (37 48 NOLOCKSHIFT)) (111 (10073 10025 LOCKSHIFT)) (112 (10071 10023 LOCKSHIFT)) (
|
||||
115 (8 8 NOLOCKSHIFT) . IGNORE) (116 (45 50 NOLOCKSHIFT)) (117 (61352 49 NOLOCKSHIFT)) (118 (10088
|
||||
10040 LOCKSHIFT)) (119 (10075 10027 LOCKSHIFT)) (120 (10093 10045 LOCKSHIFT)) (121 (10086 10038
|
||||
LOCKSHIFT)) (122 (95 56 NOLOCKSHIFT)) (123 (10090 10042 LOCKSHIFT)) (124 (10089 10041 LOCKSHIFT)) (125
|
||||
(10091 10043 LOCKSHIFT)) (126 (10069 10021 LOCKSHIFT)) (127 (10066 10018 LOCKSHIFT)) (171 (10095
|
||||
10047 LOCKSHIFT)) (129 (10092 10044 LOCKSHIFT)) (132 (167 43 NOLOCKSHIFT)) (165 (27 27 NOLOCKSHIFT) .
|
||||
IGNORE) (134 (9 9 NOLOCKSHIFT) . IGNORE) (135 (10065 10017 LOCKSHIFT)) (137 (10083 10035 LOCKSHIFT)) (
|
||||
138 (10080 10032 LOCKSHIFT)) (139 (10074 10026 LOCKSHIFT)) (140 (10097 10049 LOCKSHIFT)) (141
|
||||
1SHIFTDOWN . 1SHIFTUP) (142 (10096 10048 LOCKSHIFT)) (143 (10072 10024 LOCKSHIFT)) (144 (13 13
|
||||
NOLOCKSHIFT) . IGNORE) (208 (41 40 NOLOCKSHIFT)) (148 (10076 10028 LOCKSHIFT)) (149 (10070 10022
|
||||
LOCKSHIFT)) (150 (10081 10033 LOCKSHIFT)) (151 (10079 10031 LOCKSHIFT)) (152 (10082 10034 LOCKSHIFT))
|
||||
(153 (46 55 NOLOCKSHIFT)) (154 (10084 10036 LOCKSHIFT)) (155 (10094 10046 LOCKSHIFT)) (156 LOCKDOWN .
|
||||
LOCKUP) (157 (32 32 NOLOCKSHIFT) . IGNORE) (158 (10087 10039 LOCKSHIFT)) (159 (33 61 NOLOCKSHIFT)) (
|
||||
160 2SHIFTDOWN . 2SHIFTUP)) DOVE))
|
||||
@@ -1,12 +1,13 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
|
||||
|
||||
(FILECREATED "19-Jul-2023 09:30:47" |{WMEDLEY}<library>FILEBROWSER.;25| 265978
|
||||
(FILECREATED " 4-Nov-2023 23:55:27" |{WMEDLEY}<library>FILEBROWSER.;27| 266102
|
||||
|
||||
:EDIT-BY |rmk|
|
||||
|
||||
:CHANGES-TO (VARS FILEBROWSERCOMS)
|
||||
(FNS FB.EDITCOMMAND.ONEFILE)
|
||||
|
||||
:PREVIOUS-DATE "18-Jul-2023 22:19:30" |{WMEDLEY}<library>FILEBROWSER.;24|)
|
||||
:PREVIOUS-DATE " 4-Nov-2023 23:50:29" |{WMEDLEY}<library>FILEBROWSER.;26|)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT FILEBROWSERCOMS)
|
||||
@@ -41,7 +42,8 @@
|
||||
(FB.OVERFLOW.MAXABSOLUTE 30)
|
||||
(FB.OVERFLOW.MAXFRAC 0.06)
|
||||
(FB.DEFAULT.EDITOR 'TEDIT)
|
||||
(FB.DEFAULT.INFO '(SIZE CREATIONDATE AUTHOR)))
|
||||
(FB.DEFAULT.INFO '(SIZE CREATIONDATE AUTHOR))
|
||||
(FB.SEE.METHODS))
|
||||
(APPENDVARS (FONTVARS (FB.ICONFONT LITTLEFONT)
|
||||
(FB.BROWSERFONT DEFAULTFONT)
|
||||
(FB.PROMPTFONT LITTLEFONT)
|
||||
@@ -295,6 +297,8 @@ DOCOPY
|
||||
|
||||
(RPAQ? FB.DEFAULT.INFO '(SIZE CREATIONDATE AUTHOR))
|
||||
|
||||
(RPAQ? FB.SEE.METHODS )
|
||||
|
||||
(APPENDTOVAR FONTVARS (FB.ICONFONT LITTLEFONT)
|
||||
(FB.BROWSERFONT DEFAULTFONT)
|
||||
(FB.PROMPTFONT LITTLEFONT)
|
||||
@@ -1697,10 +1701,9 @@ Your deletions are thus ignored.")))
|
||||
ELSE (FB.FASTSEECOMMAND BROWSER KEY ITEM MENU)))))
|
||||
|
||||
(FB.EDITCOMMAND.ONEFILE
|
||||
(LAMBDA (BROWSER FILE OPTION ITEM MENU) (* \;
|
||||
"Edited 19-Sep-2021 18:07 by rmk:")
|
||||
(* \;
|
||||
"Edited 27-Feb-2021 20:07 by rmk:")
|
||||
(LAMBDA (BROWSER FILE OPTION ITEM MENU) (* \; "Edited 4-Nov-2023 23:55 by rmk")
|
||||
(* \; "Edited 19-Sep-2021 18:07 by rmk:")
|
||||
(* \; "Edited 27-Feb-2021 20:07 by rmk:")
|
||||
(* \; "Edited 1-Feb-88 19:00 by bvm:")
|
||||
|
||||
(* |;;| "Called when we know that FILE is a file, not a directory, and that TEDIT exists. If OPTION is READONLY, we don't want to edit, just view. .")
|
||||
@@ -1717,25 +1720,26 @@ Your deletions are thus ignored.")))
|
||||
(* |;;| "The particular item may be a subitem of the EDIT or SEE menu item, in which case we want to unshade that too. Seems a little bruteforce")
|
||||
|
||||
(CL:UNLESS (MEMBER ITEM (FETCH (MENU ITEMS) OF MENU))
|
||||
(FOR I IN (FETCH (MENU ITEMS) OF MENU)
|
||||
WHEN (MEMBER ITEM (CDR (SASSOC 'SUBITEMS I))) DO (SHADEITEM I MENU
|
||||
FB.ITEMUNSELECTEDSHADE)
|
||||
(PUTMENUPROP MENU 'ITEMSHADE
|
||||
(CONS I
|
||||
FB.ITEMUNSELECTEDSHADE
|
||||
))))
|
||||
(FOR I IN (FETCH (MENU ITEMS) OF MENU) WHEN (MEMBER ITEM (CDR (SASSOC 'SUBITEMS I)))
|
||||
DO (SHADEITEM I MENU FB.ITEMUNSELECTEDSHADE)
|
||||
(PUTMENUPROP MENU 'ITEMSHADE (CONS I FB.ITEMUNSELECTEDSHADE))))
|
||||
(CL:MULTIPLE-VALUE-BIND (IGNORE CONDITION)
|
||||
(IGNORE-ERRORS (SELECTQ OPTION
|
||||
(READONLY (TEDIT-SEE FILE))
|
||||
(READONLY (|for| SM |in| FB.SEE.METHODS
|
||||
|when| (APPLY* (CAR SM)
|
||||
FILE)
|
||||
|do| (RETURN (APPLY* (CADR SM)
|
||||
FILE))
|
||||
|finally| (RETURN (TEDIT-SEE FILE))))
|
||||
(LISP (* \;
|
||||
"Original code allowed OPTION=NIL in thie branch, but NIL should have been coerced to TEDIT above.")
|
||||
"Original code allowed OPTION=NIL in thie branch, but NIL should have been coerced to TEDIT above.")
|
||||
|
||||
(* |;;| "Asks to load prop and edits the coms, presumably with SEDIT. We really don't want to use a text editor on a source file.")
|
||||
|
||||
(IF (LISPSOURCEFILEP FILE)
|
||||
THEN (FB.EDITLISPFILE FILE BROWSER)
|
||||
ELSE (FB.PROMPTW.FORMAT BROWSER
|
||||
"Failed because not a Lisp source file")))
|
||||
"Failed because not a Lisp source file")))
|
||||
(PROGN
|
||||
(* |;;| "Might just be a call to TEDIT (if OPTION = TEDIT)")
|
||||
|
||||
@@ -4246,51 +4250,51 @@ then click Recompute"))))
|
||||
(ADDTOVAR LAMA FB.PROMPTW.FORMAT FB.PROMPTWPRINT)
|
||||
)
|
||||
(DECLARE\: DONTCOPY
|
||||
(FILEMAP (NIL (31814 54695 (FB 31824 . 32959) (FB.COPYBINARYCOMMAND 32961 . 33307) (FB.COPYTEXTCOMMAND
|
||||
33309 . 33651) (FILEBROWSER 33653 . 46759) (FB.TABLEBROWSER 46761 . 46978) (FB.SELECTEDFILES 46980 .
|
||||
47617) (FB.FETCHFILENAME 47619 . 48011) (FB.DIRECTORYP 48013 . 48407) (FB.PROMPTWPRINT 48409 . 49455)
|
||||
(FB.PROMPTW.FORMAT 49457 . 50194) (FB.PROMPTFORINPUT 50196 . 52448) (FB.YES-OR-NO-P 52450 . 53484) (
|
||||
FB.ALLOW.ABORT 53486 . 54340) (\\FB.HARDCOPY.TOFILE.EXTENSION 54342 . 54693)) (54719 55672 (FB.STARTUP
|
||||
54729 . 55244) (FB.MAKERIGIDWINDOW 55246 . 55670)) (55673 61156 (FB.PRINTFN 55683 . 60836) (FB.COPYFN
|
||||
60838 . 61154)) (61206 67546 (FB.MENU.WHENSELECTEDFN 61216 . 61574) (FB.COMMANDSELECTEDFN 61576 .
|
||||
63115) (FB.SUBITEMP 63117 . 63718) (FB.MAKE.BROWSER.BUSY 63720 . 64524) (FB.FINISH.COMMAND 64526 .
|
||||
66557) (FB.HANDLE.ABORT.BUTTON 66559 . 67544)) (67547 73063 (FB.DELETECOMMAND 67557 . 67838) (
|
||||
FB.DELVERCOMMAND 67840 . 71033) (FB.IS.NOT.SUBDIRECTORY.ITEM 71035 . 71216) (FB.DELVER.FILES 71218 .
|
||||
72307) (FB.DELETE.FILE 72309 . 73061)) (73064 74389 (FB.UNDELETECOMMAND 73074 . 73359) (
|
||||
FB.UNDELETEALLCOMMAND 73361 . 73640) (FB.UNDELETE.FILE 73642 . 74387)) (74390 98571 (FB.COPYCOMMAND
|
||||
74400 . 74669) (FB.RENAMECOMMAND 74671 . 74946) (FB.COPY/RENAME.COMMAND 74948 . 75871) (
|
||||
FB.COPY/RENAME.ONE 75873 . 78195) (FB.COPY/RENAME.MANY 78197 . 84417) (FB.MERGE.DIRECTORIES 84419 .
|
||||
84837) (FB.GREATEST.PREFIX 84839 . 86195) (FB.MAYBE.INSERT.FILE 86197 . 93637) (FB.GET.NEW.FILE.SPEC
|
||||
93639 . 97470) (FB.CANONICAL.DIRECTORY 97472 . 98569)) (98572 106356 (FB.HARDCOPYCOMMAND 98582 . 99712
|
||||
) (FB.HARDCOPY.TOFILE 99714 . 106354)) (106357 116556 (FB.EDITCOMMAND 106367 . 107234) (
|
||||
FB.EDITCOMMAND.ONEFILE 107236 . 110640) (FB.EDITLISPFILE 110642 . 111747) (FB.BROWSECOMMAND 111749 .
|
||||
116554)) (116557 128478 (FB.FASTSEECOMMAND 116567 . 120017) (FB.FASTSEE.ONEFILE 120019 . 123176) (
|
||||
FB.SEEFULLFN 123178 . 127309) (FB.SEEBUTTONFN 127311 . 128476)) (128479 130225 (FB.LOADCOMMAND 128489
|
||||
. 128996) (FB.COMPILECOMMAND 128998 . 129536) (FB.OPERATE.ON.FILES 129538 . 130223)) (130226 178411 (
|
||||
FB.UPDATECOMMAND 130236 . 130461) (FB.FIX-DIRECTORY-DATES 130463 . 131486) (FB.MAYBE.EXPUNGE 131488 .
|
||||
132549) (FB.UPDATEBROWSERITEMS 132551 . 145766) (FB.DATE 145768 . 146409) (FB.ADJUST.DATE.WIDTH 146411
|
||||
. 149379) (FB.SET.BROWSER.TITLE 149381 . 150383) (FB.MAYBE.WIDEN.NAMES 150385 . 152504) (
|
||||
FB.SET.DEFAULT.NAME.WIDTH 152506 . 153870) (FB.CREATE.FILEBUCKET 153872 . 161092) (
|
||||
FB.CHECK.NAME.LENGTH 161094 . 163515) (FB.ADD.FILEGROUP 163517 . 165044) (FB.INSERT.DIRECTORY 165046
|
||||
. 165284) (FB.MAKE.SUBDIRECTORY.ITEM 165286 . 166695) (FB.ADD.FILE 166697 . 167310) (FB.INSERT.FILE
|
||||
167312 . 170724) (FB.ANALYZE.PATTERN 170726 . 175990) (FB.CANONICALIZE.PATTERN 175992 . 177304) (
|
||||
FB.GETALLFILEINFO 177306 . 178409)) (178412 186571 (FB.SORT.VERSIONS 178422 . 181193) (
|
||||
FB.DECREASING.VERSION 181195 . 181864) (FB.INCREASING.VERSION 181866 . 182487) (
|
||||
FB.NAMES.DECREASING.VERSION 182489 . 183524) (FB.NAMES.INCREASING.VERSION 183526 . 184523) (
|
||||
FB.DECREASING.NUMERIC.ATTR 184525 . 185205) (FB.INCREASING.NUMERIC.ATTR 185207 . 185881) (
|
||||
FB.ALPHABETIC.ATTR 185883 . 186569)) (186572 196414 (FB.SORTCOMMAND 186582 . 193412) (
|
||||
FB.INSERT.SUBDIRECTORIES 193414 . 194211) (FB.GET.SORT.MENU 194213 . 196412)) (196415 212636 (
|
||||
FB.EXPUNGECOMMAND 196425 . 199010) (FB.NEWPATTERNCOMMAND 199012 . 199410) (FB.NEWINFOCOMMAND 199412 .
|
||||
202244) (FB.DEPTHCOMMAND 202246 . 204021) (FB.SHAPECOMMAND 204023 . 207365) (FB.REMOVE.FILE 207367 .
|
||||
209188) (FB.COUNT.FILE.CHANGE 209190 . 210635) (FB.SETNEWPATTERN 210637 . 211807) (FB.GET.NEWPATTERN
|
||||
211809 . 212393) (FB.OPTIONSCOMMAND 212395 . 212634)) (212671 213724 (FB.GETWINDOW 212681 . 213722)) (
|
||||
213725 214737 (FB.INFOMENU.SHADEINITIALSELECTIONS 213735 . 214382) (FB.INFO.ITEM.NAMED 214384 . 214735
|
||||
)) (214738 224270 (FB.MAKECOUNTERWINDOW 214748 . 216276) (FB.COUNTERW.REDISPLAYFN 216278 . 216865) (
|
||||
FB.UPDATE.COUNTERS 216867 . 218939) (FB.DISPLAY.COUNTERS 218941 . 224001) (FB.COUNTER.STRING 224003 .
|
||||
224268)) (224271 228980 (FB.MAKEHEADINGWINDOW 224281 . 225895) (FB.HEADINGW.REDISPLAYFN 225897 .
|
||||
226163) (FB.HEADINGW.RESHAPEFN 226165 . 226541) (FB.HEADINGW.DISPLAY 226543 . 228978)) (228981 233164
|
||||
(FB.ICONFN 228991 . 229338) (FB.INFOMENU.WHENSELECTEDFN 229340 . 230070) (FB.CLOSEFN 230072 . 231275)
|
||||
(FB.EXPUNGE?.MENU 231277 . 231689) (FB.AFTERCLOSEFN 231691 . 232052) (FB.CLOSE&EXPUNGE 232054 . 233162
|
||||
)) (233165 245223 (FB.HARDCOPY.DIRECTORY 233175 . 243532) (FB.HARDCOPY.PRINT.TITLE 243534 . 243860) (
|
||||
FB.HARDCOPY.MAXWIDTH 243862 . 245221)))))
|
||||
(FILEMAP (NIL (31928 54809 (FB 31938 . 33073) (FB.COPYBINARYCOMMAND 33075 . 33421) (FB.COPYTEXTCOMMAND
|
||||
33423 . 33765) (FILEBROWSER 33767 . 46873) (FB.TABLEBROWSER 46875 . 47092) (FB.SELECTEDFILES 47094 .
|
||||
47731) (FB.FETCHFILENAME 47733 . 48125) (FB.DIRECTORYP 48127 . 48521) (FB.PROMPTWPRINT 48523 . 49569)
|
||||
(FB.PROMPTW.FORMAT 49571 . 50308) (FB.PROMPTFORINPUT 50310 . 52562) (FB.YES-OR-NO-P 52564 . 53598) (
|
||||
FB.ALLOW.ABORT 53600 . 54454) (\\FB.HARDCOPY.TOFILE.EXTENSION 54456 . 54807)) (54833 55786 (FB.STARTUP
|
||||
54843 . 55358) (FB.MAKERIGIDWINDOW 55360 . 55784)) (55787 61270 (FB.PRINTFN 55797 . 60950) (FB.COPYFN
|
||||
60952 . 61268)) (61320 67660 (FB.MENU.WHENSELECTEDFN 61330 . 61688) (FB.COMMANDSELECTEDFN 61690 .
|
||||
63229) (FB.SUBITEMP 63231 . 63832) (FB.MAKE.BROWSER.BUSY 63834 . 64638) (FB.FINISH.COMMAND 64640 .
|
||||
66671) (FB.HANDLE.ABORT.BUTTON 66673 . 67658)) (67661 73177 (FB.DELETECOMMAND 67671 . 67952) (
|
||||
FB.DELVERCOMMAND 67954 . 71147) (FB.IS.NOT.SUBDIRECTORY.ITEM 71149 . 71330) (FB.DELVER.FILES 71332 .
|
||||
72421) (FB.DELETE.FILE 72423 . 73175)) (73178 74503 (FB.UNDELETECOMMAND 73188 . 73473) (
|
||||
FB.UNDELETEALLCOMMAND 73475 . 73754) (FB.UNDELETE.FILE 73756 . 74501)) (74504 98685 (FB.COPYCOMMAND
|
||||
74514 . 74783) (FB.RENAMECOMMAND 74785 . 75060) (FB.COPY/RENAME.COMMAND 75062 . 75985) (
|
||||
FB.COPY/RENAME.ONE 75987 . 78309) (FB.COPY/RENAME.MANY 78311 . 84531) (FB.MERGE.DIRECTORIES 84533 .
|
||||
84951) (FB.GREATEST.PREFIX 84953 . 86309) (FB.MAYBE.INSERT.FILE 86311 . 93751) (FB.GET.NEW.FILE.SPEC
|
||||
93753 . 97584) (FB.CANONICAL.DIRECTORY 97586 . 98683)) (98686 106470 (FB.HARDCOPYCOMMAND 98696 . 99826
|
||||
) (FB.HARDCOPY.TOFILE 99828 . 106468)) (106471 116680 (FB.EDITCOMMAND 106481 . 107348) (
|
||||
FB.EDITCOMMAND.ONEFILE 107350 . 110764) (FB.EDITLISPFILE 110766 . 111871) (FB.BROWSECOMMAND 111873 .
|
||||
116678)) (116681 128602 (FB.FASTSEECOMMAND 116691 . 120141) (FB.FASTSEE.ONEFILE 120143 . 123300) (
|
||||
FB.SEEFULLFN 123302 . 127433) (FB.SEEBUTTONFN 127435 . 128600)) (128603 130349 (FB.LOADCOMMAND 128613
|
||||
. 129120) (FB.COMPILECOMMAND 129122 . 129660) (FB.OPERATE.ON.FILES 129662 . 130347)) (130350 178535 (
|
||||
FB.UPDATECOMMAND 130360 . 130585) (FB.FIX-DIRECTORY-DATES 130587 . 131610) (FB.MAYBE.EXPUNGE 131612 .
|
||||
132673) (FB.UPDATEBROWSERITEMS 132675 . 145890) (FB.DATE 145892 . 146533) (FB.ADJUST.DATE.WIDTH 146535
|
||||
. 149503) (FB.SET.BROWSER.TITLE 149505 . 150507) (FB.MAYBE.WIDEN.NAMES 150509 . 152628) (
|
||||
FB.SET.DEFAULT.NAME.WIDTH 152630 . 153994) (FB.CREATE.FILEBUCKET 153996 . 161216) (
|
||||
FB.CHECK.NAME.LENGTH 161218 . 163639) (FB.ADD.FILEGROUP 163641 . 165168) (FB.INSERT.DIRECTORY 165170
|
||||
. 165408) (FB.MAKE.SUBDIRECTORY.ITEM 165410 . 166819) (FB.ADD.FILE 166821 . 167434) (FB.INSERT.FILE
|
||||
167436 . 170848) (FB.ANALYZE.PATTERN 170850 . 176114) (FB.CANONICALIZE.PATTERN 176116 . 177428) (
|
||||
FB.GETALLFILEINFO 177430 . 178533)) (178536 186695 (FB.SORT.VERSIONS 178546 . 181317) (
|
||||
FB.DECREASING.VERSION 181319 . 181988) (FB.INCREASING.VERSION 181990 . 182611) (
|
||||
FB.NAMES.DECREASING.VERSION 182613 . 183648) (FB.NAMES.INCREASING.VERSION 183650 . 184647) (
|
||||
FB.DECREASING.NUMERIC.ATTR 184649 . 185329) (FB.INCREASING.NUMERIC.ATTR 185331 . 186005) (
|
||||
FB.ALPHABETIC.ATTR 186007 . 186693)) (186696 196538 (FB.SORTCOMMAND 186706 . 193536) (
|
||||
FB.INSERT.SUBDIRECTORIES 193538 . 194335) (FB.GET.SORT.MENU 194337 . 196536)) (196539 212760 (
|
||||
FB.EXPUNGECOMMAND 196549 . 199134) (FB.NEWPATTERNCOMMAND 199136 . 199534) (FB.NEWINFOCOMMAND 199536 .
|
||||
202368) (FB.DEPTHCOMMAND 202370 . 204145) (FB.SHAPECOMMAND 204147 . 207489) (FB.REMOVE.FILE 207491 .
|
||||
209312) (FB.COUNT.FILE.CHANGE 209314 . 210759) (FB.SETNEWPATTERN 210761 . 211931) (FB.GET.NEWPATTERN
|
||||
211933 . 212517) (FB.OPTIONSCOMMAND 212519 . 212758)) (212795 213848 (FB.GETWINDOW 212805 . 213846)) (
|
||||
213849 214861 (FB.INFOMENU.SHADEINITIALSELECTIONS 213859 . 214506) (FB.INFO.ITEM.NAMED 214508 . 214859
|
||||
)) (214862 224394 (FB.MAKECOUNTERWINDOW 214872 . 216400) (FB.COUNTERW.REDISPLAYFN 216402 . 216989) (
|
||||
FB.UPDATE.COUNTERS 216991 . 219063) (FB.DISPLAY.COUNTERS 219065 . 224125) (FB.COUNTER.STRING 224127 .
|
||||
224392)) (224395 229104 (FB.MAKEHEADINGWINDOW 224405 . 226019) (FB.HEADINGW.REDISPLAYFN 226021 .
|
||||
226287) (FB.HEADINGW.RESHAPEFN 226289 . 226665) (FB.HEADINGW.DISPLAY 226667 . 229102)) (229105 233288
|
||||
(FB.ICONFN 229115 . 229462) (FB.INFOMENU.WHENSELECTEDFN 229464 . 230194) (FB.CLOSEFN 230196 . 231399)
|
||||
(FB.EXPUNGE?.MENU 231401 . 231813) (FB.AFTERCLOSEFN 231815 . 232176) (FB.CLOSE&EXPUNGE 232178 . 233286
|
||||
)) (233289 245347 (FB.HARDCOPY.DIRECTORY 233299 . 243656) (FB.HARDCOPY.PRINT.TITLE 243658 . 243984) (
|
||||
FB.HARDCOPY.MAXWIDTH 243986 . 245345)))))
|
||||
STOP
|
||||
|
||||
40
library/FX-80Driver.tedit
Normal file
BIN
library/HRule.tedit
Normal file
BIN
library/Kermit.tedit
Normal file
BIN
library/KeyboardEditor.tedit
Normal file
45
library/Match.tedit
Normal file
BIN
library/MiniServe.tedit
Normal file
BIN
library/NSMaintain.tedit
Normal file
287
library/PDFSTREAM
Normal file
@@ -0,0 +1,287 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "11-Nov-2023 11:24:42" {WMEDLEY}<library>PDFSTREAM.;56 14033
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (VARS PDFSTREAMCOMS)
|
||||
|
||||
:PREVIOUS-DATE " 9-Oct-2023 00:42:25" {WMEDLEY}<library>PDFSTREAM.;55)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT PDFSTREAMCOMS)
|
||||
|
||||
(RPAQQ PDFSTREAMCOMS
|
||||
((FILES (SYSLOAD)
|
||||
POSTSCRIPTSTREAM)
|
||||
[COMS (* ; "Hook into hardcopy interface")
|
||||
[ADDVARS [PRINTERTYPES ((PDF)
|
||||
(CANPRINT (PDF))
|
||||
(STATUS TRUE)
|
||||
(PROPERTIES NILL)
|
||||
(SEND POSTSCRIPTSEND)
|
||||
(BITMAPSCALE POSTSCRIPT.BITMAPSCALE)
|
||||
(BITMAPFILE (PDF.HARDCOPYW FILE BITMAP SCALEFACTOR REGION
|
||||
ROTATION TITLE]
|
||||
[PRINTFILETYPES (PDF (TEST PDFFILEP)
|
||||
(EXTENSION (PDF))
|
||||
(CONVERSION (TEXT PDF.TEXT TEDIT PDF.TEDIT]
|
||||
(IMAGESTREAMTYPES (PDF (OPENSTREAM OPEN-PDF-STREAM)
|
||||
(FONTCREATE POSTSCRIPT.FONTCREATE)
|
||||
(FONTSAVAILABLE POSTSCRIPT.FONTSAVAILABLE)
|
||||
(CREATECHARSET \CREATECHARSET.PSC]
|
||||
(VARS (DEFAULTPRINTERTYPE 'PDF))
|
||||
(FNS PDFFILEP PDF.HARDCOPYW PDF.TEXT PDF.TEDIT)
|
||||
(P (FONTPROFILE.ADDDEVICE 'PDF 'POSTSCRIPT]
|
||||
|
||||
(* ;; "")
|
||||
|
||||
|
||||
(* ;; "Implementation of PDF streams")
|
||||
|
||||
(INITVARS (PDFCONVERTER NIL))
|
||||
(* ; "Mac with ghostscript?")
|
||||
(ALISTS (PDF-CONVERTER-TEMPLATES ps2pdf pstopdf))
|
||||
(GLOBALVARS PDFCONVERTER PDF-CONVERTER-TEMPLATES)
|
||||
(FNS OPEN-PDF-STREAM CLOSE-PDF-STREAM PS-TO-PDF)
|
||||
(FNS SEE-PDF)
|
||||
(ADDVARS (FB.SEE.METHODS (PDFFILEP SEE-PDF)))
|
||||
(FNS PDFCONVERTER)))
|
||||
|
||||
(FILESLOAD (SYSLOAD)
|
||||
POSTSCRIPTSTREAM)
|
||||
|
||||
|
||||
|
||||
(* ; "Hook into hardcopy interface")
|
||||
|
||||
|
||||
(ADDTOVAR PRINTERTYPES ((PDF)
|
||||
(CANPRINT (PDF))
|
||||
(STATUS TRUE)
|
||||
(PROPERTIES NILL)
|
||||
(SEND POSTSCRIPTSEND)
|
||||
(BITMAPSCALE POSTSCRIPT.BITMAPSCALE)
|
||||
(BITMAPFILE (PDF.HARDCOPYW FILE BITMAP SCALEFACTOR REGION ROTATION TITLE))))
|
||||
|
||||
(ADDTOVAR PRINTFILETYPES (PDF (TEST PDFFILEP)
|
||||
(EXTENSION (PDF))
|
||||
(CONVERSION (TEXT PDF.TEXT TEDIT PDF.TEDIT))))
|
||||
|
||||
(ADDTOVAR IMAGESTREAMTYPES (PDF (OPENSTREAM OPEN-PDF-STREAM)
|
||||
(FONTCREATE POSTSCRIPT.FONTCREATE)
|
||||
(FONTSAVAILABLE POSTSCRIPT.FONTSAVAILABLE)
|
||||
(CREATECHARSET \CREATECHARSET.PSC)))
|
||||
|
||||
(RPAQQ DEFAULTPRINTERTYPE PDF)
|
||||
(DEFINEQ
|
||||
|
||||
(PDFFILEP
|
||||
[LAMBDA (FILE) (* ; "Edited 23-Jun-2023 14:43 by rmk")
|
||||
(* ; "Edited 5-Mar-93 21:40 by rmk:")
|
||||
(* ; "Edited 14-Jan-93 10:56 by jds")
|
||||
(OR (CL:MEMBER (UNPACKFILENAME.STRING FILE 'EXTENSION)
|
||||
'("PDF")
|
||||
:TEST
|
||||
(FUNCTION STRING-EQUAL))
|
||||
(CL:WHEN (STREAMP FILE)
|
||||
(SETFILEPTR FILE 0)
|
||||
(PROG1 (AND (EQ (BIN FILE)
|
||||
(CHARCODE %%))
|
||||
(EQ (BIN FILE)
|
||||
(CHARCODE P))
|
||||
(EQ (BIN FILE)
|
||||
(CHARCODE D))
|
||||
(EQ (BIN FILE)
|
||||
(CHARCODE F)))
|
||||
(SETFILEPTR FILE 0)))])
|
||||
|
||||
(PDF.HARDCOPYW
|
||||
[LAMBDA (PDFFILE BITMAP SCALEFACTOR REGION Landscape? TITLE)
|
||||
(* ; "Edited 24-Jul-2023 10:37 by rmk")
|
||||
(* ; "Edited 23-Jun-2023 13:28 by rmk")
|
||||
(* ; "Edited 6-Mar-2023 22:43 by rmk")
|
||||
(LET ((PSTTMP (PACKFILENAME 'EXTENSION 'TMPPS 'BODY PDFFILE)))
|
||||
(PS-TO-PDF (POSTSCRIPT.HARDCOPYW PSTTMP BITMAP SCALEFACTOR REGION Landscape? TITLE)
|
||||
PDFFILE])
|
||||
|
||||
(PDF.TEXT
|
||||
[LAMBDA (FILE PDFFILE FONTS HEADING TABS) (* ; "Edited 1-Oct-2023 15:24 by rmk")
|
||||
(* ; "Edited 23-Jun-2023 13:23 by rmk")
|
||||
(* ; "Edited 7-Mar-2023 08:39 by rmk")
|
||||
(TEXTTOIMAGEFILE FILE PDFFILE 'PDF FONTS HEADING TABS `(REGION ,POSTSCRIPT.DEFAULT.PAGEREGION
|
||||
ROTATION ,(NOT (NOT
|
||||
POSTSCRIPT.TEXTFILE.LANDSCAPE
|
||||
])
|
||||
|
||||
(PDF.TEDIT
|
||||
[LAMBDA (FILE PDFFILE) (* ; "Edited 23-Jun-2023 13:22 by rmk")
|
||||
(* ; "Edited 7-Mar-2023 08:39 by rmk")
|
||||
(LET ((TSTREAM (OPENTEXTSTREAM FILE)))
|
||||
(TEDIT.FORMAT.HARDCOPY FILE PDFFILE T NIL NIL NIL 'PDF)
|
||||
(CLOSEF TSTREAM])
|
||||
)
|
||||
|
||||
(FONTPROFILE.ADDDEVICE 'PDF 'POSTSCRIPT)
|
||||
|
||||
|
||||
|
||||
(* ;; "")
|
||||
|
||||
|
||||
|
||||
|
||||
(* ;; "Implementation of PDF streams")
|
||||
|
||||
|
||||
(RPAQ? PDFCONVERTER NIL)
|
||||
|
||||
|
||||
|
||||
(* ; "Mac with ghostscript?")
|
||||
|
||||
|
||||
(ADDTOVAR PDF-CONVERTER-TEMPLATES (ps2pdf " " PSFILE " " PDFFILE " 2> " ERRORFILE)
|
||||
(pstopdf " " PSFILE " -o " PDFFILE " 2> " ERRORFILE))
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(GLOBALVARS PDFCONVERTER PDF-CONVERTER-TEMPLATES)
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(OPEN-PDF-STREAM
|
||||
[LAMBDA (FILE OPTIONS) (* ; "Edited 23-Sep-2023 15:38 by rmk")
|
||||
(* ; "Edited 22-Sep-2023 11:04 by rmk")
|
||||
(* ; "Edited 24-Jun-2023 14:49 by rmk")
|
||||
|
||||
(* ;; "Open a temporary PS file, but set it up so that at closing it gets converted to PDF using an operating-system utility (if available), and then gets renamed to the original intended filename.")
|
||||
|
||||
(* ;; "We have to stash the original filename someplace. We could put it in the tmp filename and then parse it out, but then we would have to worry about how unix filenames might parse against our {, }, etc. ")
|
||||
|
||||
(* ;;
|
||||
"Simplest thing for now is to just add an extra field at the end of the \POSTSCRIPTDATA record.")
|
||||
|
||||
(* ;; "")
|
||||
|
||||
(if [AND NIL (EQ 'LPT (FILENAMEFIELD FILE 'HOST]
|
||||
then
|
||||
(* ;; "If FILE is on the LPT device, we could just ssume that it can be printed directly, no point in converting. But then we would alo have to lie and give it a PDF extension so it thinks that we are heading to a PDF printer.")
|
||||
|
||||
(OPENPOSTSCRIPTSTREAM FILE OPTIONS)
|
||||
else (CL:UNLESS (ASSOC (PDFCONVERTER)
|
||||
PDF-CONVERTER-TEMPLATES)
|
||||
(ERROR "A specified POSTSCRIPT-to-PDF converter cannot be found"))
|
||||
(SETQ FILE (OR (AND (NEQ FILE T)
|
||||
(OUTFILEP FILE))
|
||||
(ERROR "PDF target file not found" FILE)))
|
||||
(LET ((PSSTREAM (OPENPOSTSCRIPTSTREAM (CONCAT "{UNIX}/tmp/medley-pdf-" (IDATE)
|
||||
"-"
|
||||
(RAND)
|
||||
".ps")
|
||||
OPTIONS)))
|
||||
(STREAMPROP PSSTREAM 'AFTERCLOSE (CONS (FUNCTION CLOSE-PDF-STREAM)))
|
||||
(STREAMPROP PSSTREAM 'PDFTARGETINFO FILE)
|
||||
PSSTREAM])
|
||||
|
||||
(CLOSE-PDF-STREAM
|
||||
[LAMBDA (PSSTREAM) (* ; "Edited 22-Sep-2023 11:18 by rmk")
|
||||
(* ; "Edited 24-Jul-2023 10:37 by rmk")
|
||||
(* ; "Edited 17-Jul-2023 22:32 by rmk")
|
||||
(* ; "Edited 24-Jun-2023 13:57 by rmk")
|
||||
|
||||
(* ;; "PSSTREAM is a postscript (maybe in tmp) rendition of what is intended to end up as a pdf. If we are going directly to a printer, we can probably just pass it along without worrying about conversion. In fact, in that case we probably should not have bothered even setting up the PDF stream.")
|
||||
|
||||
(* ;; "But for a file we execute the PDFCONVERTER as a shell command to make a pdf, and then we rename it to the intended filename")
|
||||
|
||||
(STREAMPROP PSSTREAM 'AFTERCLOSE NIL) (* ;
|
||||
"Maybe just remove only CLOSE-PDF-STREAMfrom the list?")
|
||||
(LET ((TARGETINFO (STREAMPROP PSSTREAM 'PDFTARGETINFO NIL)))
|
||||
(CL:IF TARGETINFO
|
||||
(RENAMEFILE (PS-TO-PDF PSSTREAM)
|
||||
TARGETINFO)
|
||||
PSSTREAM)])
|
||||
|
||||
(PS-TO-PDF
|
||||
[LAMBDA (PSFILE PDFFILE DONTDELETE) (* ; "Edited 1-Oct-2023 15:18 by rmk")
|
||||
(* ; "Edited 23-Sep-2023 22:54 by rmk")
|
||||
(* ; "Edited 23-Jul-2023 22:30 by rmk")
|
||||
(* ; "Edited 24-Jun-2023 15:01 by rmk")
|
||||
(* ; "Edited 16-Jul-2022 13:06 by rmk")
|
||||
(* ; "Edited 8-Jul-2022 10:20 by rmk")
|
||||
(* ; "Edited 7-May-2022 22:40 by rmk")
|
||||
(* ; "Edited 7-Oct-2021 11:15 by rmk:")
|
||||
|
||||
(* ;; "PSFILE is the name of a closed PS file on a DSK/UNIX device. This function uses the PDFCONVERTER utility to convert that to a parallel pdf file, which is then renamed to PDFFILE. ")
|
||||
|
||||
(* ;; "DONTDELETE is just for debugging, keeps the /tmp/ files")
|
||||
|
||||
(SETQ PSFILE (FULLNAME (TRUEFILENAME PSFILE)))
|
||||
(CL:UNLESS (INFILEP PSFILE)
|
||||
(ERROR "NO PS FILE TO CONVERT"))
|
||||
(CL:UNLESS (ASSOC (PDFCONVERTER)
|
||||
PDF-CONVERTER-TEMPLATES)
|
||||
(ERROR "A specified POSTSCRIPT-to-PDF converter cannot be found"))
|
||||
(SETQ PDFFILE (if PDFFILE
|
||||
then (TRUEFILENAME PDFFILE)
|
||||
else (PACKFILENAME 'EXTENSION 'pdf 'BODY PSFILE)))
|
||||
(LET ((ERRORFILE (PACKFILENAME 'EXTENSION 'error 'BODY PSFILE))
|
||||
COMPLETIONCODE)
|
||||
|
||||
(* ;; "PROCESS-COMMAND is currently from GITFNS. Not sure whether ShellCommand in UNIXUTILS is appropriate.")
|
||||
|
||||
(* ;;
|
||||
"We have to map the filenames down to Unix conventions: (not pseudohost or host, slashes, etc.")
|
||||
|
||||
[SETQ COMPLETIONCODE (PROCESS-COMMAND (CONCATLIST (SUBLIS
|
||||
`((PSFILE \, (SLASHIT (TRUEFILENAME
|
||||
PSFILE)
|
||||
NIL T))
|
||||
(PDFFILE \, (SLASHIT (TRUEFILENAME
|
||||
PDFFILE)
|
||||
NIL T))
|
||||
(ERRORFILE \, (SLASHIT (TRUEFILENAME
|
||||
ERRORFILE)
|
||||
NIL T)))
|
||||
(ASSOC (PDFCONVERTER)
|
||||
PDF-CONVERTER-TEMPLATES]
|
||||
|
||||
(* ;; "Now use Medley names")
|
||||
|
||||
(CLOSEF? PSFILE)
|
||||
(CL:UNLESS DONTDELETE (DELFILE PSFILE))
|
||||
(CLOSEF? ERRORFILE)
|
||||
(CL:WHEN (INFILEP ERRORFILE)
|
||||
(CL:WHEN (IGREATERP (PROG1 (GETFILEINFO ERRORFILE 'LENGTH)
|
||||
(CL:UNLESS DONTDELETE (DELFILE ERRORFILE)))
|
||||
0)
|
||||
(ERROR "Cannot create PDF file for " PDFFILE)))
|
||||
(CL:WHEN (IGREATERP COMPLETIONCODE 0)
|
||||
(ERROR "Cannot create PDF file for " PDFFILE))
|
||||
PDFFILE])
|
||||
)
|
||||
(DEFINEQ
|
||||
|
||||
(SEE-PDF
|
||||
[LAMBDA (PDFFILE) (* ; "Edited 1-Oct-2023 20:47 by rmk")
|
||||
(* ; "Edited 26-Sep-2023 16:52 by rmk")
|
||||
|
||||
(* ;; "Use the ShellOpener for this machine to open the PDF file outside of Medley")
|
||||
|
||||
(ShellOpen (PACKFILENAME 'BODY PDFFILE 'EXTENSION 'PDF])
|
||||
)
|
||||
|
||||
(ADDTOVAR FB.SEE.METHODS (PDFFILEP SEE-PDF))
|
||||
(DEFINEQ
|
||||
|
||||
(PDFCONVERTER
|
||||
[LAMBDA NIL
|
||||
(SETQ PDFCONVERTER (OR PDFCONVERTER (MKATOM (UNIX-GETENV "MEDLEY-PDFCONVERTER"))
|
||||
(CAR (for TEMPLATE in PDF-CONVERTER-TEMPLATES
|
||||
thereis (ShellWhich (CAR TEMPLATE])
|
||||
)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (3162 5776 (PDFFILEP 3172 . 4086) (PDF.HARDCOPYW 4088 . 4686) (PDF.TEXT 4688 . 5405) (
|
||||
PDF.TEDIT 5407 . 5774)) (6216 13276 (OPEN-PDF-STREAM 6226 . 8362) (CLOSE-PDF-STREAM 8364 . 9651) (
|
||||
PS-TO-PDF 9653 . 13274)) (13277 13675 (SEE-PDF 13287 . 13673)) (13726 14010 (PDFCONVERTER 13736 .
|
||||
14008)))))
|
||||
STOP
|
||||
BIN
library/PDFSTREAM.LCOM
Normal file
BIN
library/Press.tedit
Normal file
141
library/RS232.tedit
Normal file
BIN
library/SameDir.tedit
Normal file
BIN
library/Spy.tedit
Normal file
BIN
library/SysEdit.tedit
Normal file
BIN
library/TableBrowser.tedit
Normal file
@@ -1,28 +1,41 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "18-Jan-2023 20:36:10" {DSK}<home>frank>il>medley>gmedley>library>UNIXUTILS.;7 5091
|
||||
(FILECREATED "13-Nov-2023 12:57:10" {DSK}<home>frank>il>medley>gmedley>library>UNIXUTILS.;26 16663
|
||||
|
||||
:CHANGES-TO (FNS ShellBrowser ShellBrowse ShellOpen)
|
||||
(VARS UNIXUTILSCOMS)
|
||||
(FUNCTIONS ShellWhich)
|
||||
:CHANGES-TO (FNS ShellBrowser)
|
||||
|
||||
:PREVIOUS-DATE "18-Jan-2023 13:22:28" {DSK}<home>frank>il>medley>gmedley>greetfiles>UNIXUTILS.;1
|
||||
:PREVIOUS-DATE "11-Nov-2023 09:06:39" {DSK}<home>frank>il>medley>gmedley>library>UNIXUTILS.;25
|
||||
)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT UNIXUTILSCOMS)
|
||||
|
||||
(RPAQQ UNIXUTILSCOMS ((GLOBALVARS ShellBrowser)
|
||||
(INITVARS (ShellBrowser))
|
||||
(FUNCTIONS ShellCommand ShellWhich)
|
||||
(FNS ShellBrowser ShellBrowse)))
|
||||
(RPAQQ UNIXUTILSCOMS
|
||||
((DECLARE%: EVAL@COMPILE DONTCOPY (* ; "For PROCESS-COMMAND")
|
||||
(FILES (FROM LOADUPS)
|
||||
EXPORTS.ALL))
|
||||
(GLOBALVARS ShellBrowser ShellOpener)
|
||||
(INITVARS (ShellBrowser)
|
||||
(ShellOpener))
|
||||
(FUNCTIONS ShellCommand ShellWhich)
|
||||
(ADDVARS (MEDLEY-INIT-VARS (ShellBrowser)
|
||||
(ShellOpener)))
|
||||
(FNS ShellBrowser ShellBrowse ShellOpener ShellOpen PROCESS-COMMAND SLASHIT UNIX-FILE-NAME)
|
||||
(PROPS (UNIXUTILS FILETYPE))))
|
||||
(DECLARE%: EVAL@COMPILE DONTCOPY
|
||||
|
||||
(FILESLOAD (FROM LOADUPS)
|
||||
EXPORTS.ALL)
|
||||
)
|
||||
(DECLARE%: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(GLOBALVARS ShellBrowser)
|
||||
(GLOBALVARS ShellBrowser ShellOpener)
|
||||
)
|
||||
|
||||
(RPAQ? ShellBrowser )
|
||||
|
||||
(RPAQ? ShellOpener )
|
||||
|
||||
(CL:DEFUN ShellCommand (Cmd &OPTIONAL (Output T))
|
||||
(CL:WITH-OPEN-STREAM (s (CREATE-PROCESS-STREAM Cmd))
|
||||
(CL:TAGBODY [SETFILEINFO s 'ENDOFSTREAMOP #'(CL:LAMBDA (s)
|
||||
@@ -34,62 +47,59 @@
|
||||
|
||||
(CL:DEFUN ShellWhich (Cmd) (* ; "Edited 18-Jan-2023 13:19 by FGH")
|
||||
[CL:WITH-OPEN-STREAM (S (OPENSTREAM '{NODIRCORE} 'BOTH))
|
||||
(ShellCommand (CONCAT "which " Cmd)
|
||||
(ShellCommand (CONCAT "command -v " Cmd)
|
||||
S)
|
||||
(COND
|
||||
((EQ (GETEOFPTR S)
|
||||
0)
|
||||
NIL)
|
||||
(T (SETFILEPTR S 0)
|
||||
(MKSTRING (READ S])
|
||||
(RSTRING S])
|
||||
|
||||
(ADDTOVAR MEDLEY-INIT-VARS (ShellBrowser)
|
||||
(ShellOpener))
|
||||
(DEFINEQ
|
||||
|
||||
(ShellBrowser
|
||||
[LAMBDA NIL (* ; "Edited 18-Jan-2023 20:30 by FGH")
|
||||
(OR ShellBrowser (SETQ ShellBrowser (LET (CMDPATH)
|
||||
(if (STRPOS "darwin" (OR (UNIX-GETENV "OSTYPE")
|
||||
(UNIX-GETENV "PATH")))
|
||||
then
|
||||
(* ;; " MacOS")
|
||||
|
||||
"open"
|
||||
elseif (SETQ CMDPATH (ShellWhich "wslview"))
|
||||
then
|
||||
(* ;; "windows with WSL")
|
||||
(* ;; "Figure out the browser to use for the ShellOpen/ShellBrowse functions. ")
|
||||
|
||||
CMDPATH
|
||||
elseif (SETQ CMDPATH (ShellWhich "xdg-open"))
|
||||
then
|
||||
(* ;; "Linux systems with xdg-utils installed ")
|
||||
(* ;; " Ordinarily, this would be the same as the generic ShellOpener.")
|
||||
|
||||
CMDPATH
|
||||
elseif (SETQ CMDPATH (ShellWhich "git"))
|
||||
then
|
||||
(* ;; " Systems with git installed")
|
||||
(* ;; " But if a generic ShellOpener is not found, then there are some additional")
|
||||
|
||||
(CONCAT CMDPATH " web--browse")
|
||||
(* ; "")
|
||||
elseif (SETQ CMDPATH (ShellWhich "lynx"))
|
||||
then
|
||||
(* ;; " Systems with lynx installed")
|
||||
(* ;; " possibilities that will work for http/https URLs. If one of these exists return it.")
|
||||
|
||||
(LET (CMDPATH2)
|
||||
(if (SETQ CMDPATH2 (ShellWhich "xterm"))
|
||||
then (CONCAT CMDPATH2 " -e " CMDPATH)
|
||||
else (LIST CMDPATH)))
|
||||
else
|
||||
(* ;;
|
||||
" Out of ideas - just return a dummy function")
|
||||
(OR ShellBrowser (SETQ ShellBrowser
|
||||
(if (NOT (STREQUAL (ShellOpener)
|
||||
"true"))
|
||||
then ShellOpener
|
||||
else (LET (CMDPATH)
|
||||
(if (SETQ CMDPATH (ShellWhich "git"))
|
||||
then
|
||||
(* ;; " Systems with git installed")
|
||||
|
||||
"true"])
|
||||
(CONCAT CMDPATH " web--browse")
|
||||
elseif (SETQ CMDPATH (ShellWhich "lynx"))
|
||||
then
|
||||
(* ;; " Systems with lynx installed")
|
||||
|
||||
(LET (CMDPATH2)
|
||||
(if (SETQ CMDPATH2 (ShellWhich "xterm"))
|
||||
then (CONCAT CMDPATH2 " -e " CMDPATH)
|
||||
else (LIST CMDPATH)))
|
||||
else
|
||||
(* ;; " Out of ideas - just return a dummy function")
|
||||
|
||||
"true"])
|
||||
|
||||
(ShellBrowse
|
||||
[LAMBDA (URL) (* ; "Edited 18-Jan-2023 20:32 by FGH")
|
||||
|
||||
(* ;; " Open the web page specified by URL using an external browser via shell call")
|
||||
|
||||
(* ;;
|
||||
" URL must start with http:// or https:// (case ireelevant) or this function will just return NIL.")
|
||||
(* ;; " URL must start with http:// or https:// or file:/// (case ireelevant) or this function will just return NIL.")
|
||||
|
||||
(* ;; " Returns T otherwise.")
|
||||
|
||||
@@ -97,17 +107,218 @@
|
||||
(if (OR (EQ (STRPOS "http://" (L-CASE URL))
|
||||
1)
|
||||
(EQ (STRPOS "https://" (L-CASE URL))
|
||||
1)
|
||||
(EQ (STRPOS "file:///" (L-CASE URL))
|
||||
1))
|
||||
then (ShellOpen URL)
|
||||
else NIL])
|
||||
|
||||
(ShellOpener
|
||||
[LAMBDA NIL
|
||||
|
||||
(* ;; "Find an %"opener%" that will open files (and URLs) using the appropriate/default app on this machine")
|
||||
|
||||
(OR ShellOpener (SETQ ShellOpener (LET (CMDPATH)
|
||||
(if (SETQ CMDPATH (ShellWhich "wslview"))
|
||||
then
|
||||
(* ;; "windows with WSL")
|
||||
|
||||
CMDPATH
|
||||
elseif (SETQ CMDPATH (ShellWhich "cygstart"))
|
||||
then
|
||||
(* ;; "windows with cygwin")
|
||||
|
||||
CMDPATH
|
||||
elseif (SETQ CMDPATH (ShellWhich "xdg-open"))
|
||||
then
|
||||
(* ;; "Linux systems with xdg-utils installed ")
|
||||
|
||||
CMDPATH
|
||||
elseif (SETQ CMDPATH (ShellWhich "open"))
|
||||
then
|
||||
(* ;; " MacOS open")
|
||||
|
||||
CMDPATH
|
||||
else
|
||||
(* ;;
|
||||
" Out of ideas - just return a dummy function")
|
||||
|
||||
"true"])
|
||||
|
||||
(ShellOpen
|
||||
[LAMBDA (FilenameOrURL)
|
||||
|
||||
(* ;; "Open the file or URL using the generic %"opener%" for this machine via a shell call.")
|
||||
|
||||
(* ;; " If FilenameOrURL starts with %"http://%" or %"https://%" or %"file:///%", then we use (ShellBrowser) as")
|
||||
|
||||
(* ;; " the %"opener%" (which includes some browsers on a machine without a generic opener).")
|
||||
|
||||
(* ;;
|
||||
" Otherwise FilenameOrURL is assumed to be a filename and will be opened using (ShellOpener).")
|
||||
|
||||
(* ;; " Returns T is all goes well; returns an error string if all does not go well")
|
||||
|
||||
(RANDSET T)
|
||||
(SETQ FilenameOrURL (MKSTRING FilenameOrURL))
|
||||
(if (OR (EQ (STRPOS "http://" (L-CASE FilenameOrURL))
|
||||
1)
|
||||
(EQ (STRPOS "https://" (L-CASE FilenameOrURL))
|
||||
1)
|
||||
(EQ (STRPOS "file://" (L-CASE FilenameOrURL))
|
||||
1))
|
||||
then (LET ((BROWSER (ShellBrowser)))
|
||||
(if (LISTP BROWSER)
|
||||
then (CHAT 'SHELL NIL (CONCAT (CAR BROWSER)
|
||||
" '" URL "'"))
|
||||
else (ShellCommand (CONCAT BROWSER " '" URL "'"
|
||||
" >>/tmp/ShellBrowser-warnings-$$.txt")))
|
||||
T)
|
||||
else NIL])
|
||||
(if (NOT (STREQUAL BROWSER "true"))
|
||||
then (if (LISTP BROWSER)
|
||||
then (CHAT 'SHELL NIL (CONCAT (CAR BROWSER)
|
||||
" '" FilenameOrURL "'"))
|
||||
else (ShellCommand (CONCAT BROWSER " '" FilenameOrURL "'"
|
||||
" >>/tmp/ShellBrowser-warnings-$$.txt"))
|
||||
T)
|
||||
else (CONCAT "Unable to find a browser to open: " FilenameOrURL)))
|
||||
else
|
||||
(LET*
|
||||
((OPENER (ShellOpener))
|
||||
(FULLNAME (FULLNAME FilenameOrURL)))
|
||||
(if (NOT FULLNAME)
|
||||
then (CONCAT "File not found: " FilenameOrURL)
|
||||
elseif (STREQUAL OPENER "true")
|
||||
then (CONCAT "Unable to find a file opener to open: " FilenameOrURL)
|
||||
else (LET* ((VERSION.SPECIFIED (FILENAMEFIELD FilenameOrURL 'VERSION))
|
||||
(UNPACKED (UNPACKFILENAME.STRING FULLNAME))
|
||||
(NEWNAME (CONCAT (LISTGET UNPACKED 'NAME)
|
||||
"~"
|
||||
(LISTGET UNPACKED 'VERSION)
|
||||
"~"))
|
||||
(EXTENSION (LISTGET UNPACKED 'EXTENSION))
|
||||
[UNVERSIONED (LET (FN (UNPACKED (COPY UNPACKED)))
|
||||
(LISTPUT UNPACKED 'VERSION NIL)
|
||||
(LISTPUT UNPACKED 'HOST NIL)
|
||||
(SETQ FN (PACKFILENAME.STRING UNPACKED))
|
||||
(if (STREQUAL (SUBSTRING FN -1)
|
||||
".")
|
||||
then (SETQ FN (SUBSTRING UNIXFILE 1 -2)))
|
||||
(SETQ FN (SLASHIT FN]
|
||||
(UNVERSIONED.EXISTS (INFILEP (CONCAT "{UNIX}" UNVERSIONED)))
|
||||
(TMPDIR (CONCAT "/tmp/" (RAND 1000 9999)))
|
||||
(TARGETFILE.LISP (PACKFILENAME.STRING 'HOST "{UNIX}" 'DIRECTORY TMPDIR
|
||||
'NAME NEWNAME 'EXTENSION EXTENSION))
|
||||
(TARGETFILE.UNIX (SLASHIT (PACKFILENAME.STRING 'HOST NIL 'DIRECTORY TMPDIR
|
||||
'NAME NEWNAME 'EXTENSION EXTENSION)))
|
||||
(UNIXFILE NIL))
|
||||
(DECLARE (SPECVARS UNIXFILE))
|
||||
(if (OR VERSION.SPECIFIED (NOT UNVERSIONED.EXISTS))
|
||||
then (COPYFILE FULLNAME TARGETFILE.LISP)
|
||||
(SETQ UNIXFILE TARGETFILE.UNIX)
|
||||
else (SETQ UNIXFILE UNVERSIONED))
|
||||
(CL:WITH-OPEN-STREAM
|
||||
(SHELLSTREAM (OPENSTREAM (CONCAT "{CORE}SHELLOUT" (RAND 1000 9999))
|
||||
'BOTH))
|
||||
(ShellCommand (CONCAT OPENER " '" UNIXFILE "'"
|
||||
" >>/tmp/ShellOpener-warnings-$$.txt")
|
||||
SHELLSTREAM)
|
||||
(if (EQ (GETFILEPTR SHELLSTREAM)
|
||||
0)
|
||||
then T
|
||||
else (LET* ((OUTSTRING (ALLOCSTRING (GETFILEPTR SHELLSTREAM)
|
||||
" ")))
|
||||
(CL:WITH-OPEN-STREAM (STRINGSTREAM (OPENSTRINGSTREAM OUTSTRING
|
||||
'OUTPUT))
|
||||
(SETFILEPTR SHELLSTREAM 0)
|
||||
(CL:TAGBODY [SETFILEINFO SHELLSTREAM 'ENDOFSTREAMOP
|
||||
#'(CL:LAMBDA (s)
|
||||
(GO OUT]
|
||||
(CL:LOOP (PRINTCCODE (READCCODE SHELLSTREAM)
|
||||
STRINGSTREAM))
|
||||
OUT))
|
||||
OUTSTRING])
|
||||
|
||||
(PROCESS-COMMAND
|
||||
[LAMBDA (CMD) (* ; "Edited 17-Jul-2022 08:17 by rmk")
|
||||
|
||||
(* ;; "This sets up an asynchronous process and waits until it returns with an exit code. Typically 0 means success.")
|
||||
|
||||
(CL:WITH-OPEN-STREAM (PS (CREATE-PROCESS-STREAM CMD))
|
||||
(BIND CODE WHILE (EQ T (SETQ CODE (OR (SUBRCALL UNIX-HANDLECOMM 7 (fetch (STREAM F1)
|
||||
of PS))
|
||||
0))) DO (BLOCK) FINALLY (RETURN CODE])
|
||||
|
||||
(SLASHIT
|
||||
[LAMBDA (X LCASEDIRS NOHOST) (* ; "Edited 23-Sep-2023 15:27 by rmk")
|
||||
|
||||
(* ;; "It would also be nice to use the generic unpackfilename/packfilename tools. But packfilename sticks in brackets again, and sticks a dot on when removing the version.")
|
||||
|
||||
(* ;; "Perhaps this should be a per file-device operation that maps device names into the local file system.")
|
||||
|
||||
(* ;; "This is a first approximation to a utility that converts a filename X on a host whose files physically reside in the local Unix file system into the strings that shell commands can use to reference that file. For now, this just involves replacing directory brackets with /, removing the host, and perhaps lower-casing the directory. It probably should be extended to deal with version number translation, for now it just keeps the ; version. ")
|
||||
|
||||
(LET [LASTDIRPOS SLASHED (DIRPOS (ADD1 (OR (STRPOS "}" X)
|
||||
0]
|
||||
[SETQ SLASHED (CONCATCODES (for I C from DIRPOS while (SETQ C (NTHCHARCODE X I))
|
||||
collect (SELCHARQ C
|
||||
((< >)
|
||||
(SETQ LASTDIRPOS I)
|
||||
(CHARCODE /))
|
||||
(/ (SETQ LASTDIRPOS I)
|
||||
C)
|
||||
C]
|
||||
(CL:WHEN (AND LCASEDIRS LASTDIRPOS)
|
||||
(SETQ LASTDIRPOS (ADD1 (IDIFFERENCE LASTDIRPOS DIRPOS)))
|
||||
(SETQ SLASHED (CONCAT (L-CASE (SUBSTRING SLASHED 1 LASTDIRPOS))
|
||||
(OR (SUBSTRING SLASHED (ADD1 LASTDIRPOS))
|
||||
""))))
|
||||
(CL:IF (OR (EQ DIRPOS 1)
|
||||
NOHOST)
|
||||
SLASHED
|
||||
(CONCAT (SUBSTRING X 1 (SUB1 DIRPOS))
|
||||
SLASHED))])
|
||||
|
||||
(UNIX-FILE-NAME
|
||||
[LAMBDA (FILE ACCESS COPY) (* ; "Edited 1-Oct-2023 20:52 by rmk")
|
||||
|
||||
(* ;; "Tries to return the string that would reference FILE in a Unix shell, for the use of PROCESS-COMMAND and ShellCommand. If VERSION is 1, it assumes that the Unix file is doesn't have the Medley version convention. If FILE does not have a corresponding Unix name, COPY is non-NIL, and ACCESS is INPUT, FILE will be copied to a unix tmp file (with COPY in its name) and that name will be returned.")
|
||||
|
||||
(CL:WHEN (\GETSTREAM FILE ACCESS T)
|
||||
(SETQ FILE (OR (FULLNAME FILE)
|
||||
FILE))) (* ; "Might catch NODIRCORE")
|
||||
(CL:WHEN FILE
|
||||
(SETQ FILE (TRUEFILENAME FILE))
|
||||
(CL:UNLESS (STREAMP FILE)
|
||||
[SETQ FILE (\GETFILENAME FILE (SELECTQ ACCESS
|
||||
(OUTPUT 'NEW)
|
||||
(INPUT 'OLD)
|
||||
(NIL (SETQ ACCESS 'INPUT)
|
||||
'OLD)
|
||||
(\ILLEGAL.ARG ACCESS])
|
||||
[SELECTQ (FILENAMEFIELD FILE 'HOST)
|
||||
(UNIX [SUBSTRING FILE (ADD1 (CONSTANT (NCHARS "{UNIX}"])
|
||||
(DSK (LET [(VERSION (FILENAMEFIELD FILE 'VERSION]
|
||||
(SETQ FILE (SLASHIT (PACKFILENAME 'HOST NIL 'VERSION NIL 'BODY FILE)))
|
||||
(CL:IF (AND VERSION (IGREATERP VERSION 1))
|
||||
(CONCAT FILE (CL:IF (FILENAMEFIELD FILE 'EXTENSION)
|
||||
"."
|
||||
"")
|
||||
"~" VERSION "~")
|
||||
FILE)))
|
||||
(CL:WHEN (AND COPY (EQ ACCESS 'INPUT)
|
||||
FILE)
|
||||
(RESETLST
|
||||
(CL:WHEN (\GETSTREAM FILE 'INPUT T) (* ; "Hope is randaccess")
|
||||
[RESETSAVE (GETFILEPTR FILE)
|
||||
`(PROGN (SETFILEPTR ,FILE OLDVALUE])
|
||||
(COPYFILE FILE (CONCAT "{UNIX}/tmp/medley-" (L-CASE COPY)
|
||||
"-"
|
||||
(IDATE)
|
||||
"-"
|
||||
(RAND)
|
||||
(CL:IF (FILENAMEFIELD FILE 'EXTENSION)
|
||||
(CONCAT "." (FILENAMEFIELD FILE 'EXTENSION))
|
||||
"")))))])])
|
||||
)
|
||||
|
||||
(PUTPROPS UNIXUTILS FILETYPE CL:COMPILE-FILE)
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (764 1137 (ShellCommand 764 . 1137)) (1139 1538 (ShellWhich 1139 . 1538)) (1539 5068 (
|
||||
ShellBrowser 1549 . 4072) (ShellBrowse 4074 . 5066)))))
|
||||
(FILEMAP (NIL (1146 1519 (ShellCommand 1146 . 1519)) (1521 1918 (ShellWhich 1521 . 1918)) (2008 16585
|
||||
(ShellBrowser 2018 . 3790) (ShellBrowse 3792 . 4477) (ShellOpener 4479 . 6167) (ShellOpen 6169 . 11324
|
||||
) (PROCESS-COMMAND 11326 . 11939) (SLASHIT 11941 . 13983) (UNIX-FILE-NAME 13985 . 16583)))))
|
||||
STOP
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED "14-Jul-2022 16:55:53"
|
||||
{DSK}<users>kaplan>local>medley3.5>working-medley>library>tedit>TEDIT-WINDOW.;1 180402
|
||||
(FILECREATED "20-Oct-2023 21:46:58" {MEDLEY}<library>tedit>TEDIT-WINDOW.;7 180689
|
||||
|
||||
:PREVIOUS-DATE "14-Jul-2022 11:08:01"
|
||||
{DSK}<users>kaplan>local>medley3.5>working-medley>library>newtedit>TEDIT-WINDOW.;2)
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS TEDIT.DEACTIVATE.WINDOW)
|
||||
|
||||
:PREVIOUS-DATE "14-Jul-2022 16:55:53" {MEDLEY}<library>tedit>TEDIT-WINDOW.;5)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT TEDIT-WINDOWCOMS)
|
||||
@@ -1631,113 +1633,114 @@
|
||||
(DEFINEQ
|
||||
|
||||
(TEDIT.DEACTIVATE.WINDOW
|
||||
[LAMBDA (W FORCEFLG DISCONNECTONLYFLG) (* ; "Edited 16-Oct-2021 18:51 by rmk:")
|
||||
[LAMBDA (W FORCEFLG DISCONNECTONLYFLG) (* ; "Edited 20-Oct-2023 21:46 by rmk")
|
||||
(* ; "Edited 16-Oct-2021 18:51 by rmk:")
|
||||
|
||||
(* ;; "Deactivate the various button fns for this window")
|
||||
|
||||
(PROG [(TEXTOBJ (WINDOWPROP W 'TEXTOBJ] (* ;
|
||||
"Can't be a call to TEXTOBJ, since window may NOT have a textobj on it.")
|
||||
(replace (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ with T)
|
||||
[COND
|
||||
((AND TEXTOBJ (fetch (TEXTOBJ EDITOPACTIVE) of TEXTOBJ))
|
||||
|
||||
(* ;; "If something is going on, DON'T CLOSE THE WINDOW")
|
||||
|
||||
(TEDIT.PROMPTPRINT TEXTOBJ "Not closed; edit operation in progress" T)
|
||||
(RETURN 'DON'T))
|
||||
((AND TEXTOBJ (PROCESSP (WINDOWPROP W 'PROCESS))
|
||||
(NOT (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ))
|
||||
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ))
|
||||
(NOT FORCEFLG)) (* ;
|
||||
"This is an un-quit TEdit window. Try to QUIT out of TEdit.")
|
||||
(COND
|
||||
((\TEDIT.QUIT W T))
|
||||
(T
|
||||
(* ;; "Always return DON'T: If we didn't quit, we don't want to close the window; if we did quit, the window is closed already, and will be reopened to reclose it.")
|
||||
|
||||
(RETURN 'DON'T]
|
||||
(COND
|
||||
([AND TEXTOBJ (OR FORCEFLG (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ)
|
||||
(fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)
|
||||
(NOT (PROCESSP (WINDOWPROP W 'PROCESS]
|
||||
(* ;
|
||||
"Only do this if it's a TEdit window, and has been QUIT out of.")
|
||||
(CL:WHEN TEXTOBJ
|
||||
(replace (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ with T)
|
||||
[COND
|
||||
((AND (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)
|
||||
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)))
|
||||
(CLEARW (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ]
|
||||
(\SHOWSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
|
||||
NIL NIL) (* ;
|
||||
"Before the window is closed, make SURE that the caret is down, or the window will reappear.")
|
||||
((fetch (TEXTOBJ EDITOPACTIVE) of TEXTOBJ)
|
||||
|
||||
(* ;; "If something is going on, DON'T CLOSE THE WINDOW")
|
||||
|
||||
(TEDIT.PROMPTPRINT TEXTOBJ "Not closed; edit operation in progress" T)
|
||||
(RETURN 'DON'T))
|
||||
((AND (PROCESSP (WINDOWPROP W 'PROCESS))
|
||||
(NOT (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ))
|
||||
(NOT (fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ))
|
||||
(NOT FORCEFLG)) (* ;
|
||||
"This is an un-quit TEdit window. Try to QUIT out of TEdit.")
|
||||
(COND
|
||||
((\TEDIT.QUIT W T))
|
||||
(T
|
||||
(* ;; "Always return DON'T: If we didn't quit, we don't want to close the window; if we did quit, the window is closed already, and will be reopened to reclose it.")
|
||||
|
||||
(RETURN 'DON'T]
|
||||
(COND
|
||||
((AND (\TEDIT.WINDOW.TITLE TEXTOBJ)
|
||||
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ))
|
||||
(OPENWP W)
|
||||
(EQ W (CAR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
|
||||
(NOT DISCONNECTONLYFLG))
|
||||
(\TEDIT.WINDOW.TITLE TEXTOBJ "Edit Window [Inactive]")
|
||||
([OR FORCEFLG (fetch (TEXTOBJ EDITFINISHEDFLG) of TEXTOBJ)
|
||||
(fetch (TEXTOBJ TXTREADONLY) of TEXTOBJ)
|
||||
(NOT (PROCESSP (WINDOWPROP W 'PROCESS] (* ;
|
||||
"Only do this if it's a TEdit window, and has been QUIT out of.")
|
||||
[COND
|
||||
((AND (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)
|
||||
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ)))
|
||||
(CLEARW (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ]
|
||||
(\SHOWSEL (fetch (TEXTOBJ SEL) of TEXTOBJ)
|
||||
NIL NIL) (* ;
|
||||
"Before the window is closed, make SURE that the caret is down, or the window will reappear.")
|
||||
(COND
|
||||
((AND (\TEDIT.WINDOW.TITLE TEXTOBJ)
|
||||
(OPENWP (fetch (TEXTOBJ PROMPTWINDOW) of TEXTOBJ))
|
||||
(OPENWP W)
|
||||
(EQ W (CAR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
|
||||
(NOT DISCONNECTONLYFLG))
|
||||
(\TEDIT.WINDOW.TITLE TEXTOBJ "Edit Window [Inactive]")
|
||||
(* ;
|
||||
"Reset the window's title to a known 'inactive' value")
|
||||
))
|
||||
[COND
|
||||
((NOT DISCONNECTONLYFLG)
|
||||
(for PANE in (REVERSE (CDR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
|
||||
do
|
||||
(* ;; "Run thru any split-off sub-panes, and reattach them, so we get a whole window back before the end of the world.")
|
||||
))
|
||||
[COND
|
||||
((NOT DISCONNECTONLYFLG)
|
||||
(for PANE in (REVERSE (CDR (fetch (TEXTOBJ \WINDOW) of TEXTOBJ)))
|
||||
do
|
||||
(* ;; "Run thru any split-off sub-panes, and reattach them, so we get a whole window back before the end of the world.")
|
||||
|
||||
(\TEDIT.UNSPLITW PANE))
|
||||
(replace (TEXTOBJ \WINDOW) of TEXTOBJ with NIL)
|
||||
(COND
|
||||
((type? STREAM (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
|
||||
(\TEDIT.UNSPLITW PANE))
|
||||
(replace (TEXTOBJ \WINDOW) of TEXTOBJ with NIL)
|
||||
(COND
|
||||
((type? STREAM (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
|
||||
(* ;
|
||||
"Close the file that this window was open on.")
|
||||
(COND
|
||||
((NOT (WINDOWPROP W 'TEDIT-CLOSING-FILE T))
|
||||
(CLOSEF? (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
|
||||
(WINDOWPROP W 'TEDIT-CLOSING-FILE NIL]
|
||||
(WINDOWPROP W 'TEXTOBJ NIL) (* ;
|
||||
(COND
|
||||
((NOT (WINDOWPROP W 'TEDIT-CLOSING-FILE T))
|
||||
(CLOSEF? (fetch (TEXTOBJ TXTFILE) of TEXTOBJ))
|
||||
(WINDOWPROP W 'TEDIT-CLOSING-FILE NIL]
|
||||
(WINDOWPROP W 'TEXTOBJ NIL) (* ;
|
||||
"Detach the edit data structures from the window")
|
||||
(WINDOWPROP W 'TEXTSTREAM NIL)
|
||||
(WINDOWPROP W 'LINES NIL)
|
||||
(WINDOWPROP W 'THISLINE NIL)
|
||||
(WINDOWPROP W 'PROCESS.EXITFN NIL)
|
||||
(WINDOWPROP W 'PROCESS.IDLEFN NIL)
|
||||
(WINDOWPROP W 'CURSOROUTFN NIL)
|
||||
(WINDOWPROP W 'CURSORMOVEDFN NIL)
|
||||
(WINDOWPROP W 'BUTTONEVENTFN 'TOTOPW) (* ; "And the button functions")
|
||||
(WINDOWPROP W 'RIGHTBUTTONFN 'DOWINDOWCOM)
|
||||
(WINDOWDELPROP W 'CLOSEFN 'TEDIT.DEACTIVATE.WINDOW)
|
||||
(WINDOWPROP W 'SCROLLFN NIL)
|
||||
(WINDOWDELPROP W 'RESHAPEFN '\EDITRESHAPEFN)
|
||||
(AND (NOT DISCONNECTONLYFLG)
|
||||
(WINDOWPROP W 'PROCESS)
|
||||
(\TEDIT.INTERRUPT.SETUP (WINDOWPROP W 'PROCESS)
|
||||
T)) (* ;
|
||||
(WINDOWPROP W 'TEXTSTREAM NIL)
|
||||
(WINDOWPROP W 'LINES NIL)
|
||||
(WINDOWPROP W 'THISLINE NIL)
|
||||
(WINDOWPROP W 'PROCESS.EXITFN NIL)
|
||||
(WINDOWPROP W 'PROCESS.IDLEFN NIL)
|
||||
(WINDOWPROP W 'CURSOROUTFN NIL)
|
||||
(WINDOWPROP W 'CURSORMOVEDFN NIL)
|
||||
(WINDOWPROP W 'BUTTONEVENTFN 'TOTOPW) (* ; "And the button functions")
|
||||
(WINDOWPROP W 'RIGHTBUTTONFN 'DOWINDOWCOM)
|
||||
(WINDOWDELPROP W 'CLOSEFN 'TEDIT.DEACTIVATE.WINDOW)
|
||||
(WINDOWPROP W 'SCROLLFN NIL)
|
||||
(WINDOWDELPROP W 'RESHAPEFN '\EDITRESHAPEFN)
|
||||
(AND (NOT DISCONNECTONLYFLG)
|
||||
(WINDOWPROP W 'PROCESS)
|
||||
(\TEDIT.INTERRUPT.SETUP (WINDOWPROP W 'PROCESS)
|
||||
T)) (* ;
|
||||
"Make sure any disarmed interrupts are restored.")
|
||||
(for MENUW in (ATTACHEDWINDOWS W) when (AND (WINDOWPROP MENUW 'TEDITMENU)
|
||||
(WINDOWPROP MENUW 'TEXTOBJ))
|
||||
do (* ;
|
||||
(for MENUW in (ATTACHEDWINDOWS W) when (AND (WINDOWPROP MENUW 'TEDITMENU)
|
||||
(WINDOWPROP MENUW 'TEXTOBJ))
|
||||
do (* ;
|
||||
"Detach all the TEDITMENU windows that belong to this window.")
|
||||
(replace (TEXTOBJ EDITFINISHEDFLG) of (TEXTOBJ MENUW) with T)
|
||||
(replace (TEXTOBJ EDITFINISHEDFLG) of (TEXTOBJ MENUW) with T)
|
||||
(* ; "Mark it finished")
|
||||
(WINDOWPROP MENUW 'TEDITMENU NIL) (* ;
|
||||
(WINDOWPROP MENUW 'TEDITMENU NIL) (* ;
|
||||
"And mark it no longer a menu window")
|
||||
(GIVE.TTY.PROCESS MENUW) (* ;
|
||||
(GIVE.TTY.PROCESS MENUW) (* ;
|
||||
"Then give it a chance to kill itself off")
|
||||
(DISMISS 300))
|
||||
(COND
|
||||
((NOT DISCONNECTONLYFLG)
|
||||
(GIVE.TTY.PROCESS W)
|
||||
(DISMISS 300)))
|
||||
[replace (TEXTOBJ \WINDOW) of TEXTOBJ with (COND
|
||||
((LISTP (fetch (TEXTOBJ \WINDOW)
|
||||
of TEXTOBJ))
|
||||
(DISMISS 300))
|
||||
(COND
|
||||
((NOT DISCONNECTONLYFLG)
|
||||
(GIVE.TTY.PROCESS W)
|
||||
(DISMISS 300)))
|
||||
[replace (TEXTOBJ \WINDOW) of TEXTOBJ with (COND
|
||||
((LISTP (fetch (TEXTOBJ \WINDOW)
|
||||
of TEXTOBJ))
|
||||
(* ; "It's a list; remove this window")
|
||||
(DREMOVE W (fetch (TEXTOBJ \WINDOW)
|
||||
of TEXTOBJ]
|
||||
(DREMOVE W (fetch (TEXTOBJ \WINDOW)
|
||||
of TEXTOBJ]
|
||||
(* ;
|
||||
"Disconnect the window from the edit data structures as well.")
|
||||
])
|
||||
)))])
|
||||
|
||||
(\TEDIT.REPAINTFN
|
||||
[LAMBDA (W) (* ; "Edited 30-May-91 23:34 by jds")
|
||||
@@ -2726,25 +2729,25 @@
|
||||
(RPAQ? TEDIT.TITLED.ICON.TEMPLATE (CONS TEDITICON (CONS TEDITMASK (CONS TEDIT.ICON.TITLE.REGION NIL))
|
||||
))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (7116 90052 (TEDIT.CREATEW 7126 . 9899) (\TEDIT.CREATEW.FROM.REGION 9901 . 10881) (
|
||||
TEDIT.CURSORMOVEDFN 10883 . 20782) (TEDIT.CURSOROUTFN 20784 . 21327) (TEDIT.WINDOW.SETUP 21329 . 23154
|
||||
) (TEDIT.MINIMAL.WINDOW.SETUP 23156 . 30934) (\TEDIT.ACTIVE.WINDOWP 30936 . 31929) (
|
||||
\TEDIT.BUTTONEVENTFN 31931 . 55639) (\TEDIT.WINDOW.OPS 55641 . 58853) (\TEDIT.EXPANDFN 58855 . 59418)
|
||||
(\TEDIT.MAINW 59420 . 60717) (\TEDIT.PRIMARYW 60719 . 61880) (\TEDIT.COPYINSERTFN 61882 . 62678) (
|
||||
\TEDIT.NEWREGIONFN 62680 . 65196) (\TEDIT.SET.WINDOW.EXTENT 65198 . 70741) (\TEDIT.SHRINK.ICONCREATE
|
||||
70743 . 72944) (\TEDIT.SHRINKFN 72946 . 73505) (\TEDIT.SPLITW 73507 . 78972) (\TEDIT.UNSPLITW 78974 .
|
||||
83830) (\TEDIT.WINDOW.SETUP 83832 . 89655) (\SAFE.FIRST 89657 . 90050)) (91382 92293 (TEDITWINDOWP
|
||||
91392 . 92291)) (92330 95120 (TEDIT.GETINPUT 92340 . 94400) (\TEDIT.MAKEFILENAME 94402 . 95118)) (
|
||||
95169 101597 (TEDIT.PROMPTPRINT 95179 . 98114) (TEDIT.PROMPTFLASH 98116 . 100025) (
|
||||
\TEDIT.PROMPT.PAGEFULLFN 100027 . 101595)) (101832 105804 (TEXTSTREAM.TITLE 101842 . 102467) (
|
||||
\TEDIT.ORIGINAL.WINDOW.TITLE 102469 . 104391) (\TEDIT.WINDOW.TITLE 104393 . 105047) (
|
||||
\TEXTSTREAM.FILENAME 105049 . 105802)) (105847 147324 (TEDIT.DEACTIVATE.WINDOW 105857 . 112821) (
|
||||
\TEDIT.REPAINTFN 112823 . 115671) (\TEDIT.RESHAPEFN 115673 . 120517) (\TEDIT.SCROLLFN 120519 . 147322)
|
||||
) (147366 149497 (\TEDIT.PROCIDLEFN 147376 . 148671) (\TEDIT.PROCENTRYFN 148673 . 149118) (
|
||||
\TEDIT.PROCEXITFN 149120 . 149495)) (149576 160542 (\EDIT.DOWNCARET 149586 . 150255) (\EDIT.FLIPCARET
|
||||
150257 . 151776) (TEDIT.FLASHCARET 151778 . 153059) (\EDIT.UPCARET 153061 . 153486) (
|
||||
TEDIT.NORMALIZECARET 153488 . 159185) (\SETCARET 159187 . 160115) (\TEDIT.CARET 160117 . 160540)) (
|
||||
160576 174370 (TEDIT.ADD.MENUITEM 160586 . 162877) (TEDIT.DEFAULT.MENUFN 162879 . 171849) (
|
||||
TEDIT.REMOVE.MENUITEM 171851 . 172848) (\TEDIT.CREATEMENU 172850 . 173287) (\TEDIT.MENU.WHENHELDFN
|
||||
173289 . 174055) (\TEDIT.MENU.WHENSELECTEDFN 174057 . 174368)))))
|
||||
(FILEMAP (NIL (7098 90034 (TEDIT.CREATEW 7108 . 9881) (\TEDIT.CREATEW.FROM.REGION 9883 . 10863) (
|
||||
TEDIT.CURSORMOVEDFN 10865 . 20764) (TEDIT.CURSOROUTFN 20766 . 21309) (TEDIT.WINDOW.SETUP 21311 . 23136
|
||||
) (TEDIT.MINIMAL.WINDOW.SETUP 23138 . 30916) (\TEDIT.ACTIVE.WINDOWP 30918 . 31911) (
|
||||
\TEDIT.BUTTONEVENTFN 31913 . 55621) (\TEDIT.WINDOW.OPS 55623 . 58835) (\TEDIT.EXPANDFN 58837 . 59400)
|
||||
(\TEDIT.MAINW 59402 . 60699) (\TEDIT.PRIMARYW 60701 . 61862) (\TEDIT.COPYINSERTFN 61864 . 62660) (
|
||||
\TEDIT.NEWREGIONFN 62662 . 65178) (\TEDIT.SET.WINDOW.EXTENT 65180 . 70723) (\TEDIT.SHRINK.ICONCREATE
|
||||
70725 . 72926) (\TEDIT.SHRINKFN 72928 . 73487) (\TEDIT.SPLITW 73489 . 78954) (\TEDIT.UNSPLITW 78956 .
|
||||
83812) (\TEDIT.WINDOW.SETUP 83814 . 89637) (\SAFE.FIRST 89639 . 90032)) (91364 92275 (TEDITWINDOWP
|
||||
91374 . 92273)) (92312 95102 (TEDIT.GETINPUT 92322 . 94382) (\TEDIT.MAKEFILENAME 94384 . 95100)) (
|
||||
95151 101579 (TEDIT.PROMPTPRINT 95161 . 98096) (TEDIT.PROMPTFLASH 98098 . 100007) (
|
||||
\TEDIT.PROMPT.PAGEFULLFN 100009 . 101577)) (101814 105786 (TEXTSTREAM.TITLE 101824 . 102449) (
|
||||
\TEDIT.ORIGINAL.WINDOW.TITLE 102451 . 104373) (\TEDIT.WINDOW.TITLE 104375 . 105029) (
|
||||
\TEXTSTREAM.FILENAME 105031 . 105784)) (105829 147611 (TEDIT.DEACTIVATE.WINDOW 105839 . 113108) (
|
||||
\TEDIT.REPAINTFN 113110 . 115958) (\TEDIT.RESHAPEFN 115960 . 120804) (\TEDIT.SCROLLFN 120806 . 147609)
|
||||
) (147653 149784 (\TEDIT.PROCIDLEFN 147663 . 148958) (\TEDIT.PROCENTRYFN 148960 . 149405) (
|
||||
\TEDIT.PROCEXITFN 149407 . 149782)) (149863 160829 (\EDIT.DOWNCARET 149873 . 150542) (\EDIT.FLIPCARET
|
||||
150544 . 152063) (TEDIT.FLASHCARET 152065 . 153346) (\EDIT.UPCARET 153348 . 153773) (
|
||||
TEDIT.NORMALIZECARET 153775 . 159472) (\SETCARET 159474 . 160402) (\TEDIT.CARET 160404 . 160827)) (
|
||||
160863 174657 (TEDIT.ADD.MENUITEM 160873 . 163164) (TEDIT.DEFAULT.MENUFN 163166 . 172136) (
|
||||
TEDIT.REMOVE.MENUITEM 172138 . 173135) (\TEDIT.CREATEMENU 173137 . 173574) (\TEDIT.MENU.WHENHELDFN
|
||||
173576 . 174342) (\TEDIT.MENU.WHENSELECTEDFN 174344 . 174655)))))
|
||||
STOP
|
||||
|
||||
625
library/virtualkeyboards/DANDELIONKEYBOARDS
Normal file
@@ -0,0 +1,625 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED " 6-Jul-2023 08:52:09" {WMEDLEY}<library>virtualkeyboards>DANDELIONKEYBOARDS.;3 33795
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (VARS DANDELIONKEYBOARDSCOMS)
|
||||
|
||||
:PREVIOUS-DATE " 4-Jul-2023 23:18:05" {WMEDLEY}<library>virtualkeyboards>DANDELIONKEYBOARDS.;2
|
||||
)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT DANDELIONKEYBOARDSCOMS)
|
||||
|
||||
(RPAQQ DANDELIONKEYBOARDSCOMS ((ALISTS (VKBD.LOADED-KEYBOARDS DANDELION))))
|
||||
|
||||
(ADDTOVAR VKBD.LOADED-KEYBOARDS
|
||||
(DANDELION (EUROPEAN ((100 (53 197 NOLOCKSHIFT))
|
||||
(101 (52 196 NOLOCKSHIFT))
|
||||
(102 (54 198 NOLOCKSHIFT))
|
||||
(103 (61887 61759 LOCKSHIFT))
|
||||
(104 (55 199 NOLOCKSHIFT))
|
||||
(105 (61888 61760 LOCKSHIFT))
|
||||
(106 (61872 61744 LOCKSHIFT))
|
||||
(107 (61860 61732 LOCKSHIFT))
|
||||
(108 (48 126 NOLOCKSHIFT))
|
||||
(109 (61892 61764 LOCKSHIFT))
|
||||
(110 (203 207 NOLOCKSHIFT))
|
||||
(111 (61919 61791 LOCKSHIFT))
|
||||
(112 (47 191 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 195 NOLOCKSHIFT))
|
||||
(117 (50 194 NOLOCKSHIFT))
|
||||
(118 (61873 61745 LOCKSHIFT))
|
||||
(119 (61858 61730 LOCKSHIFT))
|
||||
(120 (61874 61746 LOCKSHIFT))
|
||||
(121 (61859 61731 LOCKSHIFT))
|
||||
(122 (57 202 NOLOCKSHIFT))
|
||||
(123 (61886 61758 LOCKSHIFT))
|
||||
(124 (61864 61736 LOCKSHIFT))
|
||||
(125 (61903 61775 LOCKSHIFT))
|
||||
(126 (61908 61780 LOCKSHIFT))
|
||||
(127 (241 225 LOCKSHIFT))
|
||||
(128 (187 170 LOCKSHIFT))
|
||||
(129 (249 233 LOCKSHIFT))
|
||||
(132 (49 193 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (61905 61777 LOCKSHIFT))
|
||||
(137 (61869 61741 LOCKSHIFT))
|
||||
(138 (61877 61749 LOCKSHIFT))
|
||||
(139 (61906 61778 LOCKSHIFT))
|
||||
(140 (251 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (250 234 LOCKSHIFT))
|
||||
(143 (59 58 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (171 186 LOCKSHIFT))
|
||||
(148 (61904 61776 LOCKSHIFT))
|
||||
(149 (61920 61792 LOCKSHIFT))
|
||||
(150 (61921 61793 LOCKSHIFT))
|
||||
(151 (61857 61729 LOCKSHIFT))
|
||||
(152 (61863 61735 LOCKSHIFT))
|
||||
(153 (56 200 NOLOCKSHIFT))
|
||||
(154 (61900 61772 LOCKSHIFT))
|
||||
(155 (239 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (246 230 LOCKSHIFT))
|
||||
(159 (207 176 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION)
|
||||
(logic ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 164 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (61258 61260 NOLOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (61292 61293 NOLOCKSHIFT))
|
||||
(106 (61271 61270 NOLOCKSHIFT))
|
||||
(107 (61284 61285 NOLOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (61307 61306 NOLOCKSHIFT))
|
||||
(110 (45 177 NOLOCKSHIFT))
|
||||
(111 (61269 61268 LOCKSHIFT))
|
||||
(112 (172 174 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (61240 61241 NOLOCKSHIFT))
|
||||
(119 (61234 61235 NOLOCKSHIFT))
|
||||
(120 (61266 61262 NOLOCKSHIFT))
|
||||
(121 (61365 61365 NOLOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (61275 61274 NOLOCKSHIFT))
|
||||
(124 (61300 61299 NOLOCKSHIFT))
|
||||
(125 (61273 61272 NOLOCKSHIFT))
|
||||
(126 (61282 61283 NOLOCKSHIFT))
|
||||
(127 (61256 61257 NOLOCKSHIFT))
|
||||
(128 (61356 61356 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (61250 61251 NOLOCKSHIFT))
|
||||
(137 (61298 61297 NOLOCKSHIFT))
|
||||
(138 (61305 61303 NOLOCKSHIFT))
|
||||
(139 (61265 61264 NOLOCKSHIFT))
|
||||
(140 (61364 61364 NOLOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (61281 233 NOLOCKSHIFT))
|
||||
(143 (61351 61351 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (61357 61357 NOLOCKSHIFT))
|
||||
(148 (61279 61278 NOLOCKSHIFT))
|
||||
(149 (61239 61238 NOLOCKSHIFT))
|
||||
(150 (61290 61290 NOLOCKSHIFT))
|
||||
(151 (61263 61261 NOLOCKSHIFT))
|
||||
(152 (61295 61295 NOLOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (61252 61253 NOLOCKSHIFT))
|
||||
(155 (61254 61255 NOLOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION)
|
||||
(MATH ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 36 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (61284 61285 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (174 61245 NOLOCKSHIFT))
|
||||
(107 (61369 61363 NOLOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (61254 61255 NOLOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (173 61246 LOCKSHIFT))
|
||||
(112 (47 61300 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (61282 61283 LOCKSHIFT))
|
||||
(119 (61287 61286 NOLOCKSHIFT))
|
||||
(120 (61301 61302 NOLOCKSHIFT))
|
||||
(121 (61351 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (175 61247 LOCKSHIFT))
|
||||
(124 (180 184 LOCKSHIFT))
|
||||
(125 (172 61244 LOCKSHIFT))
|
||||
(126 (61256 61257 LOCKSHIFT))
|
||||
(127 (44 61250 NOLOCKSHIFT))
|
||||
(128 (61298 61253 NOLOCKSHIFT))
|
||||
(129 (93 61265 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (61356 61362 LOCKSHIFT))
|
||||
(138 (61254 61291 NOLOCKSHIFT))
|
||||
(139 (98 61360 NOLOCKSHIFT))
|
||||
(140 (61309 177 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 61251 NOLOCKSHIFT))
|
||||
(143 (61299 61252 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (95 94 NOLOCKSHIFT))
|
||||
(148 (61358 82 LOCKSHIFT))
|
||||
(149 (61296 61266 NOLOCKSHIFT))
|
||||
(150 (61305 61303 NOLOCKSHIFT))
|
||||
(151 (61308 61267 LOCKSHIFT))
|
||||
(152 (61288 72 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (61357 61361 NOLOCKSHIFT))
|
||||
(155 (61292 61293 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 61264 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION)
|
||||
(OFFICE ((100 (61397 61381 NOLOCKSHIFT))
|
||||
(101 (61396 61380 NOLOCKSHIFT))
|
||||
(102 (61398 61382 NOLOCKSHIFT))
|
||||
(103 (8557 8554 NOLOCKSHIFT))
|
||||
(104 (61399 61383 NOLOCKSHIFT))
|
||||
(105 (61232 8743 NOLOCKSHIFT))
|
||||
(106 (61346 8571 NOLOCKSHIFT))
|
||||
(107 (188 86 NOLOCKSHIFT))
|
||||
(108 (61402 61386 NOLOCKSHIFT))
|
||||
(109 (210 8738 NOLOCKSHIFT))
|
||||
(110 (61437 61438 NOLOCKSHIFT))
|
||||
(111 (163 8558 NOLOCKSHIFT))
|
||||
(112 (61248 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (61395 61379 NOLOCKSHIFT))
|
||||
(117 (61394 61378 NOLOCKSHIFT))
|
||||
(118 (185 8553 NOLOCKSHIFT))
|
||||
(119 (176 8546 NOLOCKSHIFT))
|
||||
(120 (167 8744 NOLOCKSHIFT))
|
||||
(121 (97 8745 NOLOCKSHIFT))
|
||||
(122 (61401 61385 NOLOCKSHIFT))
|
||||
(123 (162 8570 NOLOCKSHIFT))
|
||||
(124 (61437 88 NOLOCKSHIFT))
|
||||
(125 (111 8569 NOLOCKSHIFT))
|
||||
(126 (61289 8737 NOLOCKSHIFT))
|
||||
(127 (44 60 NOLOCKSHIFT))
|
||||
(128 (39 34 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (61393 61377 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (61233 8742 NOLOCKSHIFT))
|
||||
(137 (61438 67 NOLOCKSHIFT))
|
||||
(138 (8739 74 NOLOCKSHIFT))
|
||||
(139 (190 61436 NOLOCKSHIFT))
|
||||
(140 (189 90 NOLOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (61249 62 NOLOCKSHIFT))
|
||||
(143 (61352 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (95 61280 NOLOCKSHIFT))
|
||||
(148 (212 8574 NOLOCKSHIFT))
|
||||
(149 (61354 8573 NOLOCKSHIFT))
|
||||
(150 (61286 8741 NOLOCKSHIFT))
|
||||
(151 (165 8572 NOLOCKSHIFT))
|
||||
(152 (61368 8740 NOLOCKSHIFT))
|
||||
(153 (61400 61384 NOLOCKSHIFT))
|
||||
(154 (173 175 NOLOCKSHIFT))
|
||||
(155 (172 174 NOLOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61406 61368 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION)
|
||||
(DVORAK ((100 (49 42 NOLOCKSHIFT))
|
||||
(101 (51 41 NOLOCKSHIFT))
|
||||
(102 (57 37 NOLOCKSHIFT))
|
||||
(103 (46 62 NOLOCKSHIFT))
|
||||
(104 (48 38 NOLOCKSHIFT))
|
||||
(105 (101 69 LOCKSHIFT))
|
||||
(106 (103 71 LOCKSHIFT))
|
||||
(107 (107 75 LOCKSHIFT))
|
||||
(108 (54 45 NOLOCKSHIFT))
|
||||
(109 (116 84 LOCKSHIFT))
|
||||
(110 (56 95 NOLOCKSHIFT))
|
||||
(111 (108 76 LOCKSHIFT))
|
||||
(112 (122 90 LOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (53 40 NOLOCKSHIFT))
|
||||
(117 (55 35 NOLOCKSHIFT))
|
||||
(118 (44 60 NOLOCKSHIFT))
|
||||
(119 (63 47 NOLOCKSHIFT))
|
||||
(120 (111 79 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (52 164 NOLOCKSHIFT))
|
||||
(123 (99 67 LOCKSHIFT))
|
||||
(124 (113 81 LOCKSHIFT))
|
||||
(125 (114 82 LOCKSHIFT))
|
||||
(126 (110 78 LOCKSHIFT))
|
||||
(127 (119 87 LOCKSHIFT))
|
||||
(128 (44 186 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (33 64 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (117 85 LOCKSHIFT))
|
||||
(137 (106 74 LOCKSHIFT))
|
||||
(138 (104 72 LOCKSHIFT))
|
||||
(139 (120 88 LOCKSHIFT))
|
||||
(140 (59 58 NOLOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (118 86 LOCKSHIFT))
|
||||
(143 (115 83 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (169 170 NOLOCKSHIFT))
|
||||
(148 (112 80 LOCKSHIFT))
|
||||
(149 (121 89 LOCKSHIFT))
|
||||
(150 (105 73 LOCKSHIFT))
|
||||
(151 (102 70 LOCKSHIFT))
|
||||
(152 (100 68 LOCKSHIFT))
|
||||
(153 (50 162 NOLOCKSHIFT))
|
||||
(154 (98 66 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION)
|
||||
(GREEK ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 36 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (9830 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (9829 9797 LOCKSHIFT))
|
||||
(106 (9849 9817 LOCKSHIFT))
|
||||
(107 (115 9814 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (9837 9805 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (9843 9811 LOCKSHIFT))
|
||||
(112 (47 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (9853 9821 LOCKSHIFT))
|
||||
(119 (9835 9803 LOCKSHIFT))
|
||||
(120 (9846 9814 LOCKSHIFT))
|
||||
(121 (9825 9793 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (9836 9804 LOCKSHIFT))
|
||||
(124 (9851 9819 LOCKSHIFT))
|
||||
(125 (9842 9810 LOCKSHIFT))
|
||||
(126 (9838 9806 LOCKSHIFT))
|
||||
(127 (44 60 NOLOCKSHIFT))
|
||||
(128 (39 34 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (9850 9818 LOCKSHIFT))
|
||||
(137 (9841 9809 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (9826 66 LOCKSHIFT))
|
||||
(140 (9833 9801 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 62 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (95 94 NOLOCKSHIFT))
|
||||
(148 (9845 9813 LOCKSHIFT))
|
||||
(149 (9848 9816 LOCKSHIFT))
|
||||
(150 (9828 9796 LOCKSHIFT))
|
||||
(151 (9852 9820 LOCKSHIFT))
|
||||
(152 (9834 9802 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (9840 9808 LOCKSHIFT))
|
||||
(155 (9839 9807 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION)
|
||||
(ITALIAN ((100 (53 61903 NOLOCKSHIFT))
|
||||
(101 (52 61886 NOLOCKSHIFT))
|
||||
(102 (54 61919 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (204 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 61872 NOLOCKSHIFT))
|
||||
(117 (50 61858 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 171 NOLOCKSHIFT))
|
||||
(128 (39 186 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 187 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (95 170 NOLOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION)
|
||||
(SPANISH ((100 (53 61904 NOLOCKSHIFT))
|
||||
(101 (52 61887 NOLOCKSHIFT))
|
||||
(102 (54 61920 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (204 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 61873 NOLOCKSHIFT))
|
||||
(117 (50 61858 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 171 NOLOCKSHIFT))
|
||||
(128 (59 58 NOLOCKSHIFT))
|
||||
(129 (203 187 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 187 NOLOCKSHIFT))
|
||||
(143 (61900 61772 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (161 191 NOLOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 61925 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (44 171 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION)
|
||||
(FRENCH ((100 (53 61905 NOLOCKSHIFT))
|
||||
(101 (52 61888 NOLOCKSHIFT))
|
||||
(102 (54 61921 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (204 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 61874 NOLOCKSHIFT))
|
||||
(117 (50 61859 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 171 NOLOCKSHIFT))
|
||||
(128 (39 61857 NOLOCKSHIFT))
|
||||
(129 (61872 61892 LOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 187 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (61869 61741 LOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 61919 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (61873 61877 LOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION)
|
||||
(GERMAN ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 36 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (251 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 60 NOLOCKSHIFT))
|
||||
(128 (39 34 NOLOCKSHIFT))
|
||||
(129 (61863 61735 LOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 62 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (95 94 NOLOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (61908 61780 LOCKSHIFT))
|
||||
(159 (61925 61797 LOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION)
|
||||
(STANDARD-RUSSIAN ((100 (34 52 NOLOCKSHIFT))
|
||||
(101 (47 51 NOLOCKSHIFT))
|
||||
(102 (58 53 NOLOCKSHIFT))
|
||||
(103 (10085 10037 LOCKSHIFT))
|
||||
(104 (44 54 NOLOCKSHIFT))
|
||||
(105 (10067 10019 LOCKSHIFT))
|
||||
(106 (10068 10020 LOCKSHIFT))
|
||||
(107 (10078 10030 LOCKSHIFT))
|
||||
(108 (63 57 NOLOCKSHIFT))
|
||||
(109 (10077 10029 LOCKSHIFT))
|
||||
(110 (37 48 NOLOCKSHIFT))
|
||||
(111 (10073 10025 LOCKSHIFT))
|
||||
(112 (10071 10023 LOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (45 50 NOLOCKSHIFT))
|
||||
(117 (61352 49 NOLOCKSHIFT))
|
||||
(118 (10088 10040 LOCKSHIFT))
|
||||
(119 (10075 10027 LOCKSHIFT))
|
||||
(120 (10093 10045 LOCKSHIFT))
|
||||
(121 (10086 10038 LOCKSHIFT))
|
||||
(122 (95 56 NOLOCKSHIFT))
|
||||
(123 (10090 10042 LOCKSHIFT))
|
||||
(124 (10089 10041 LOCKSHIFT))
|
||||
(125 (10091 10043 LOCKSHIFT))
|
||||
(126 (10069 10021 LOCKSHIFT))
|
||||
(127 (10066 10018 LOCKSHIFT))
|
||||
(128 (10095 10047 LOCKSHIFT))
|
||||
(129 (10092 10044 LOCKSHIFT))
|
||||
(132 (167 43 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (10065 10017 LOCKSHIFT))
|
||||
(137 (10083 10035 LOCKSHIFT))
|
||||
(138 (10080 10032 LOCKSHIFT))
|
||||
(139 (10074 10026 LOCKSHIFT))
|
||||
(140 (10097 10049 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (10096 10048 LOCKSHIFT))
|
||||
(143 (10072 10024 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (41 40 NOLOCKSHIFT))
|
||||
(148 (10076 10028 LOCKSHIFT))
|
||||
(149 (10070 10022 LOCKSHIFT))
|
||||
(150 (10081 10033 LOCKSHIFT))
|
||||
(151 (10079 10031 LOCKSHIFT))
|
||||
(152 (10082 10034 LOCKSHIFT))
|
||||
(153 (46 55 NOLOCKSHIFT))
|
||||
(154 (10084 10036 LOCKSHIFT))
|
||||
(155 (10094 10046 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (10087 10039 LOCKSHIFT))
|
||||
(159 (33 61 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DANDELION)))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL)))
|
||||
STOP
|
||||
624
library/virtualkeyboards/DORADOKEYBOARDS
Normal file
@@ -0,0 +1,624 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED " 6-Jul-2023 08:52:15" {WMEDLEY}<library>virtualkeyboards>DORADOKEYBOARDS.;4 33578
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (VARS DORADOKEYBOARDSCOMS)
|
||||
|
||||
:PREVIOUS-DATE " 4-Jul-2023 23:15:23" {WMEDLEY}<library>virtualkeyboards>DORADOKEYBOARDS.;2)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT DORADOKEYBOARDSCOMS)
|
||||
|
||||
(RPAQQ DORADOKEYBOARDSCOMS ((ALISTS (VKBD.LOADED-KEYBOARDS DORADO))))
|
||||
|
||||
(ADDTOVAR VKBD.LOADED-KEYBOARDS
|
||||
(DORADO (EUROPEAN ((100 (53 197 NOLOCKSHIFT))
|
||||
(101 (52 196 NOLOCKSHIFT))
|
||||
(102 (54 198 NOLOCKSHIFT))
|
||||
(103 (61887 61759 LOCKSHIFT))
|
||||
(104 (55 199 NOLOCKSHIFT))
|
||||
(105 (61888 61760 LOCKSHIFT))
|
||||
(106 (61872 61744 LOCKSHIFT))
|
||||
(107 (61860 61732 LOCKSHIFT))
|
||||
(108 (48 126 NOLOCKSHIFT))
|
||||
(109 (61892 61764 LOCKSHIFT))
|
||||
(110 (203 207 NOLOCKSHIFT))
|
||||
(111 (61919 61791 LOCKSHIFT))
|
||||
(112 (47 191 NOLOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 195 NOLOCKSHIFT))
|
||||
(117 (50 194 NOLOCKSHIFT))
|
||||
(118 (61873 61745 LOCKSHIFT))
|
||||
(119 (61858 61730 LOCKSHIFT))
|
||||
(120 (61874 61746 LOCKSHIFT))
|
||||
(121 (61859 61731 LOCKSHIFT))
|
||||
(122 (57 202 NOLOCKSHIFT))
|
||||
(123 (61886 61758 LOCKSHIFT))
|
||||
(124 (61864 61736 LOCKSHIFT))
|
||||
(125 (61903 61775 LOCKSHIFT))
|
||||
(126 (61908 61780 LOCKSHIFT))
|
||||
(127 (241 225 LOCKSHIFT))
|
||||
(128 (187 170 LOCKSHIFT))
|
||||
(129 (249 233 LOCKSHIFT))
|
||||
(132 (49 193 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (61905 61777 LOCKSHIFT))
|
||||
(137 (61869 61741 LOCKSHIFT))
|
||||
(138 (61877 61749 LOCKSHIFT))
|
||||
(139 (61906 61778 LOCKSHIFT))
|
||||
(140 (251 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (250 234 LOCKSHIFT))
|
||||
(143 (59 58 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (171 186 LOCKSHIFT))
|
||||
(148 (61904 61776 LOCKSHIFT))
|
||||
(149 (61920 61792 LOCKSHIFT))
|
||||
(150 (61921 61793 LOCKSHIFT))
|
||||
(151 (61857 61729 LOCKSHIFT))
|
||||
(152 (61863 61735 LOCKSHIFT))
|
||||
(153 (56 200 NOLOCKSHIFT))
|
||||
(154 (61900 61772 LOCKSHIFT))
|
||||
(155 (239 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (246 230 LOCKSHIFT))
|
||||
(159 (207 176 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO)
|
||||
(logic ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 164 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (61258 61260 NOLOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (61292 61293 NOLOCKSHIFT))
|
||||
(106 (61271 61270 NOLOCKSHIFT))
|
||||
(107 (61284 61285 NOLOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (61307 61306 NOLOCKSHIFT))
|
||||
(110 (45 177 NOLOCKSHIFT))
|
||||
(111 (61269 61268 LOCKSHIFT))
|
||||
(112 (172 174 NOLOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (61240 61241 NOLOCKSHIFT))
|
||||
(119 (61234 61235 NOLOCKSHIFT))
|
||||
(120 (61266 61262 NOLOCKSHIFT))
|
||||
(121 (61365 61365 NOLOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (61275 61274 NOLOCKSHIFT))
|
||||
(124 (61300 61299 NOLOCKSHIFT))
|
||||
(125 (61273 61272 NOLOCKSHIFT))
|
||||
(126 (61282 61283 NOLOCKSHIFT))
|
||||
(127 (61256 61257 NOLOCKSHIFT))
|
||||
(128 (61356 61356 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (61250 61251 NOLOCKSHIFT))
|
||||
(137 (61298 61297 NOLOCKSHIFT))
|
||||
(138 (61305 61303 NOLOCKSHIFT))
|
||||
(139 (61265 61264 NOLOCKSHIFT))
|
||||
(140 (61364 61364 NOLOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (61281 233 NOLOCKSHIFT))
|
||||
(143 (61351 61351 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (61357 61357 NOLOCKSHIFT))
|
||||
(148 (61279 61278 NOLOCKSHIFT))
|
||||
(149 (61239 61238 NOLOCKSHIFT))
|
||||
(150 (61290 61290 NOLOCKSHIFT))
|
||||
(151 (61263 61261 NOLOCKSHIFT))
|
||||
(152 (61295 61295 NOLOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (61252 61253 NOLOCKSHIFT))
|
||||
(155 (61254 61255 NOLOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO)
|
||||
(MATH ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 36 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (61284 61285 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (174 61245 NOLOCKSHIFT))
|
||||
(107 (61369 61363 NOLOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (61254 61255 NOLOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (173 61246 LOCKSHIFT))
|
||||
(112 (47 61300 NOLOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (61282 61283 LOCKSHIFT))
|
||||
(119 (61287 61286 NOLOCKSHIFT))
|
||||
(120 (61301 61302 NOLOCKSHIFT))
|
||||
(121 (61351 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (175 61247 LOCKSHIFT))
|
||||
(124 (180 184 LOCKSHIFT))
|
||||
(125 (172 61244 LOCKSHIFT))
|
||||
(126 (61256 61257 LOCKSHIFT))
|
||||
(127 (44 61250 NOLOCKSHIFT))
|
||||
(128 (61298 61253 NOLOCKSHIFT))
|
||||
(129 (93 61265 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (61356 61362 LOCKSHIFT))
|
||||
(138 (61254 61291 NOLOCKSHIFT))
|
||||
(139 (98 61360 NOLOCKSHIFT))
|
||||
(140 (61309 177 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 61251 NOLOCKSHIFT))
|
||||
(143 (61299 61252 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (95 94 NOLOCKSHIFT))
|
||||
(148 (61358 82 LOCKSHIFT))
|
||||
(149 (61296 61266 NOLOCKSHIFT))
|
||||
(150 (61305 61303 NOLOCKSHIFT))
|
||||
(151 (61308 61267 LOCKSHIFT))
|
||||
(152 (61288 72 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (61357 61361 NOLOCKSHIFT))
|
||||
(155 (61292 61293 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 61264 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO)
|
||||
(OFFICE ((100 (61397 61381 NOLOCKSHIFT))
|
||||
(101 (61396 61380 NOLOCKSHIFT))
|
||||
(102 (61398 61382 NOLOCKSHIFT))
|
||||
(103 (8557 8554 NOLOCKSHIFT))
|
||||
(104 (61399 61383 NOLOCKSHIFT))
|
||||
(105 (61232 8743 NOLOCKSHIFT))
|
||||
(106 (61346 8571 NOLOCKSHIFT))
|
||||
(107 (188 86 NOLOCKSHIFT))
|
||||
(108 (61402 61386 NOLOCKSHIFT))
|
||||
(109 (210 8738 NOLOCKSHIFT))
|
||||
(110 (61437 61438 NOLOCKSHIFT))
|
||||
(111 (163 8558 NOLOCKSHIFT))
|
||||
(112 (61248 63 NOLOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (61395 61379 NOLOCKSHIFT))
|
||||
(117 (61394 61378 NOLOCKSHIFT))
|
||||
(118 (185 8553 NOLOCKSHIFT))
|
||||
(119 (176 8546 NOLOCKSHIFT))
|
||||
(120 (167 8744 NOLOCKSHIFT))
|
||||
(121 (97 8745 NOLOCKSHIFT))
|
||||
(122 (61401 61385 NOLOCKSHIFT))
|
||||
(123 (162 8570 NOLOCKSHIFT))
|
||||
(124 (61437 88 NOLOCKSHIFT))
|
||||
(125 (111 8569 NOLOCKSHIFT))
|
||||
(126 (61289 8737 NOLOCKSHIFT))
|
||||
(127 (44 60 NOLOCKSHIFT))
|
||||
(128 (39 34 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (61393 61377 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (61233 8742 NOLOCKSHIFT))
|
||||
(137 (61438 67 NOLOCKSHIFT))
|
||||
(138 (8739 74 NOLOCKSHIFT))
|
||||
(139 (190 61436 NOLOCKSHIFT))
|
||||
(140 (189 90 NOLOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (61249 62 NOLOCKSHIFT))
|
||||
(143 (61352 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (95 61280 NOLOCKSHIFT))
|
||||
(148 (212 8574 NOLOCKSHIFT))
|
||||
(149 (61354 8573 NOLOCKSHIFT))
|
||||
(150 (61286 8741 NOLOCKSHIFT))
|
||||
(151 (165 8572 NOLOCKSHIFT))
|
||||
(152 (61368 8740 NOLOCKSHIFT))
|
||||
(153 (61400 61384 NOLOCKSHIFT))
|
||||
(154 (173 175 NOLOCKSHIFT))
|
||||
(155 (172 174 NOLOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61406 61368 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO)
|
||||
(DVORAK ((100 (49 42 NOLOCKSHIFT))
|
||||
(101 (51 41 NOLOCKSHIFT))
|
||||
(102 (57 37 NOLOCKSHIFT))
|
||||
(103 (46 62 NOLOCKSHIFT))
|
||||
(104 (48 38 NOLOCKSHIFT))
|
||||
(105 (101 69 LOCKSHIFT))
|
||||
(106 (103 71 LOCKSHIFT))
|
||||
(107 (107 75 LOCKSHIFT))
|
||||
(108 (54 45 NOLOCKSHIFT))
|
||||
(109 (116 84 LOCKSHIFT))
|
||||
(110 (56 95 NOLOCKSHIFT))
|
||||
(111 (108 76 LOCKSHIFT))
|
||||
(112 (122 90 LOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (53 40 NOLOCKSHIFT))
|
||||
(117 (55 35 NOLOCKSHIFT))
|
||||
(118 (44 60 NOLOCKSHIFT))
|
||||
(119 (63 47 NOLOCKSHIFT))
|
||||
(120 (111 79 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (52 164 NOLOCKSHIFT))
|
||||
(123 (99 67 LOCKSHIFT))
|
||||
(124 (113 81 LOCKSHIFT))
|
||||
(125 (114 82 LOCKSHIFT))
|
||||
(126 (110 78 LOCKSHIFT))
|
||||
(127 (119 87 LOCKSHIFT))
|
||||
(128 (44 186 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (33 64 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (117 85 LOCKSHIFT))
|
||||
(137 (106 74 LOCKSHIFT))
|
||||
(138 (104 72 LOCKSHIFT))
|
||||
(139 (120 88 LOCKSHIFT))
|
||||
(140 (59 58 NOLOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (118 86 LOCKSHIFT))
|
||||
(143 (115 83 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (169 170 NOLOCKSHIFT))
|
||||
(148 (112 80 LOCKSHIFT))
|
||||
(149 (121 89 LOCKSHIFT))
|
||||
(150 (105 73 LOCKSHIFT))
|
||||
(151 (102 70 LOCKSHIFT))
|
||||
(152 (100 68 LOCKSHIFT))
|
||||
(153 (50 162 NOLOCKSHIFT))
|
||||
(154 (98 66 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO)
|
||||
(GREEK ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 36 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (9830 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (9829 9797 LOCKSHIFT))
|
||||
(106 (9849 9817 LOCKSHIFT))
|
||||
(107 (115 9814 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (9837 9805 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (9843 9811 LOCKSHIFT))
|
||||
(112 (47 63 NOLOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (9853 9821 LOCKSHIFT))
|
||||
(119 (9835 9803 LOCKSHIFT))
|
||||
(120 (9846 9814 LOCKSHIFT))
|
||||
(121 (9825 9793 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (9836 9804 LOCKSHIFT))
|
||||
(124 (9851 9819 LOCKSHIFT))
|
||||
(125 (9842 9810 LOCKSHIFT))
|
||||
(126 (9838 9806 LOCKSHIFT))
|
||||
(127 (44 60 NOLOCKSHIFT))
|
||||
(128 (39 34 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (9850 9818 LOCKSHIFT))
|
||||
(137 (9841 9809 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (9826 66 LOCKSHIFT))
|
||||
(140 (9833 9801 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 62 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (95 94 NOLOCKSHIFT))
|
||||
(148 (9845 9813 LOCKSHIFT))
|
||||
(149 (9848 9816 LOCKSHIFT))
|
||||
(150 (9828 9796 LOCKSHIFT))
|
||||
(151 (9852 9820 LOCKSHIFT))
|
||||
(152 (9834 9802 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (9840 9808 LOCKSHIFT))
|
||||
(155 (9839 9807 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO)
|
||||
(ITALIAN ((100 (53 61903 NOLOCKSHIFT))
|
||||
(101 (52 61886 NOLOCKSHIFT))
|
||||
(102 (54 61919 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (204 63 NOLOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 61872 NOLOCKSHIFT))
|
||||
(117 (50 61858 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 171 NOLOCKSHIFT))
|
||||
(128 (39 186 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 187 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (95 170 NOLOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO)
|
||||
(SPANISH ((100 (53 61904 NOLOCKSHIFT))
|
||||
(101 (52 61887 NOLOCKSHIFT))
|
||||
(102 (54 61920 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (204 63 NOLOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 61873 NOLOCKSHIFT))
|
||||
(117 (50 61858 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 171 NOLOCKSHIFT))
|
||||
(128 (59 58 NOLOCKSHIFT))
|
||||
(129 (203 187 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 187 NOLOCKSHIFT))
|
||||
(143 (61900 61772 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (161 191 NOLOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 61925 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (44 171 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO)
|
||||
(FRENCH ((100 (53 61905 NOLOCKSHIFT))
|
||||
(101 (52 61888 NOLOCKSHIFT))
|
||||
(102 (54 61921 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (204 63 NOLOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 61874 NOLOCKSHIFT))
|
||||
(117 (50 61859 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 171 NOLOCKSHIFT))
|
||||
(128 (39 61857 NOLOCKSHIFT))
|
||||
(129 (61872 61892 LOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 187 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (61869 61741 LOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 61919 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (61873 61877 LOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO)
|
||||
(GERMAN ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 36 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (251 63 NOLOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 60 NOLOCKSHIFT))
|
||||
(128 (39 34 NOLOCKSHIFT))
|
||||
(129 (61863 61735 LOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 62 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (95 94 NOLOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (61908 61780 LOCKSHIFT))
|
||||
(159 (61925 61797 LOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO)
|
||||
(STANDARD-RUSSIAN ((100 (34 52 NOLOCKSHIFT))
|
||||
(101 (47 51 NOLOCKSHIFT))
|
||||
(102 (58 53 NOLOCKSHIFT))
|
||||
(103 (10085 10037 LOCKSHIFT))
|
||||
(104 (44 54 NOLOCKSHIFT))
|
||||
(105 (10067 10019 LOCKSHIFT))
|
||||
(106 (10068 10020 LOCKSHIFT))
|
||||
(107 (10078 10030 LOCKSHIFT))
|
||||
(108 (63 57 NOLOCKSHIFT))
|
||||
(109 (10077 10029 LOCKSHIFT))
|
||||
(110 (37 48 NOLOCKSHIFT))
|
||||
(111 (10073 10025 LOCKSHIFT))
|
||||
(112 (10071 10023 LOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (45 50 NOLOCKSHIFT))
|
||||
(117 (61352 49 NOLOCKSHIFT))
|
||||
(118 (10088 10040 LOCKSHIFT))
|
||||
(119 (10075 10027 LOCKSHIFT))
|
||||
(120 (10093 10045 LOCKSHIFT))
|
||||
(121 (10086 10038 LOCKSHIFT))
|
||||
(122 (95 56 NOLOCKSHIFT))
|
||||
(123 (10090 10042 LOCKSHIFT))
|
||||
(124 (10089 10041 LOCKSHIFT))
|
||||
(125 (10091 10043 LOCKSHIFT))
|
||||
(126 (10069 10021 LOCKSHIFT))
|
||||
(127 (10066 10018 LOCKSHIFT))
|
||||
(128 (10095 10047 LOCKSHIFT))
|
||||
(129 (10092 10044 LOCKSHIFT))
|
||||
(132 (167 43 NOLOCKSHIFT))
|
||||
(133 (92 124 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (10065 10017 LOCKSHIFT))
|
||||
(137 (10083 10035 LOCKSHIFT))
|
||||
(138 (10080 10032 LOCKSHIFT))
|
||||
(139 (10074 10026 LOCKSHIFT))
|
||||
(140 (10097 10049 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (10096 10048 LOCKSHIFT))
|
||||
(143 (10072 10024 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(145 (41 40 NOLOCKSHIFT))
|
||||
(148 (10076 10028 LOCKSHIFT))
|
||||
(149 (10070 10022 LOCKSHIFT))
|
||||
(150 (10081 10033 LOCKSHIFT))
|
||||
(151 (10079 10031 LOCKSHIFT))
|
||||
(152 (10082 10034 LOCKSHIFT))
|
||||
(153 (46 55 NOLOCKSHIFT))
|
||||
(154 (10084 10036 LOCKSHIFT))
|
||||
(155 (10094 10046 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (10087 10039 LOCKSHIFT))
|
||||
(159 (33 61 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DORADO)))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL)))
|
||||
STOP
|
||||
631
library/virtualkeyboards/DOVEKEYBOARDS
Normal file
@@ -0,0 +1,631 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
(FILECREATED " 6-Jul-2023 08:52:04" {WMEDLEY}<library>virtualkeyboards>DOVEKEYBOARDS.;3 33268
|
||||
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (VARS DOVEKEYBOARDSCOMS)
|
||||
|
||||
:PREVIOUS-DATE " 4-Jul-2023 23:19:33" {WMEDLEY}<library>virtualkeyboards>DOVEKEYBOARDS.;2)
|
||||
|
||||
|
||||
(PRETTYCOMPRINT DOVEKEYBOARDSCOMS)
|
||||
|
||||
(RPAQQ DOVEKEYBOARDSCOMS ((ALISTS (VKBD.LOADED-KEYBOARDS DOVE))))
|
||||
|
||||
(ADDTOVAR VKBD.LOADED-KEYBOARDS
|
||||
(DOVE (EUROPEAN ((100 (53 197 NOLOCKSHIFT))
|
||||
(101 (52 196 NOLOCKSHIFT))
|
||||
(102 (54 198 NOLOCKSHIFT))
|
||||
(103 (61887 61759 LOCKSHIFT))
|
||||
(104 (55 199 NOLOCKSHIFT))
|
||||
(105 (61888 61760 LOCKSHIFT))
|
||||
(106 (61872 61744 LOCKSHIFT))
|
||||
(107 (61860 61732 LOCKSHIFT))
|
||||
(108 (48 126 NOLOCKSHIFT))
|
||||
(109 (61892 61764 LOCKSHIFT))
|
||||
(110 (203 207 NOLOCKSHIFT))
|
||||
(111 (61919 61791 LOCKSHIFT))
|
||||
(112 (47 191 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 195 NOLOCKSHIFT))
|
||||
(117 (50 194 NOLOCKSHIFT))
|
||||
(118 (61873 61745 LOCKSHIFT))
|
||||
(119 (61858 61730 LOCKSHIFT))
|
||||
(120 (61874 61746 LOCKSHIFT))
|
||||
(121 (61859 61731 LOCKSHIFT))
|
||||
(122 (57 202 NOLOCKSHIFT))
|
||||
(123 (61886 61758 LOCKSHIFT))
|
||||
(124 (61864 61736 LOCKSHIFT))
|
||||
(125 (61903 61775 LOCKSHIFT))
|
||||
(126 (61908 61780 LOCKSHIFT))
|
||||
(127 (241 225 LOCKSHIFT))
|
||||
(171 (187 170 LOCKSHIFT))
|
||||
(129 (249 233 LOCKSHIFT))
|
||||
(132 (49 193 NOLOCKSHIFT))
|
||||
(165 (27 27 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (61905 61777 LOCKSHIFT))
|
||||
(137 (61869 61741 LOCKSHIFT))
|
||||
(138 (61877 61749 LOCKSHIFT))
|
||||
(139 (61906 61778 LOCKSHIFT))
|
||||
(140 (251 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (250 234 LOCKSHIFT))
|
||||
(143 (59 58 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(208 (171 186 LOCKSHIFT))
|
||||
(148 (61904 61776 LOCKSHIFT))
|
||||
(149 (61920 61792 LOCKSHIFT))
|
||||
(150 (61921 61793 LOCKSHIFT))
|
||||
(151 (61857 61729 LOCKSHIFT))
|
||||
(152 (61863 61735 LOCKSHIFT))
|
||||
(153 (56 200 NOLOCKSHIFT))
|
||||
(154 (61900 61772 LOCKSHIFT))
|
||||
(155 (239 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (246 230 LOCKSHIFT))
|
||||
(159 (207 176 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DOVE)
|
||||
(logic ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 164 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (61258 61260 NOLOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (61292 61293 NOLOCKSHIFT))
|
||||
(106 (61271 61270 NOLOCKSHIFT))
|
||||
(107 (61284 61285 NOLOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (61307 61306 NOLOCKSHIFT))
|
||||
(110 (45 177 NOLOCKSHIFT))
|
||||
(111 (61269 61268 LOCKSHIFT))
|
||||
(112 (172 174 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (61240 61241 NOLOCKSHIFT))
|
||||
(119 (61234 61235 NOLOCKSHIFT))
|
||||
(120 (61266 61262 NOLOCKSHIFT))
|
||||
(121 (61365 61365 NOLOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (61275 61274 NOLOCKSHIFT))
|
||||
(124 (61300 61299 NOLOCKSHIFT))
|
||||
(125 (61273 61272 NOLOCKSHIFT))
|
||||
(126 (61282 61283 NOLOCKSHIFT))
|
||||
(127 (61256 61257 NOLOCKSHIFT))
|
||||
(171 (61356 61356 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(165 (27 27 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (61250 61251 NOLOCKSHIFT))
|
||||
(137 (61298 61297 NOLOCKSHIFT))
|
||||
(138 (61305 61303 NOLOCKSHIFT))
|
||||
(139 (61265 61264 NOLOCKSHIFT))
|
||||
(140 (61364 61364 NOLOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (61281 233 NOLOCKSHIFT))
|
||||
(143 (61351 61351 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(208 (61357 61357 NOLOCKSHIFT))
|
||||
(148 (61279 61278 NOLOCKSHIFT))
|
||||
(149 (61239 61238 NOLOCKSHIFT))
|
||||
(150 (61290 61290 NOLOCKSHIFT))
|
||||
(151 (61263 61261 NOLOCKSHIFT))
|
||||
(152 (61295 61295 NOLOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (61252 61253 NOLOCKSHIFT))
|
||||
(155 (61254 61255 NOLOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DOVE)
|
||||
(MATH ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 36 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (61284 61285 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (174 61245 NOLOCKSHIFT))
|
||||
(107 (61369 61363 NOLOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (61254 61255 NOLOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (173 61246 LOCKSHIFT))
|
||||
(112 (47 61300 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (61282 61283 LOCKSHIFT))
|
||||
(119 (61287 61286 NOLOCKSHIFT))
|
||||
(120 (61301 61302 NOLOCKSHIFT))
|
||||
(121 (61351 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (175 61247 LOCKSHIFT))
|
||||
(124 (180 184 LOCKSHIFT))
|
||||
(125 (172 61244 LOCKSHIFT))
|
||||
(126 (61256 61257 LOCKSHIFT))
|
||||
(127 (44 61250 NOLOCKSHIFT))
|
||||
(171 (61298 61253 NOLOCKSHIFT))
|
||||
(129 (93 61265 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(165 (27 27 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (61356 61362 LOCKSHIFT))
|
||||
(138 (61254 61291 NOLOCKSHIFT))
|
||||
(139 (98 61360 NOLOCKSHIFT))
|
||||
(140 (61309 177 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 61251 NOLOCKSHIFT))
|
||||
(143 (61299 61252 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(208 (95 94 NOLOCKSHIFT))
|
||||
(148 (61358 82 LOCKSHIFT))
|
||||
(149 (61296 61266 NOLOCKSHIFT))
|
||||
(150 (61305 61303 NOLOCKSHIFT))
|
||||
(151 (61308 61267 LOCKSHIFT))
|
||||
(152 (61288 72 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (61357 61361 NOLOCKSHIFT))
|
||||
(155 (61292 61293 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 61264 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DOVE)
|
||||
(OFFICE ((100 (61397 61381 NOLOCKSHIFT))
|
||||
(101 (61396 61380 NOLOCKSHIFT))
|
||||
(102 (61398 61382 NOLOCKSHIFT))
|
||||
(103 (8557 8554 NOLOCKSHIFT))
|
||||
(104 (61399 61383 NOLOCKSHIFT))
|
||||
(105 (61232 8743 NOLOCKSHIFT))
|
||||
(106 (61346 8571 NOLOCKSHIFT))
|
||||
(107 (188 86 NOLOCKSHIFT))
|
||||
(108 (61402 61386 NOLOCKSHIFT))
|
||||
(109 (210 8738 NOLOCKSHIFT))
|
||||
(110 (61437 61438 NOLOCKSHIFT))
|
||||
(111 (163 8558 NOLOCKSHIFT))
|
||||
(112 (61248 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (61395 61379 NOLOCKSHIFT))
|
||||
(117 (61394 61378 NOLOCKSHIFT))
|
||||
(118 (185 8553 NOLOCKSHIFT))
|
||||
(119 (176 8546 NOLOCKSHIFT))
|
||||
(120 (167 8744 NOLOCKSHIFT))
|
||||
(121 (97 8745 NOLOCKSHIFT))
|
||||
(122 (61401 61385 NOLOCKSHIFT))
|
||||
(123 (162 8570 NOLOCKSHIFT))
|
||||
(124 (61437 88 NOLOCKSHIFT))
|
||||
(125 (111 8569 NOLOCKSHIFT))
|
||||
(126 (61289 8737 NOLOCKSHIFT))
|
||||
(127 (44 60 NOLOCKSHIFT))
|
||||
(171 (39 34 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (61393 61377 NOLOCKSHIFT))
|
||||
(165 (27 27 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (61233 8742 NOLOCKSHIFT))
|
||||
(137 (61438 67 NOLOCKSHIFT))
|
||||
(138 (8739 74 NOLOCKSHIFT))
|
||||
(139 (190 61436 NOLOCKSHIFT))
|
||||
(140 (189 90 NOLOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (61249 62 NOLOCKSHIFT))
|
||||
(143 (61352 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(208 (95 61280 NOLOCKSHIFT))
|
||||
(148 (212 8574 NOLOCKSHIFT))
|
||||
(149 (61354 8573 NOLOCKSHIFT))
|
||||
(150 (61286 8741 NOLOCKSHIFT))
|
||||
(151 (165 8572 NOLOCKSHIFT))
|
||||
(152 (61368 8740 NOLOCKSHIFT))
|
||||
(153 (61400 61384 NOLOCKSHIFT))
|
||||
(154 (173 175 NOLOCKSHIFT))
|
||||
(155 (172 174 NOLOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61406 61368 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DOVE)
|
||||
(DVORAK ((100 (49 42 NOLOCKSHIFT))
|
||||
(101 (51 41 NOLOCKSHIFT))
|
||||
(102 (57 37 NOLOCKSHIFT))
|
||||
(103 (46 62 NOLOCKSHIFT))
|
||||
(104 (48 38 NOLOCKSHIFT))
|
||||
(105 (101 69 LOCKSHIFT))
|
||||
(106 (103 71 LOCKSHIFT))
|
||||
(107 (107 75 LOCKSHIFT))
|
||||
(108 (54 45 NOLOCKSHIFT))
|
||||
(109 (116 84 LOCKSHIFT))
|
||||
(110 (56 95 NOLOCKSHIFT))
|
||||
(111 (108 76 LOCKSHIFT))
|
||||
(112 (122 90 LOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (53 40 NOLOCKSHIFT))
|
||||
(117 (55 35 NOLOCKSHIFT))
|
||||
(118 (44 60 NOLOCKSHIFT))
|
||||
(119 (63 47 NOLOCKSHIFT))
|
||||
(120 (111 79 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (52 164 NOLOCKSHIFT))
|
||||
(123 (99 67 LOCKSHIFT))
|
||||
(124 (113 81 LOCKSHIFT))
|
||||
(125 (114 82 LOCKSHIFT))
|
||||
(126 (110 78 LOCKSHIFT))
|
||||
(127 (119 87 LOCKSHIFT))
|
||||
(171 (44 186 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (33 64 NOLOCKSHIFT))
|
||||
(165 (27 27 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (117 85 LOCKSHIFT))
|
||||
(137 (106 74 LOCKSHIFT))
|
||||
(138 (104 72 LOCKSHIFT))
|
||||
(139 (120 88 LOCKSHIFT))
|
||||
(140 (59 58 NOLOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (118 86 LOCKSHIFT))
|
||||
(143 (115 83 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(208 (169 170 NOLOCKSHIFT))
|
||||
(148 (112 80 LOCKSHIFT))
|
||||
(149 (121 89 LOCKSHIFT))
|
||||
(150 (105 73 LOCKSHIFT))
|
||||
(151 (102 70 LOCKSHIFT))
|
||||
(152 (100 68 LOCKSHIFT))
|
||||
(153 (50 162 NOLOCKSHIFT))
|
||||
(154 (98 66 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DOVE)
|
||||
(GREEK ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 36 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (9830 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (9829 9797 LOCKSHIFT))
|
||||
(106 (9849 9817 LOCKSHIFT))
|
||||
(107 (115 9814 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (9837 9805 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (9843 9811 LOCKSHIFT))
|
||||
(112 (47 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (9853 9821 LOCKSHIFT))
|
||||
(119 (9835 9803 LOCKSHIFT))
|
||||
(120 (9846 9814 LOCKSHIFT))
|
||||
(121 (9825 9793 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (9836 9804 LOCKSHIFT))
|
||||
(124 (9851 9819 LOCKSHIFT))
|
||||
(125 (9842 9810 LOCKSHIFT))
|
||||
(126 (9838 9806 LOCKSHIFT))
|
||||
(127 (44 60 NOLOCKSHIFT))
|
||||
(171 (39 34 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(165 (27 27 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (9850 9818 LOCKSHIFT))
|
||||
(137 (9841 9809 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (9826 66 LOCKSHIFT))
|
||||
(140 (9833 9801 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 62 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(208 (95 94 NOLOCKSHIFT))
|
||||
(148 (9845 9813 LOCKSHIFT))
|
||||
(149 (9848 9816 LOCKSHIFT))
|
||||
(150 (9828 9796 LOCKSHIFT))
|
||||
(151 (9852 9820 LOCKSHIFT))
|
||||
(152 (9834 9802 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (9840 9808 LOCKSHIFT))
|
||||
(155 (9839 9807 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DOVE)
|
||||
(ITALIAN ((171 (39 34 NOLOCKSHIFT))
|
||||
(100 (53 61903 NOLOCKSHIFT))
|
||||
(101 (52 61886 NOLOCKSHIFT))
|
||||
(102 (54 61919 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (95 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 61872 NOLOCKSHIFT))
|
||||
(117 (50 61857 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 171 NOLOCKSHIFT))
|
||||
(171 (39 186 NOLOCKSHIFT))
|
||||
(129 (93 125 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(165 (27 27 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 187 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(208 (95 170 NOLOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (91 123 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DOVE)
|
||||
(SPANISH ((208 (161 191 NOLOCKSHIFT))
|
||||
(171 (59 58 NOLOCKSHIFT))
|
||||
(100 (53 61904 NOLOCKSHIFT))
|
||||
(101 (52 61887 NOLOCKSHIFT))
|
||||
(102 (54 61920 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (95 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 61873 NOLOCKSHIFT))
|
||||
(117 (50 61858 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 171 NOLOCKSHIFT))
|
||||
(171 (59 58 NOLOCKSHIFT))
|
||||
(129 (185 186 NOLOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(165 (27 27 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 187 NOLOCKSHIFT))
|
||||
(143 (61900 61772 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(208 (161 191 NOLOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 61925 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (169 170 NOLOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DOVE)
|
||||
(FRENCH ((208 (61869 61741 NOLOCKSHIFT))
|
||||
(171 (39 61857 NOLOCKSHIFT))
|
||||
(100 (53 61905 NOLOCKSHIFT))
|
||||
(101 (52 61888 NOLOCKSHIFT))
|
||||
(102 (54 61921 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (95 63 NOLOCKSHIFT))
|
||||
(115 (1 1 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 61874 NOLOCKSHIFT))
|
||||
(117 (50 61859 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 171 NOLOCKSHIFT))
|
||||
(171 (39 61857 NOLOCKSHIFT))
|
||||
(129 (61872 61892 LOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(165 (27 27 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 187 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(208 (61869 61741 LOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 61919 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (61873 61877 LOCKSHIFT))
|
||||
(159 (61 43 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DOVE)
|
||||
(GERMAN ((100 (53 37 NOLOCKSHIFT))
|
||||
(101 (52 36 NOLOCKSHIFT))
|
||||
(102 (54 126 NOLOCKSHIFT))
|
||||
(103 (101 69 LOCKSHIFT))
|
||||
(104 (55 38 NOLOCKSHIFT))
|
||||
(105 (100 68 LOCKSHIFT))
|
||||
(106 (117 85 LOCKSHIFT))
|
||||
(107 (118 86 LOCKSHIFT))
|
||||
(108 (48 41 NOLOCKSHIFT))
|
||||
(109 (107 75 LOCKSHIFT))
|
||||
(110 (45 45 NOLOCKSHIFT))
|
||||
(111 (112 80 LOCKSHIFT))
|
||||
(112 (251 63 NOLOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (51 35 NOLOCKSHIFT))
|
||||
(117 (50 64 NOLOCKSHIFT))
|
||||
(118 (119 87 LOCKSHIFT))
|
||||
(119 (113 81 LOCKSHIFT))
|
||||
(120 (115 83 LOCKSHIFT))
|
||||
(121 (97 65 LOCKSHIFT))
|
||||
(122 (57 40 NOLOCKSHIFT))
|
||||
(123 (105 73 LOCKSHIFT))
|
||||
(124 (120 88 LOCKSHIFT))
|
||||
(125 (111 79 LOCKSHIFT))
|
||||
(126 (108 76 LOCKSHIFT))
|
||||
(127 (44 60 NOLOCKSHIFT))
|
||||
(171 (39 34 NOLOCKSHIFT))
|
||||
(129 (61863 61735 LOCKSHIFT))
|
||||
(132 (49 33 NOLOCKSHIFT))
|
||||
(165 (27 27 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (102 70 LOCKSHIFT))
|
||||
(137 (99 67 LOCKSHIFT))
|
||||
(138 (106 74 LOCKSHIFT))
|
||||
(139 (98 66 LOCKSHIFT))
|
||||
(140 (122 90 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (46 62 NOLOCKSHIFT))
|
||||
(143 (59 58 NOLOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(208 (95 94 NOLOCKSHIFT))
|
||||
(148 (114 82 LOCKSHIFT))
|
||||
(149 (116 84 LOCKSHIFT))
|
||||
(150 (103 71 LOCKSHIFT))
|
||||
(151 (121 89 LOCKSHIFT))
|
||||
(152 (104 72 LOCKSHIFT))
|
||||
(153 (56 42 NOLOCKSHIFT))
|
||||
(154 (110 78 LOCKSHIFT))
|
||||
(155 (109 77 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (61908 61780 LOCKSHIFT))
|
||||
(159 (61925 61797 LOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DOVE)
|
||||
(STANDARD-RUSSIAN ((208 (41 40 NOLOCKSHIFT))
|
||||
(171 (10073 10025 NOLOCKSHIFT))
|
||||
(100 (34 52 NOLOCKSHIFT))
|
||||
(101 (47 51 NOLOCKSHIFT))
|
||||
(102 (58 53 NOLOCKSHIFT))
|
||||
(103 (10085 10037 LOCKSHIFT))
|
||||
(104 (44 54 NOLOCKSHIFT))
|
||||
(105 (10067 10019 LOCKSHIFT))
|
||||
(106 (10068 10020 LOCKSHIFT))
|
||||
(107 (10078 10030 LOCKSHIFT))
|
||||
(108 (63 57 NOLOCKSHIFT))
|
||||
(109 (10077 10029 LOCKSHIFT))
|
||||
(110 (37 48 NOLOCKSHIFT))
|
||||
(111 (10073 10025 LOCKSHIFT))
|
||||
(112 (10071 10023 LOCKSHIFT))
|
||||
(115 (8 8 NOLOCKSHIFT) . IGNORE)
|
||||
(116 (45 50 NOLOCKSHIFT))
|
||||
(117 (61352 49 NOLOCKSHIFT))
|
||||
(118 (10088 10040 LOCKSHIFT))
|
||||
(119 (10075 10027 LOCKSHIFT))
|
||||
(120 (10093 10045 LOCKSHIFT))
|
||||
(121 (10086 10038 LOCKSHIFT))
|
||||
(122 (95 56 NOLOCKSHIFT))
|
||||
(123 (10090 10042 LOCKSHIFT))
|
||||
(124 (10089 10041 LOCKSHIFT))
|
||||
(125 (10091 10043 LOCKSHIFT))
|
||||
(126 (10069 10021 LOCKSHIFT))
|
||||
(127 (10066 10018 LOCKSHIFT))
|
||||
(171 (10095 10047 LOCKSHIFT))
|
||||
(129 (10092 10044 LOCKSHIFT))
|
||||
(132 (167 43 NOLOCKSHIFT))
|
||||
(165 (27 27 NOLOCKSHIFT) . IGNORE)
|
||||
(134 (9 9 NOLOCKSHIFT) . IGNORE)
|
||||
(135 (10065 10017 LOCKSHIFT))
|
||||
(137 (10083 10035 LOCKSHIFT))
|
||||
(138 (10080 10032 LOCKSHIFT))
|
||||
(139 (10074 10026 LOCKSHIFT))
|
||||
(140 (10097 10049 LOCKSHIFT))
|
||||
(141 1SHIFTDOWN . 1SHIFTUP)
|
||||
(142 (10096 10048 LOCKSHIFT))
|
||||
(143 (10072 10024 LOCKSHIFT))
|
||||
(144 (13 13 NOLOCKSHIFT) . IGNORE)
|
||||
(208 (41 40 NOLOCKSHIFT))
|
||||
(148 (10076 10028 LOCKSHIFT))
|
||||
(149 (10070 10022 LOCKSHIFT))
|
||||
(150 (10081 10033 LOCKSHIFT))
|
||||
(151 (10079 10031 LOCKSHIFT))
|
||||
(152 (10082 10034 LOCKSHIFT))
|
||||
(153 (46 55 NOLOCKSHIFT))
|
||||
(154 (10084 10036 LOCKSHIFT))
|
||||
(155 (10094 10046 LOCKSHIFT))
|
||||
(156 LOCKDOWN . LOCKUP)
|
||||
(157 (32 32 NOLOCKSHIFT) . IGNORE)
|
||||
(158 (10087 10039 LOCKSHIFT))
|
||||
(159 (33 61 NOLOCKSHIFT))
|
||||
(160 2SHIFTDOWN . 2SHIFTUP))
|
||||
DOVE)))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL)))
|
||||
STOP
|
||||
@@ -1,13 +1,16 @@
|
||||
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
|
||||
(FILECREATED "25-May-95 14:32:35" {DSK}<project>medley2.0>library>KEYBOARDEDITOR.;4 51139
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
changes to%: (FNS EDITKEYBOARD VKBD.EDIT.CREATE-DISPLAY)
|
||||
(FILECREATED " 6-Jul-2023 16:23:12" {WMEDLEY}<library>KEYBOARDEDITOR.;3 50717
|
||||
|
||||
previous date%: "25-May-95 11:35:16" {DSK}<project>medley2.0>library>KEYBOARDEDITOR.;2)
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS VKBD.EDIT.CREATE-CHARACTERS-MENU)
|
||||
|
||||
:PREVIOUS-DATE "25-May-95 14:32:35" {WMEDLEY}<library>KEYBOARDEDITOR.;1)
|
||||
|
||||
|
||||
(* ; "
|
||||
Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights reserved.
|
||||
Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation.
|
||||
")
|
||||
|
||||
(PRETTYCOMPRINT KEYBOARDEDITORCOMS)
|
||||
@@ -15,14 +18,14 @@ Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights r
|
||||
(RPAQQ KEYBOARDEDITORCOMS
|
||||
((FILES VIRTUALKEYBOARDS)
|
||||
(COMS
|
||||
(* ;; "Editor for Configurations -- the description of the physical key layout, which keys are assignable, etc.")
|
||||
(* ;; "Editor for Configurations -- the description of the physical key layout, which keys are assignable, etc.")
|
||||
|
||||
(FNS EDITCONFIGURATION VKBD.CONF.CHANGE-KEY-VALUE VKBD.CONF.DISPLAY-FIELD-VALUE
|
||||
VKBD.CONF.DISPLAY-INFO-KEYBOARD VKBD.CONF.DISPLAY-KEY-INFO
|
||||
VKBD.CONF.EDIT-DEFAULT-ASSIGNMENTS VKBD.CONF.ICONFN VKBD.CONF.PARSE-CONFIGURATION)
|
||||
(BITMAPS VKBD.CONF.ICON))
|
||||
|
||||
(* ;; "EEditor for keyboard layouts per se:")
|
||||
(* ;; "EEditor for keyboard layouts per se:")
|
||||
|
||||
(FNS EDITKEYBOARD VKBD.EDIT.ADD-SUBITEM-TO-BACKGROUND-MENU VKBD.EDIT.CREATE-COMMAND-MENU
|
||||
VKBD.EDIT.CREATE-NON-CHAR-ASSIGMENTS-MENU VKBD.EDIT-KEYBOARD-COMMAND
|
||||
@@ -459,7 +462,8 @@ Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights r
|
||||
ITEMWIDTH _ 29])
|
||||
|
||||
(VKBD.EDIT.CREATE-CHARACTERS-MENU
|
||||
[LAMBDA (CHAR-SET-NUMBER FONT) (* sm "15-Aug-85 12:15")
|
||||
[LAMBDA (CHAR-SET-NUMBER FONT) (* ; "Edited 6-Jul-2023 16:23 by rmk")
|
||||
(* sm "15-Aug-85 12:15")
|
||||
(PROG (EXISTING-MENU-INFO NEW-MENU)
|
||||
[SETQ EXISTING-MENU-INFO (for CHARSET-FONT-MENU in VKBD.EDIT.CASH-MENUES
|
||||
thereis (AND (EQP (CAR CHARSET-FONT-MENU)
|
||||
@@ -468,21 +472,17 @@ Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights r
|
||||
FONT]
|
||||
(if EXISTING-MENU-INFO
|
||||
then (RETURN (CADDR EXISTING-MENU-INFO)))
|
||||
(PRINTOUT PROMPTWINDOW T "Wait. Bitmaps for character set " (OCTALSTRING CHAR-SET-NUMBER)
|
||||
" are being retrieved. ")
|
||||
(PRINTOUT PROMPTWINDOW T "Retrieving bitmaps for character set " (OCTALSTRING
|
||||
CHAR-SET-NUMBER))
|
||||
(SETQ NEW-MENU (create MENU
|
||||
ITEMS _ (for I from 0 to 255 bind CODE bind ROTATED-I
|
||||
collect (PROGN (SETQ ROTATED-I (SUB1 (
|
||||
VKBD.EDIT.ROTATED-NUMBER
|
||||
(ADD1 I)
|
||||
16 16)))
|
||||
(LIST (GETCHARBITMAP (SETQ CODE
|
||||
(VKBD.PARSE-CHAR-CODE
|
||||
(LIST
|
||||
CHAR-SET-NUMBER
|
||||
ROTATED-I)))
|
||||
FONT)
|
||||
CODE)))
|
||||
collect (SETQ ROTATED-I (SUB1 (VKBD.EDIT.ROTATED-NUMBER
|
||||
(ADD1 I)
|
||||
16 16)))
|
||||
(SETQ CODE (LOGOR (LLSH CHAR-SET-NUMBER 8)
|
||||
I))
|
||||
(LIST (GETCHARBITMAP CODE FONT)
|
||||
CODE))
|
||||
MENUCOLUMNS _ 16
|
||||
CENTERFLG _ T
|
||||
ITEMHEIGHT _ 25
|
||||
@@ -717,16 +717,16 @@ Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights r
|
||||
("Accented Characters" 241)))
|
||||
|
||||
(RPAQQ VKBD.EDIT.MENU-ITEMS (("CharSet" VKBD.EDIT.SWITCH-CHAR-SET-COMMAND "Pops up a menu of all possible character set number. Selecting one will switch the displayed character set."
|
||||
)
|
||||
("Stop" VKBD.EDIT.STOP-COMMAND
|
||||
)
|
||||
("Stop" VKBD.EDIT.STOP-COMMAND
|
||||
"Exit from the keyboard editor. Returns the new keyboard, but does not modify the original one."
|
||||
)
|
||||
("Quit" VKBD.EDIT.QUIT-COMMAND
|
||||
)
|
||||
("Quit" VKBD.EDIT.QUIT-COMMAND
|
||||
"Exit from the keyboard editor. Modifies the roriginal keyboard and returns it ."
|
||||
)
|
||||
("Define" VKBD.EDIT.DEFINE-COMMAND
|
||||
)
|
||||
("Define" VKBD.EDIT.DEFINE-COMMAND
|
||||
"Adds the edited keyboard in its current state to the set of known keyboards."
|
||||
)))
|
||||
)))
|
||||
|
||||
(RPAQQ VKBD.EDIT.NON-CHAR-ASSIGNMENTS (SHIFT CTRL META LOCK LOCKDOWN LOCKUP EVENT))
|
||||
|
||||
@@ -744,27 +744,26 @@ Copyright (c) 1985, 1987, 1990, 1995 by Venue & Xerox Corporation. All rights r
|
||||
VKBD.EDIT.MASK)
|
||||
)
|
||||
|
||||
(VKBD.EDIT.ADD-SUBITEM-TO-BACKGROUND-MENU (LIST "Edit" '(ADD.PROCESS '(
|
||||
VKBD.EDIT-KEYBOARD-COMMAND
|
||||
T))
|
||||
"Calls the keyboard editor. Will prompt for name for the new keyboard, and will use the default keyboard as the initial keyboard"
|
||||
VKBD.EDIT.BACKGROUND-MENU-SUBITEMS)
|
||||
(VKBD.EDIT.ADD-SUBITEM-TO-BACKGROUND-MENU (LIST "Edit" '(ADD.PROCESS '(VKBD.EDIT-KEYBOARD-COMMAND
|
||||
T))
|
||||
"Calls the keyboard editor. Will prompt for name for the new keyboard, and will use the default keyboard as the initial keyboard"
|
||||
VKBD.EDIT.BACKGROUND-MENU-SUBITEMS)
|
||||
"Keyboard")
|
||||
(PUTPROPS KEYBOARDEDITOR COPYRIGHT ("Venue & Xerox Corporation" 1985 1987 1990 1995))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (3451 17311 (EDITCONFIGURATION 3461 . 3784) (VKBD.CONF.CHANGE-KEY-VALUE 3786 . 8411) (
|
||||
VKBD.CONF.DISPLAY-FIELD-VALUE 8413 . 10186) (VKBD.CONF.DISPLAY-INFO-KEYBOARD 10188 . 12135) (
|
||||
VKBD.CONF.DISPLAY-KEY-INFO 12137 . 12894) (VKBD.CONF.EDIT-DEFAULT-ASSIGNMENTS 12896 . 14277) (
|
||||
VKBD.CONF.ICONFN 14279 . 15020) (VKBD.CONF.PARSE-CONFIGURATION 15022 . 17309)) (19637 42746 (
|
||||
EDITKEYBOARD 19647 . 21947) (VKBD.EDIT.ADD-SUBITEM-TO-BACKGROUND-MENU 21949 . 22875) (
|
||||
VKBD.EDIT.CREATE-COMMAND-MENU 22877 . 23227) (VKBD.EDIT.CREATE-NON-CHAR-ASSIGMENTS-MENU 23229 . 23692)
|
||||
(VKBD.EDIT-KEYBOARD-COMMAND 23694 . 25067) (VKBD.EDIT.ASSIGN-CHARACTER 25069 . 27743) (
|
||||
VKBD.EDIT.ASSIGN-NON-CHARACTER 27745 . 28363) (VKBD.EDIT.CREATE-CHARACTER-SETS-MENU 28365 . 29404) (
|
||||
VKBD.EDIT.CREATE-CHARACTERS-MENU 29406 . 31987) (VKBD.EDIT.CREATE-DISPLAY 31989 . 35222) (
|
||||
VKBD.EDIT.DEFINE-COMMAND 35224 . 35626) (VKBD.EDIT.DO-MENU-COMMAND 35628 . 35838) (VKBD.EDIT.ICONFN
|
||||
35840 . 36489) (VKBD.EDIT.INVERT-IF-LOCKED 36491 . 36924) (VKBD.EDIT.KEYBOARD-REPAINTFN 36926 . 37496)
|
||||
(VKBD.EDIT.LARGE-WINDOW-REPAINTFN 37498 . 38093) (VKBD.EDIT.MAKE-CURRENT-KEY 38095 . 40147) (
|
||||
VKBD.EDIT.QUIT-COMMAND 40149 . 40502) (VKBD.EDIT.STOP-COMMAND 40504 . 40730) (
|
||||
VKBD.EDIT.SWITCH-CHAR-SET-COMMAND 40732 . 41658) (VKBD.EDIT.SWITCH-CHARACTER-SET 41660 . 42443) (
|
||||
VKBD.EDIT.ROTATED-NUMBER 42445 . 42744)))))
|
||||
(FILEMAP (NIL (3425 17285 (EDITCONFIGURATION 3435 . 3758) (VKBD.CONF.CHANGE-KEY-VALUE 3760 . 8385) (
|
||||
VKBD.CONF.DISPLAY-FIELD-VALUE 8387 . 10160) (VKBD.CONF.DISPLAY-INFO-KEYBOARD 10162 . 12109) (
|
||||
VKBD.CONF.DISPLAY-KEY-INFO 12111 . 12868) (VKBD.CONF.EDIT-DEFAULT-ASSIGNMENTS 12870 . 14251) (
|
||||
VKBD.CONF.ICONFN 14253 . 14994) (VKBD.CONF.PARSE-CONFIGURATION 14996 . 17283)) (19611 42442 (
|
||||
EDITKEYBOARD 19621 . 21921) (VKBD.EDIT.ADD-SUBITEM-TO-BACKGROUND-MENU 21923 . 22849) (
|
||||
VKBD.EDIT.CREATE-COMMAND-MENU 22851 . 23201) (VKBD.EDIT.CREATE-NON-CHAR-ASSIGMENTS-MENU 23203 . 23666)
|
||||
(VKBD.EDIT-KEYBOARD-COMMAND 23668 . 25041) (VKBD.EDIT.ASSIGN-CHARACTER 25043 . 27717) (
|
||||
VKBD.EDIT.ASSIGN-NON-CHARACTER 27719 . 28337) (VKBD.EDIT.CREATE-CHARACTER-SETS-MENU 28339 . 29378) (
|
||||
VKBD.EDIT.CREATE-CHARACTERS-MENU 29380 . 31683) (VKBD.EDIT.CREATE-DISPLAY 31685 . 34918) (
|
||||
VKBD.EDIT.DEFINE-COMMAND 34920 . 35322) (VKBD.EDIT.DO-MENU-COMMAND 35324 . 35534) (VKBD.EDIT.ICONFN
|
||||
35536 . 36185) (VKBD.EDIT.INVERT-IF-LOCKED 36187 . 36620) (VKBD.EDIT.KEYBOARD-REPAINTFN 36622 . 37192)
|
||||
(VKBD.EDIT.LARGE-WINDOW-REPAINTFN 37194 . 37789) (VKBD.EDIT.MAKE-CURRENT-KEY 37791 . 39843) (
|
||||
VKBD.EDIT.QUIT-COMMAND 39845 . 40198) (VKBD.EDIT.STOP-COMMAND 40200 . 40426) (
|
||||
VKBD.EDIT.SWITCH-CHAR-SET-COMMAND 40428 . 41354) (VKBD.EDIT.SWITCH-CHARACTER-SET 41356 . 42139) (
|
||||
VKBD.EDIT.ROTATED-NUMBER 42141 . 42440)))))
|
||||
STOP
|
||||
BIN
library/virtualkeyboards/KEYBOARDEDITOR.LCOM
Normal file
BIN
library/virtualkeyboards/KeyboardEditor.tedit
Normal file
@@ -1,17 +1,17 @@
|
||||
(DEFINE-FILE-INFO PACKAGE "IL" READTABLE "XCL" BASE 10)
|
||||
(FILECREATED "22-Dec-2018 22:58:47"
|
||||
|{DSK}<Users>kaplan>Local>medley3.5>lispcore>library>VIRTUALKEYBOARDS.;10| 141793
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
|
||||
|
||||
|changes| |to:| (VARS VIRTUALKEYBOARDSCOMS VKBD.BACKGROUND-MENU-SUBITEMS
|
||||
VKBD.NON-CHAR-ASSIGNMENTS-LABELS VKBD.WINDOW-MENU-SUBITEMS VKBD.ICON
|
||||
VKBD.MASK MODEACTIONS)
|
||||
(RECORDS KEYBOARDCONFIGURATION VIRTUALKEYBOARD)
|
||||
(FILECREATED " 6-Jul-2023 15:55:10" |{WMEDLEY}<library>VIRTUALKEYBOARDS>VIRTUALKEYBOARDS.;16| 140655
|
||||
|
||||
|previous| |date:| "22-Dec-2018 22:52:44"
|
||||
|{DSK}<Users>kaplan>Local>medley3.5>lispcore>library>VIRTUALKEYBOARDS.;9|)
|
||||
:EDIT-BY |rmk|
|
||||
|
||||
:CHANGES-TO (VARS VIRTUALKEYBOARDSCOMS)
|
||||
(FNS VKBD.INIT VKBD.LOAD-KEYBOARD-FILE METASHIFT)
|
||||
|
||||
:PREVIOUS-DATE "28-Jun-2023 11:52:23" |{WMEDLEY}<library>virtualkeyboards>VIRTUALKEYBOARDS.;9|
|
||||
)
|
||||
|
||||
|
||||
; Copyright (c) 1985, 1986, 1987, 1988, 1990, 1992, 1993, 1995, 1996, 2017, 2018 by Venue & Xerox Corporation. All rights reserved.
|
||||
; Copyright (c) 1985-1988, 1990, 1992-1993, 1995-1996, 2017-2018 by Venue & Xerox Corporation.
|
||||
|
||||
(PRETTYCOMPRINT VIRTUALKEYBOARDSCOMS)
|
||||
|
||||
@@ -50,7 +50,8 @@
|
||||
UNDERLINE NOTUNDERLINE SUBSCRIPT SUPERSCRIPT SMALLER LARGER MARGINS NOTMARGINS
|
||||
LOOKS NOTLOOKS F11 NOTF11 F12 NOTF12))
|
||||
(RECORDS KEYBOARDCONFIGURATION VIRTUALKEYBOARD)
|
||||
(INITVARS (VKBD.KNOWN-KEYBOARDS NIL))
|
||||
(INITVARS (VKBD.LOADED-KEYBOARDS NIL)
|
||||
(VKBD.KNOWN-KEYBOARDS NIL))
|
||||
(FILES (SOURCE)
|
||||
KEYBOARDCONFIGS)
|
||||
(VARS VKBD.BACKGROUND-MENU-SUBITEMS VKBD.NON-CHAR-ASSIGNMENTS-LABELS
|
||||
@@ -60,6 +61,7 @@
|
||||
VKBD.KNOWN-KEYBOARDS VKBD.NON-CHAR-ASSIGNMENTS-LABELS VKBD.ICON VKBD.MASK
|
||||
CURRENTKEYBOARDCONFIG VKBD.CONFIGURATIONS VKBD.COMMONCODELABELS VKBD.COMMONKEYLABELS
|
||||
VKBD.COMMONDEFAULTASSIGNMENT)
|
||||
(INITVARS (CURRENTKEYBOARDCONFIG NIL))
|
||||
(COMS (DECLARE\: FIRST (P (MOVD? '\\KEYBOARDEVENTFN '\\OLDKEYBOARDEVENTFN)))
|
||||
(INITVARS (\\ORIGINALDEFAULTKEYACTION))
|
||||
(FNS VKBD.\\KEYBOARDEVENTFN VKBD.RESETKEYACTIONTABLES)
|
||||
@@ -75,11 +77,12 @@
|
||||
'DEFAULT)))
|
||||
(FNS FIXKEYBOARD FIXKEYBOARDCONFIG FIXKEYASSIGNMENTS)
|
||||
(DECLARE\: DONTEVAL@LOAD DOCOPY (P (VKBD.INIT)))
|
||||
(COMS (FNS METASHIFT)
|
||||
(* \;
|
||||
"Call new definition if the old one had been called")
|
||||
(P (AND (MEMB (MACHINETYPE)
|
||||
'(MAIKO DORADO))
|
||||
(COMS (P (MOVD? 'METASHIFT 'OLDMETASHIFT))
|
||||
(FNS METASHIFT)
|
||||
(* \;
|
||||
"Call new definition if the old one had been called")
|
||||
(P (AND (MEMB (KEYBOARDTYPE)
|
||||
'(X DORADO))
|
||||
(EQUAL (KEYACTION 'BLANK-BOTTOM)
|
||||
'(METADOWN . METAUP))
|
||||
(METASHIFT T))))
|
||||
@@ -217,61 +220,34 @@
|
||||
'DEFAULT)))))))
|
||||
|
||||
(VKBD.CREATE-KEYACTION-TABLE
|
||||
|
||||
(LAMBDA (NEW-KEYBOARD OLDTABLE) (* \; "Edited 29-Feb-96 12:32 by rmk")
|
||||
|
||||
(LAMBDA (NEW-KEYBOARD OLDTABLE) (* \; "Edited 28-Jun-2023 11:52 by rmk")
|
||||
(* \; "Edited 29-Feb-96 12:32 by rmk")
|
||||
(PROG (KEYBOARDNAME FOUND KEYACTION-TABLE CONFIG)
|
||||
|
||||
(CL:UNLESS (COND
|
||||
|
||||
((AND (ATOM NEW-KEYBOARD)
|
||||
|
||||
(SETQ FOUND (FINDVIRTUALKEYBOARD NEW-KEYBOARD)))
|
||||
|
||||
(SETQ NEW-KEYBOARD FOUND))
|
||||
|
||||
((MEMB NEW-KEYBOARD VKBD.KNOWN-KEYBOARDS)))
|
||||
|
||||
|
||||
|
||||
(* |;;| "Use FOUND to preserve NEW-KEYBOARD for error")
|
||||
|
||||
|
||||
(* |;;| "Use FOUND to preserve NEW-KEYBOARD for error")
|
||||
|
||||
(ERROR "INVALID KEYBOARD" NEW-KEYBOARD))
|
||||
|
||||
(SETQ KEYBOARDNAME (FETCH (VIRTUALKEYBOARD KEYBOARDNAME) OF NEW-KEYBOARD))
|
||||
|
||||
(COND
|
||||
|
||||
(OLDTABLE (SETQ KEYACTION-TABLE (RESETKEYACTION OLDTABLE)))
|
||||
|
||||
((SETQ KEYACTION-TABLE (GETPROP KEYBOARDNAME 'KEYACTIONTABLE))
|
||||
|
||||
(RETURN KEYACTION-TABLE))
|
||||
|
||||
(T (SETQ KEYACTION-TABLE (KEYACTIONTABLE))))
|
||||
|
||||
(SETQ NEW-KEYBOARD (VKBD.COMPLETE-KEYBOARD NEW-KEYBOARD))
|
||||
|
||||
(SETQ CONFIG (VKBD.GET-CONFIGURATION (FETCH (VIRTUALKEYBOARD KEYBOARDCONFIGURATION)
|
||||
|
||||
OF NEW-KEYBOARD)))
|
||||
|
||||
(FOR KEY-ASSIGNMENT IN (FETCH (VIRTUALKEYBOARD COMPLETEKEYASSIGNMENTS)
|
||||
|
||||
OF NEW-KEYBOARD) DO (OLDKEYACTION (CAR
|
||||
|
||||
KEY-ASSIGNMENT
|
||||
|
||||
)
|
||||
|
||||
(CDR KEY-ASSIGNMENT)
|
||||
|
||||
KEYACTION-TABLE))
|
||||
|
||||
OF NEW-KEYBOARD)))
|
||||
(FOR KEY-ASSIGNMENT IN (FETCH (VIRTUALKEYBOARD COMPLETEKEYASSIGNMENTS) OF NEW-KEYBOARD)
|
||||
DO (CL:UNLESS (MEMB (CAR KEY-ASSIGNMENT)
|
||||
'(31 86))
|
||||
(OLDKEYACTION (CAR KEY-ASSIGNMENT)
|
||||
(CDR KEY-ASSIGNMENT)
|
||||
KEYACTION-TABLE)))
|
||||
(PUTPROP KEYBOARDNAME 'KEYACTIONTABLE KEYACTION-TABLE)
|
||||
|
||||
(RETURN KEYACTION-TABLE))))
|
||||
|
||||
(vkbd.windowmenufn
|
||||
@@ -414,7 +390,9 @@
|
||||
(setq |BackgroundMenu| nil)))
|
||||
|
||||
(VKBD.INIT
|
||||
(LAMBDA NIL (* \; "Edited 14-Jun-2017 14:22 by kaplan")
|
||||
(LAMBDA NIL (* \; "Edited 6-Jul-2023 15:14 by rmk")
|
||||
(* \; "Edited 28-Jun-2023 10:40 by rmk")
|
||||
(* \; "Edited 14-Jun-2017 14:22 by kaplan")
|
||||
(* \; "Edited 16-Jun-92 11:14 by kaplan")
|
||||
|
||||
(* |;;| "Reads virtual keyboard file for current type (or default type), if it can be found. Keyboards that don't match current keyboard can be displayed but not installed (via PROCESS.KEYBOARD)")
|
||||
@@ -423,35 +401,22 @@
|
||||
(SETQ \\ORIGINALDEFAULTKEYACTION (KEYACTIONTABLE \\DEFAULTKEYACTION)))
|
||||
(SETQ VKBD.COMMONCODELABELS (FOR X IN VKBD.COMMONCHARLABELS
|
||||
COLLECT (IF (LISTP X)
|
||||
THEN (IF (SMALLP (CAR X))
|
||||
THEN X
|
||||
ELSE (LIST (CHARCODE.DECODE
|
||||
(CAR X))
|
||||
(CADR X)))
|
||||
ELSE (LIST (CHARCODE.DECODE X)
|
||||
X))))
|
||||
THEN (IF (SMALLP (CAR X))
|
||||
THEN X
|
||||
ELSE (LIST (CHARCODE.DECODE (CAR X))
|
||||
(CADR X)))
|
||||
ELSE (LIST (CHARCODE.DECODE X)
|
||||
X))))
|
||||
(VKBD.ADD-ITEM-TO-BACKGROUND-MENU "Keyboard" ''(SWITCHKEYBOARDS T NIL)
|
||||
"Displays a menu for switching keyboards" VKBD.BACKGROUND-MENU-SUBITEMS)
|
||||
(VKBD.WINDOWMENUINIT)
|
||||
(LET (FILE (KT (KEYBOARDTYPE)))
|
||||
(LET ((KT (KEYBOARDTYPE)))
|
||||
(SETQ CURRENTKEYBOARDCONFIG (VKBD.GET-CONFIGURATION KT))
|
||||
(COND
|
||||
((SETQ FILE (COND
|
||||
((AND KT (FINDFILE (PACK* KT "KEYBOARDS")
|
||||
T)))
|
||||
(T (FINDFILE (PACK* DEFAULTVIRTUALKEYBOARDTYPE "KEYBOARDS")
|
||||
T))))
|
||||
(VKBD.LOAD-KEYBOARD-FILE FILE)
|
||||
(CL:WHEN (VKBD.LOAD-KEYBOARD-FILE KT)
|
||||
|
||||
(* |;;| "Loading a keyboard file may change our notion of KEYBOARDTYPE, because of new coercion paths. The default keyboard will be added for the new type")
|
||||
|
||||
(VKBD.ADD-DEFAULT-KEYBOARD))
|
||||
(T
|
||||
(* |;;| "Special printing here to avoid file-not-found error in case where user calls VKBD.LOAD-KEYBOARD-FILE directly")
|
||||
|
||||
(PROMPTPRINT "Note: virtual keyboard file for type " (OR (KEYBOARDTYPE)
|
||||
DEFAULTVIRTUALKEYBOARDTYPE)
|
||||
" keyboards not found"))))))
|
||||
(VKBD.ADD-DEFAULT-KEYBOARD)))))
|
||||
|
||||
(VKBD.CREATE-DEFAULT-KEYBOARD
|
||||
|
||||
@@ -474,9 +439,10 @@
|
||||
OF CONFIGURATION)))))
|
||||
|
||||
(VKBD.ADD-DEFAULT-KEYBOARD
|
||||
(LAMBDA (KEYBOARDTYPE) (* \; "Edited 23-May-95 17:04 by rmk:")
|
||||
(LAMBDA (KEYBOARDTYPE) (* \; "Edited 28-Jun-2023 10:45 by rmk")
|
||||
(* \; "Edited 23-May-95 17:04 by rmk:")
|
||||
|
||||
(* |;;;| "It is useful practice to be able to switch back to the original key assignments. Thus the program is adding one special keyboard with the name DEFAULT which is the current keyboardtype's default keyboard.")
|
||||
(* |;;;| "It is useful practice to be able to switch back to the original key assignments. Thus the program is adding one special keyboard with the name DEFAULT which is the current keyboardtype's default keyboard.")
|
||||
|
||||
(SETQ KEYBOARDTYPE (OR KEYBOARDTYPE (KEYBOARDTYPE)))
|
||||
(BIND DEFAULT WHILE (SETQ DEFAULT (FINDVIRTUALKEYBOARD 'DEFAULT KEYBOARDTYPE))
|
||||
@@ -504,114 +470,55 @@
|
||||
THEN (VKBD.LOAD-KEYBOARD-FILE F REDEFINE? DELETE-FIRST? T)))))
|
||||
|
||||
(VKBD.LOAD-KEYBOARD-FILE
|
||||
(LAMBDA (KEYBOARDTYPE REDEFINE? DELETE-CURRENT-DEFINITIONS?)
|
||||
(* \; "Edited 6-Jul-2023 15:11 by rmk")
|
||||
(* \; "Edited 4-Jul-2023 23:22 by rmk")
|
||||
(CL:UNLESS KEYBOARDTYPE (SETQ KEYBOARDTYPE DEFAULTVIRTUALKEYBOARDTYPE))
|
||||
|
||||
(LAMBDA (FILENAME REDEFINE? DELETE-CURRENT-DEFINITIONS? PROMPTPRINT)
|
||||
(* |;;| "Returns T if keyboards of type KEYBOARDTYPE found. Prints prompt warning and returns NIL if not found.")
|
||||
|
||||
(* \; "Edited 4-Mar-96 10:53 by rmk")
|
||||
(* |;;| "Note: Can't switch to READFILE, since it uses OLD-INTERLISP readtable which doesn't honor vertical bars around numeric atoms.")
|
||||
|
||||
(LET (FILE (VKBDDIRS (CONS (MEDLEYDIR "library/virtualkeyboards/")
|
||||
LISPUSERSDIRECTORIES))
|
||||
(NEWKEYBOARDS (CDR (ASSOC KEYBOARDTYPE VKBD.LOADED-KEYBOARDS))))
|
||||
(CL:UNLESS NEWKEYBOARDS
|
||||
|
||||
(* |;;| "If keyboards of type KEYBOARDTYPE have not previously been loaded, we look for a file <KEYBOARDTYPE>KEYBOARDS (e.g. XKEYBOARDS, SDLKEYBOARDS), defaulting to the directory that VIRTUALKEYBOARDS is coming from. It is assumed that that file will add the desired keyboards to VKBD.LOADED-KEYBOARDS,")
|
||||
|
||||
(* |;;| "Note: Can't switch to READFILE, since it uses OLD-INTERLISP readtable which doesn't honor vertical bars around numeric atoms.")
|
||||
(CL:WHEN (SETQ FILE (FINDFILE (PACK* KEYBOARDTYPE "KEYBOARDS")
|
||||
T VKBDDIRS))
|
||||
(LOAD FILE T)
|
||||
(SETQ NEWKEYBOARDS (CDR (ASSOC KEYBOARDTYPE VKBD.LOADED-KEYBOARDS)))))
|
||||
(|if| NEWKEYBOARDS
|
||||
|then| (COND
|
||||
(DELETE-CURRENT-DEFINITIONS? (SETQ VKBD.KNOWN-KEYBOARDS NEWKEYBOARDS)
|
||||
(VKBD.ADD-DEFAULT-KEYBOARD))
|
||||
(T (FOR NEWKEYBOARD KN KC IN NEWKEYBOARDS
|
||||
DO
|
||||
(* |;;|
|
||||
"To make sure that COMPLETEDASSIGNMENTS cell (or any other new cells) exist--backward compatibility")
|
||||
|
||||
(SETQ NEWKEYBOARD (CREATE VIRTUALKEYBOARD USING NEWKEYBOARD))
|
||||
(SETQ KN (FETCH KEYBOARDNAME OF NEWKEYBOARD))
|
||||
(SETQ KC (FETCH KEYBOARDCONFIGURATION OF NEWKEYBOARD))
|
||||
(FOR TAIL OLDKEYBOARD ON VKBD.KNOWN-KEYBOARDS
|
||||
WHEN (AND (EQ KN (FETCH KEYBOARDNAME OF (SETQ OLDKEYBOARD
|
||||
(CAR TAIL))))
|
||||
(EQ KC (FETCH KEYBOARDCONFIGURATION OF OLDKEYBOARD)))
|
||||
DO
|
||||
|
||||
(* |;;| "If REDEFINE?, then replace one with same name and configuration. Otherwise, keep the old one instead of installing the new one.")
|
||||
|
||||
(LET ((NEWKEYBOARDS (CL:WITH-OPEN-FILE (STREAM FILENAME :DIRECTION :INPUT)
|
||||
|
||||
(BIND KB DATE (*PACKAGE* _ *INTERLISP-PACKAGE*)
|
||||
|
||||
(RDTBL _ (FIND-READTABLE "INTERLISP"))
|
||||
|
||||
FIRST (SETQ DATE (READ STREAM RDTBL))
|
||||
|
||||
(CL:UNLESS (LISTP DATE)
|
||||
|
||||
(CL:WHEN (STRINGP DATE)
|
||||
|
||||
(SETQ DATE (CONCAT "Keyboards from " (FULLNAME STREAM
|
||||
|
||||
)
|
||||
|
||||
" [" DATE "]"))
|
||||
|
||||
(IF PROMPTPRINT
|
||||
|
||||
THEN (PROMPTPRINT DATE)
|
||||
|
||||
ELSE (PRINTOUT T DATE T)))
|
||||
|
||||
(SETQ DATE NIL)) WHILE (SKIPSEPRCODES STREAM RDTBL)
|
||||
|
||||
UNTIL (EQ 'STOP (SETQ KB (READ STREAM RDTBL))) COLLECT
|
||||
|
||||
KB
|
||||
|
||||
FINALLY (CL:WHEN DATE
|
||||
|
||||
|
||||
|
||||
(* |;;|
|
||||
|
||||
"Was a LISTP date, must have been a keyboard")
|
||||
|
||||
|
||||
|
||||
(PUSH DATE $$VAL))))))
|
||||
|
||||
(COND
|
||||
|
||||
(DELETE-CURRENT-DEFINITIONS? (SETQ VKBD.KNOWN-KEYBOARDS NEWKEYBOARDS)
|
||||
|
||||
(VKBD.ADD-DEFAULT-KEYBOARD))
|
||||
|
||||
(T (FOR NEWKEYBOARD KN KC IN NEWKEYBOARDS
|
||||
|
||||
DO
|
||||
|
||||
|
||||
|
||||
(* |;;|
|
||||
|
||||
"To make sure that COMPLETEDASSIGNMENTS cell (or any other new cells) exist--backward compatibility")
|
||||
|
||||
|
||||
|
||||
(SETQ NEWKEYBOARD (CREATE VIRTUALKEYBOARD USING NEWKEYBOARD))
|
||||
|
||||
(SETQ KN (FETCH KEYBOARDNAME OF NEWKEYBOARD))
|
||||
|
||||
(SETQ KC (FETCH KEYBOARDCONFIGURATION OF NEWKEYBOARD))
|
||||
|
||||
(FOR TAIL OLDKEYBOARD ON VKBD.KNOWN-KEYBOARDS
|
||||
|
||||
WHEN (AND (EQ KN (FETCH KEYBOARDNAME OF (SETQ OLDKEYBOARD
|
||||
|
||||
(CAR TAIL))))
|
||||
|
||||
(EQ KC (FETCH KEYBOARDCONFIGURATION OF OLDKEYBOARD))
|
||||
|
||||
) DO
|
||||
|
||||
|
||||
|
||||
(* |;;| "If REDEFINE?, then replace one with same name and configuration. Otherwise, keep the old one instead of installing the new one.")
|
||||
|
||||
|
||||
|
||||
(COND
|
||||
|
||||
(REDEFINE? (RPLACA TAIL NEWKEYBOARD))
|
||||
|
||||
(T (RETURN))) FINALLY (SETQ
|
||||
|
||||
VKBD.KNOWN-KEYBOARDS
|
||||
|
||||
(NCONC1
|
||||
|
||||
VKBD.KNOWN-KEYBOARDS
|
||||
|
||||
NEWKEYBOARD))))
|
||||
|
||||
)))))
|
||||
(COND
|
||||
(REDEFINE? (RPLACA TAIL NEWKEYBOARD))
|
||||
(T (RETURN))) FINALLY (SETQ VKBD.KNOWN-KEYBOARDS
|
||||
(NCONC1 VKBD.KNOWN-KEYBOARDS
|
||||
NEWKEYBOARD))))))
|
||||
T
|
||||
|else| (PROMPTPRINT "Note: Can't find virtual keyboard file for " KEYBOARDTYPE
|
||||
" keyboards")
|
||||
NIL))))
|
||||
|
||||
(vkbd.store-file-command
|
||||
(lambda (f) (* \; "Edited 15-Dec-87 16:31 by Snow")
|
||||
@@ -2412,29 +2319,29 @@
|
||||
(NOTF12 621))
|
||||
(DECLARE\: EVAL@COMPILE
|
||||
|
||||
(RECORD KEYBOARDCONFIGURATION (CONFIGURATIONNAME KBCDUMMY1 KEYREGIONS KBCDUMMY2 DEFAULTASSIGNMENT
|
||||
KEYNAMESMAPPING KEYBOARDTYPE KEYLABELS KEYLABELSFONT
|
||||
BACKGROUNDSHADE KEYBOARDDISPLAYFONT CHARLABELS)
|
||||
(RECORD KEYBOARDCONFIGURATION (CONFIGURATIONNAME KBCDUMMY1 KEYREGIONS KBCDUMMY2 DEFAULTASSIGNMENT
|
||||
KEYNAMESMAPPING KEYBOARDTYPE KEYLABELS KEYLABELSFONT
|
||||
BACKGROUNDSHADE KEYBOARDDISPLAYFONT CHARLABELS)
|
||||
|
||||
(* |;;| "Dummy fields so length test still works")
|
||||
(* |;;| "Dummy fields so length test still works")
|
||||
|
||||
(TYPE? (EQLENGTH DATUM (CONSTANT (LENGTH (RECORDFIELDNAMES
|
||||
|
||||
'
|
||||
KEYBOARDCONFIGURATION
|
||||
)))))
|
||||
KEYBOARDTYPE _ (KEYBOARDTYPE)
|
||||
KEYLABELSFONT _ DEFAULTKEYBOARDLABELSFONT BACKGROUNDSHADE _ 23130
|
||||
KEYBOARDDISPLAYFONT _ DEFAULTKEYBOARDDISPLAYFONT)
|
||||
(TYPE? (EQLENGTH DATUM (CONSTANT (LENGTH (RECORDFIELDNAMES
|
||||
'KEYBOARDCONFIGURATION)
|
||||
))))
|
||||
KEYBOARDTYPE _ (KEYBOARDTYPE)
|
||||
KEYLABELSFONT _ DEFAULTKEYBOARDLABELSFONT BACKGROUNDSHADE _ 23130
|
||||
KEYBOARDDISPLAYFONT _ DEFAULTKEYBOARDDISPLAYFONT)
|
||||
|
||||
(RECORD VIRTUALKEYBOARD (KEYBOARDNAME KEYASSIGNMENTS KEYBOARDCONFIGURATION KEYBOARDDISPLAYFONT)
|
||||
(HASHLINK VIRTUALKEYBOARD (COMPLETEKEYASSIGNMENTS VKBDHASHARRAY 20)))
|
||||
(HASHLINK VIRTUALKEYBOARD (COMPLETEKEYASSIGNMENTS VKBDHASHARRAY 20)))
|
||||
)
|
||||
|
||||
(DECLARE\: EVAL@COMPILE (GLOBALVARS VKBDHASHARRAY))
|
||||
|
||||
(SETUPHASHARRAY 'VKBDHASHARRAY 20)
|
||||
|
||||
(RPAQ? VKBD.LOADED-KEYBOARDS NIL)
|
||||
|
||||
(RPAQ? VKBD.KNOWN-KEYBOARDS NIL)
|
||||
|
||||
(FILESLOAD (SOURCE)
|
||||
@@ -2485,11 +2392,11 @@
|
||||
)))))
|
||||
|
||||
(RPAQQ VKBD.NON-CHAR-ASSIGNMENTS-LABELS ((SHIFT SHIFT)
|
||||
(CTRL CTRL)
|
||||
(META META)
|
||||
(LOCK LOCK)
|
||||
(LOCKUP LOCKUP)
|
||||
(LOCKDOWN LOCKDOWN)))
|
||||
(CTRL CTRL)
|
||||
(META META)
|
||||
(LOCK LOCK)
|
||||
(LOCKUP LOCKUP)
|
||||
(LOCKDOWN LOCKDOWN)))
|
||||
|
||||
(RPAQQ VKBD.WINDOW-MENU-SUBITEMS
|
||||
(SUBITEMS ("Switch keyboard" (FUNCTION (LAMBDA (W)
|
||||
@@ -2549,6 +2456,8 @@
|
||||
VKBD.NON-CHAR-ASSIGNMENTS-LABELS VKBD.ICON VKBD.MASK CURRENTKEYBOARDCONFIG VKBD.CONFIGURATIONS
|
||||
VKBD.COMMONCODELABELS VKBD.COMMONKEYLABELS VKBD.COMMONDEFAULTASSIGNMENT)
|
||||
)
|
||||
|
||||
(RPAQ? CURRENTKEYBOARDCONFIG NIL)
|
||||
(DECLARE\: FIRST
|
||||
|
||||
(MOVD? '\\KEYBOARDEVENTFN '\\OLDKEYBOARDEVENTFN)
|
||||
@@ -2858,18 +2767,18 @@
|
||||
|
||||
(RPAQ? MODEKEYS )
|
||||
|
||||
(RPAQQ MODEACTIONS (EVENT CTRLUP CTRLDOWN 1SHIFTUP 1SHIFTDOWN 2SHIFTUP 2SHIFTDOWN LOCKUP LOCKDOWN
|
||||
LOCKTOGGLE METAUP METADOWN FONTUP FONTDOWN FONTTOGGLE USERMODE1UP
|
||||
USERMODE1DOWN USERMODE1TOGGLE USERMODE2UP USERMODE2DOWN USERMODE2TOGGLE
|
||||
USERMODE3UP USERMODE3DOWN USERMODE3TOGGLE))
|
||||
(RPAQQ MODEACTIONS (EVENT CTRLUP CTRLDOWN 1SHIFTUP 1SHIFTDOWN 2SHIFTUP 2SHIFTDOWN LOCKUP LOCKDOWN
|
||||
LOCKTOGGLE METAUP METADOWN FONTUP FONTDOWN FONTTOGGLE USERMODE1UP
|
||||
USERMODE1DOWN USERMODE1TOGGLE USERMODE2UP USERMODE2DOWN USERMODE2TOGGLE
|
||||
USERMODE3UP USERMODE3DOWN USERMODE3TOGGLE))
|
||||
(DECLARE\: DOEVAL@COMPILE DONTCOPY
|
||||
|
||||
(GLOBALVARS MODEKEYS MODEACTIONS)
|
||||
)
|
||||
|
||||
(ADDTOVAR BREAKRESETFORMS ((LAMBDA (K)
|
||||
(PROCESS.KEYBOARD NIL K))
|
||||
'DEFAULT))
|
||||
(PROCESS.KEYBOARD NIL K))
|
||||
'DEFAULT))
|
||||
(DEFINEQ
|
||||
|
||||
(FIXKEYBOARD
|
||||
@@ -3390,12 +3299,15 @@
|
||||
|
||||
(VKBD.INIT)
|
||||
)
|
||||
|
||||
(MOVD? 'METASHIFT 'OLDMETASHIFT)
|
||||
(DEFINEQ
|
||||
|
||||
(METASHIFT
|
||||
(LAMBDA FLG (* \; "Edited 16-Jun-92 08:44 by rmk:")
|
||||
(LAMBDA FLG (* \; "Edited 6-Jul-2023 09:21 by rmk")
|
||||
(* \; "Edited 16-Jun-92 08:44 by rmk:")
|
||||
|
||||
(* |;;| "Sets interpretation of swat key to first arg, where T means meta-shift, NIL means original setting. Returns previous setting. This differs from LLKEY version in that it changes the \\DORADOKEYACTIONS and \\DEFAULTKEYACTION table to insure that the metashift remains in effect across keyboard switches.")
|
||||
(* |;;| "Sets interpretation of swat key to first arg, where T means meta-shift, NIL means original setting. Returns previous setting. This differs from LLKEY version in that it changes the \\DORADOKEYACTIONS and \\DEFAULTKEYACTION table to insure that the metashift remains in effect across keyboard switches.")
|
||||
|
||||
(PROG* ((METASTATUS '(METADOWN . METAUP))
|
||||
(ARGUMENT (AND (IGREATERP FLG 0)
|
||||
@@ -3408,19 +3320,19 @@
|
||||
OLDSETTING)
|
||||
(SETQ OLDSETTING (KEYACTION 'BLANK-BOTTOM ARGUMENT))
|
||||
|
||||
(* |;;|
|
||||
"Update \\doradokeyactions table so we don't lose the change when we repalce the keyaction table.")
|
||||
(* |;;|
|
||||
"Update \\doradokeyactions table so we don't lose the change when we repalce the keyaction table.")
|
||||
|
||||
(AND (EQ (MACHINETYPE)
|
||||
'DORADO)
|
||||
(COND
|
||||
(ARGUMENT (PUTASSOC 'BLANK-BOTTOM ARGUMENT \\DORADOKEYACTIONS)
|
||||
(KEYACTION 'BLANK-BOTTOM ARGUMENT \\DEFAULTKEYACTION))
|
||||
(T (SETQ \\DORADOKEYACTIONS (|for| X |in| \\DORADOKEYACTIONS
|
||||
|join| (AND (NEQ (CAR X)
|
||||
'BLANK-BOTTOM)
|
||||
(LIST X))))
|
||||
(KEYACTION 'BLANK-BOTTOM NIL \\DEFAULTKEYACTION))))
|
||||
(CL:WHEN (EQ (KEYBOARDTYPE)
|
||||
'DORADO)
|
||||
(COND
|
||||
(ARGUMENT (PUTASSOC 'BLANK-BOTTOM ARGUMENT \\DORADOKEYACTIONS)
|
||||
(KEYACTION 'BLANK-BOTTOM ARGUMENT \\DEFAULTKEYACTION))
|
||||
(T (SETQ \\DORADOKEYACTIONS (|for| X |in| \\DORADOKEYACTIONS
|
||||
|join| (AND (NEQ (CAR X)
|
||||
'BLANK-BOTTOM)
|
||||
(LIST X))))
|
||||
(KEYACTION 'BLANK-BOTTOM NIL \\DEFAULTKEYACTION))))
|
||||
(RETURN (COND
|
||||
((EQUAL OLDSETTING METASTATUS)
|
||||
T)
|
||||
@@ -3432,8 +3344,8 @@
|
||||
(* \; "Call new definition if the old one had been called")
|
||||
|
||||
|
||||
(AND (MEMB (MACHINETYPE)
|
||||
'(MAIKO DORADO))
|
||||
(AND (MEMB (KEYBOARDTYPE)
|
||||
'(X DORADO))
|
||||
(EQUAL (KEYACTION 'BLANK-BOTTOM)
|
||||
'(METADOWN . METAUP))
|
||||
(METASHIFT T))
|
||||
@@ -3450,38 +3362,38 @@
|
||||
(PUTPROPS VIRTUALKEYBOARDS COPYRIGHT ("Venue & Xerox Corporation" 1985 1986 1987 1988 1990 1992 1993
|
||||
1995 1996 2017 2018))
|
||||
(DECLARE\: DONTCOPY
|
||||
(FILEMAP (NIL (5486 14142 (FINDVIRTUALKEYBOARD 5496 . 8650) (PROCESS.KEYBOARD 8652 . 11328) (
|
||||
VKBD.CREATE-KEYACTION-TABLE 11330 . 13246) (VKBD.WINDOWMENUFN 13248 . 13515) (VKBD.WINDOWMENUINIT
|
||||
13517 . 14140)) (14143 19504 (LOADKEYBOARDDISPLAYFONTS 14153 . 19502)) (19613 20837 (DEFINEKEYBOARD
|
||||
19623 . 20835)) (20838 25256 (VKBD.ADD-ITEM-TO-BACKGROUND-MENU 20848 . 21256) (VKBD.INIT 21258 . 23796
|
||||
) (VKBD.CREATE-DEFAULT-KEYBOARD 23798 . 24390) (VKBD.ADD-DEFAULT-KEYBOARD 24392 . 25254)) (25257 31597
|
||||
(VKBD.LOAD-FILE-COMMAND 25267 . 25721) (VKBD.LOAD-KEYBOARD-FILE 25723 . 29558) (
|
||||
VKBD.STORE-FILE-COMMAND 29560 . 29901) (VKBD.STORE-KEYBOARD-FILE 29903 . 31595)) (31598 40899 (
|
||||
SWITCHKEYBOARDS 31608 . 33086) (VKBD.POP-MENU-AND-SWITCH-KEYBOARDS 33088 . 33458) (
|
||||
VKBD.POP-UP-KEYBOARDS-MENU 33460 . 34842) (VKBD.GET-CONFIGURATION 34844 . 35762) (
|
||||
VKBD.SUBCONFIGURATION 35764 . 40897)) (40900 81185 (VKBD.BUTTONEVENTFN 40910 . 43817) (
|
||||
VKBD.CENTER-BITMAP-IN-REGION 43819 . 45343) (VKBD.CLEAR-KEY-DISPLAY 45345 . 47476) (
|
||||
VKBD.CREATE-KEYBOARD-BITMAP 47478 . 49522) (VKBD.CREATE-KEYBOARD-DISPLAY 49524 . 52653) (
|
||||
VKBD.CURSORMOVEDFN 52655 . 54559) (VKBD.DISPLAY-CHARACTER 54561 . 56519) (VKBD.DISPLAY-EMPTY-KEY-CAP
|
||||
56521 . 67059) (VKBD.DISPLAY-KEY 67061 . 70268) (VKBD.DISPLAY-KEY-CHARACTERS 70270 . 71463) (
|
||||
VKBD.DRAW-KEY-CAPS 71465 . 73653) (VKBD.ERASE-FRAME 73655 . 73978) (VKBD.EXTEND-REGION 73980 . 74569)
|
||||
(VKBD.GET-KEY-AND-REGIONS-OF-CURSOR-POSITION 74571 . 75186) (VKBD.GET-KEY-REGIONS 75188 . 75444) (
|
||||
VKBD.INVERT-KEY 75446 . 75736) (VKBD.INVERT-REGION 75738 . 76429) (VKBD.KEYBOARD-WINDOW-REPAINTFN
|
||||
76431 . 78388) (VKBD.LOWER-HALF-REGION 78390 . 78790) (VKBD.POSITION-IS-IN-KEY-REGION 78792 . 79076) (
|
||||
VKBD.REMOVE-KEYBOARD-COMMAND 79078 . 79535) (VKBD.UNION-REGIONS 79537 . 80682) (VKBD.UPPER-HALF-REGION
|
||||
80684 . 81183)) (81186 100744 (VKBD.KEY-ASSOC 81196 . 81696) (VKBD.CHAR-ASSIGNMENTP 81698 . 81862) (
|
||||
VKBD.COMPLETE-KEYBOARD 81864 . 84523) (VKBD.CTRL-ASSIGNMENTP 84525 . 84768) (VKBD.EVENT-ASSIGNMENTP
|
||||
84770 . 85010) (VKBD.META-ASSIGNMENTP 85012 . 85255) (VKBD.FRAME-KEY 85257 . 87134) (
|
||||
VKBD.GET-CURRENT-KEY-ASSIGNMENT 87136 . 87505) (VKBD.GET-NON-CHAR-LABEL 87507 . 88162) (VKBD.ICONFN
|
||||
88164 . 88900) (VKBD.INVERT-LOCK-KEYS 88902 . 89580) (VKBD.INVERT-SHIFT-KEYS 89582 . 90264) (
|
||||
VKBD.TRANSLATE-KEY-ID 90266 . 90945) (VKBD.KEY-ID-TO-KEY-NAMES 90947 . 91433) (
|
||||
VKBD.KEYBOARD-IS-KEYBOARDTYPE-KEYBOARD 91435 . 92033) (VKBD.LOCK-ASSIGNMENTP 92035 . 92482) (
|
||||
VKBD.LOCK-KEYP 92484 . 92802) (VKBD.LOCK/NOLOCK 92804 . 92963) (VKBD.LOCKDOWN-ASSIGNMENTP 92965 .
|
||||
93259) (VKBD.LOCKUP-ASSIGNMENTP 93261 . 93551) (VKBD.PARSE-CHAR-CODE 93553 . 94052) (
|
||||
VKBD.PARSE-KEY-ASSIGNMENT 94054 . 97510) (VKBD.RESET-KEYBOARD-WINDOW 97512 . 98105) (
|
||||
VKBD.SEND-CHARACTER 98107 . 99616) (VKBD.SHIFT-ASSIGNMENTP 99618 . 100012) (VKBD.SHIFTED-CHAR 100014
|
||||
. 100172) (VKBD.UNDEFINE-KEYBOARD 100174 . 100581) (VKBD.UNSHIFTED-CHAR 100583 . 100742)) (113812
|
||||
116258 (VKBD.\\KEYBOARDEVENTFN 113822 . 115025) (VKBD.RESETKEYACTIONTABLES 115027 . 116256)) (116364
|
||||
122515 (NEWKEYACTION 116374 . 122513)) (123170 139358 (FIXKEYBOARD 123180 . 124300) (FIXKEYBOARDCONFIG
|
||||
124302 . 131526) (FIXKEYASSIGNMENTS 131528 . 139356)) (139411 141267 (METASHIFT 139421 . 141265)))))
|
||||
(FILEMAP (NIL (5390 13914 (FINDVIRTUALKEYBOARD 5400 . 8554) (PROCESS.KEYBOARD 8556 . 11232) (
|
||||
VKBD.CREATE-KEYACTION-TABLE 11234 . 13018) (VKBD.WINDOWMENUFN 13020 . 13287) (VKBD.WINDOWMENUINIT
|
||||
13289 . 13912)) (13915 19276 (LOADKEYBOARDDISPLAYFONTS 13925 . 19274)) (19385 20609 (DEFINEKEYBOARD
|
||||
19395 . 20607)) (20610 24555 (VKBD.ADD-ITEM-TO-BACKGROUND-MENU 20620 . 21028) (VKBD.INIT 21030 . 22982
|
||||
) (VKBD.CREATE-DEFAULT-KEYBOARD 22984 . 23576) (VKBD.ADD-DEFAULT-KEYBOARD 23578 . 24553)) (24556 30484
|
||||
(VKBD.LOAD-FILE-COMMAND 24566 . 25020) (VKBD.LOAD-KEYBOARD-FILE 25022 . 28445) (
|
||||
VKBD.STORE-FILE-COMMAND 28447 . 28788) (VKBD.STORE-KEYBOARD-FILE 28790 . 30482)) (30485 39786 (
|
||||
SWITCHKEYBOARDS 30495 . 31973) (VKBD.POP-MENU-AND-SWITCH-KEYBOARDS 31975 . 32345) (
|
||||
VKBD.POP-UP-KEYBOARDS-MENU 32347 . 33729) (VKBD.GET-CONFIGURATION 33731 . 34649) (
|
||||
VKBD.SUBCONFIGURATION 34651 . 39784)) (39787 80072 (VKBD.BUTTONEVENTFN 39797 . 42704) (
|
||||
VKBD.CENTER-BITMAP-IN-REGION 42706 . 44230) (VKBD.CLEAR-KEY-DISPLAY 44232 . 46363) (
|
||||
VKBD.CREATE-KEYBOARD-BITMAP 46365 . 48409) (VKBD.CREATE-KEYBOARD-DISPLAY 48411 . 51540) (
|
||||
VKBD.CURSORMOVEDFN 51542 . 53446) (VKBD.DISPLAY-CHARACTER 53448 . 55406) (VKBD.DISPLAY-EMPTY-KEY-CAP
|
||||
55408 . 65946) (VKBD.DISPLAY-KEY 65948 . 69155) (VKBD.DISPLAY-KEY-CHARACTERS 69157 . 70350) (
|
||||
VKBD.DRAW-KEY-CAPS 70352 . 72540) (VKBD.ERASE-FRAME 72542 . 72865) (VKBD.EXTEND-REGION 72867 . 73456)
|
||||
(VKBD.GET-KEY-AND-REGIONS-OF-CURSOR-POSITION 73458 . 74073) (VKBD.GET-KEY-REGIONS 74075 . 74331) (
|
||||
VKBD.INVERT-KEY 74333 . 74623) (VKBD.INVERT-REGION 74625 . 75316) (VKBD.KEYBOARD-WINDOW-REPAINTFN
|
||||
75318 . 77275) (VKBD.LOWER-HALF-REGION 77277 . 77677) (VKBD.POSITION-IS-IN-KEY-REGION 77679 . 77963) (
|
||||
VKBD.REMOVE-KEYBOARD-COMMAND 77965 . 78422) (VKBD.UNION-REGIONS 78424 . 79569) (VKBD.UPPER-HALF-REGION
|
||||
79571 . 80070)) (80073 99631 (VKBD.KEY-ASSOC 80083 . 80583) (VKBD.CHAR-ASSIGNMENTP 80585 . 80749) (
|
||||
VKBD.COMPLETE-KEYBOARD 80751 . 83410) (VKBD.CTRL-ASSIGNMENTP 83412 . 83655) (VKBD.EVENT-ASSIGNMENTP
|
||||
83657 . 83897) (VKBD.META-ASSIGNMENTP 83899 . 84142) (VKBD.FRAME-KEY 84144 . 86021) (
|
||||
VKBD.GET-CURRENT-KEY-ASSIGNMENT 86023 . 86392) (VKBD.GET-NON-CHAR-LABEL 86394 . 87049) (VKBD.ICONFN
|
||||
87051 . 87787) (VKBD.INVERT-LOCK-KEYS 87789 . 88467) (VKBD.INVERT-SHIFT-KEYS 88469 . 89151) (
|
||||
VKBD.TRANSLATE-KEY-ID 89153 . 89832) (VKBD.KEY-ID-TO-KEY-NAMES 89834 . 90320) (
|
||||
VKBD.KEYBOARD-IS-KEYBOARDTYPE-KEYBOARD 90322 . 90920) (VKBD.LOCK-ASSIGNMENTP 90922 . 91369) (
|
||||
VKBD.LOCK-KEYP 91371 . 91689) (VKBD.LOCK/NOLOCK 91691 . 91850) (VKBD.LOCKDOWN-ASSIGNMENTP 91852 .
|
||||
92146) (VKBD.LOCKUP-ASSIGNMENTP 92148 . 92438) (VKBD.PARSE-CHAR-CODE 92440 . 92939) (
|
||||
VKBD.PARSE-KEY-ASSIGNMENT 92941 . 96397) (VKBD.RESET-KEYBOARD-WINDOW 96399 . 96992) (
|
||||
VKBD.SEND-CHARACTER 96994 . 98503) (VKBD.SHIFT-ASSIGNMENTP 98505 . 98899) (VKBD.SHIFTED-CHAR 98901 .
|
||||
99059) (VKBD.UNDEFINE-KEYBOARD 99061 . 99468) (VKBD.UNSHIFTED-CHAR 99470 . 99629)) (112553 114999 (
|
||||
VKBD.\\KEYBOARDEVENTFN 112563 . 113766) (VKBD.RESETKEYACTIONTABLES 113768 . 114997)) (115105 121256 (
|
||||
NEWKEYACTION 115115 . 121254)) (121893 138081 (FIXKEYBOARD 121903 . 123023) (FIXKEYBOARDCONFIG 123025
|
||||
. 130249) (FIXKEYASSIGNMENTS 130251 . 138079)) (138168 140132 (METASHIFT 138178 . 140130)))))
|
||||
STOP
|
||||
BIN
library/virtualkeyboards/VIRTUALKEYBOARDS.LCOM
Normal file
BIN
library/virtualkeyboards/XKEYBOARDS
Normal file
@@ -1,27 +1,26 @@
|
||||
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
|
||||
(FILECREATED "11-Dec-87 14:48:16" {DSK}<XAVIER>COMMON-MAKE.;5 15290
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
changes to%: (VARS COMMON-MAKECOMS)
|
||||
(FNS COMMON-FILE-COMMAND COMMON-MAKEFILE)
|
||||
(PROPS (COMMON-MAKE MAKEFILE-ENVIRONMENT))
|
||||
(FILECREATED "13-Oct-2023 16:40:48" {LU}COMMON-MAKE.;2 14315
|
||||
|
||||
previous date%: "11-Dec-87 12:53:46" {DSK}<XAVIER>COMMON-MAKE.;1)
|
||||
:EDIT-BY "mth"
|
||||
|
||||
:CHANGES-TO (VARS COMMON-MAKECOMS)
|
||||
|
||||
:PREVIOUS-DATE "11-Dec-87 14:48:16" {LU}COMMON-MAKE.;1)
|
||||
|
||||
(* "
|
||||
Copyright (c) 1987 by Unisys Corp.. All rights reserved.
|
||||
")
|
||||
|
||||
(PRETTYCOMPRINT COMMON-MAKECOMS)
|
||||
|
||||
(RPAQQ COMMON-MAKECOMS ((* FUNCTIONS TO HANDLE WRITING STANDARD COMMONLISP SOURCE FILES)
|
||||
(RPAQQ COMMON-MAKECOMS [
|
||||
(* ;; "FUNCTIONS TO HANDLE WRITING STANDARD COMMONLISP SOURCE FILES")
|
||||
|
||||
(FNS COMMON-FILE-COMMAND COMMON-MAKEFILE)
|
||||
(PROP MAKEFILE-ENVIRONMENT COMMON-MAKE)
|
||||
(EDITHIST COMMON-MAKE)))
|
||||
(DECLARE%: DONTCOPY (ALISTS (EDITHISTALIST COMMON-MAKE])
|
||||
|
||||
|
||||
|
||||
(* FUNCTIONS TO HANDLE WRITING STANDARD COMMONLISP SOURCE FILES)
|
||||
(* ;; "FUNCTIONS TO HANDLE WRITING STANDARD COMMONLISP SOURCE FILES")
|
||||
|
||||
(DEFINEQ
|
||||
|
||||
@@ -227,30 +226,20 @@ Copyright (c) 1987 by Unisys Corp.. All rights reserved.
|
||||
(CLOSEF *STANDARD-OUTPUT*])
|
||||
)
|
||||
|
||||
(PUTPROPS COMMON-MAKE MAKEFILE-ENVIRONMENT (:READTABLE "INTERLISP" :PACKAGE "INTERLISP"))
|
||||
(PUTPROPS COMMON-MAKE MAKEFILE-ENVIRONMENT (:READTABLE "INTERLISP" :PACKAGE "INTERLISP"))
|
||||
(DECLARE%: DONTCOPY
|
||||
|
||||
(ADDTOVAR EDITHISTALIST (COMMON-MAKE ("11-Dec-87 12:54:22" DJVB {DSK}<XAVIER>COMMON-MAKE.;1
|
||||
(COMMON-FILE-COMMAND COMMON-MAKEFILE))
|
||||
("11-Dec-87 13:35:35" DJVB {DSK}<XAVIER>COMMON-MAKE.;2 (
|
||||
COMMON-FILE-COMMAND
|
||||
|
||||
COMMON-MAKEFILE
|
||||
)
|
||||
(GETTING DETAILS RIGHT))
|
||||
("11-Dec-87 13:40:48" DJVB {DSK}<XAVIER>COMMON-MAKE.;3 (
|
||||
COMMON-FILE-COMMAND
|
||||
))
|
||||
("11-Dec-87 14:09:04" DJVB {DSK}<XAVIER>COMMON-MAKE.;4 (
|
||||
COMMON-FILE-COMMAND
|
||||
))
|
||||
("11-Dec-87 14:48:44" DJVB {DSK}<XAVIER>COMMON-MAKE.;5 (
|
||||
COMMON-FILE-COMMAND
|
||||
)
|
||||
(FIXED FILE COMMENTS AND CL:DEFVAR ET AL))))
|
||||
(ADDTOVAR EDITHISTALIST
|
||||
(COMMON-MAKE ("11-Dec-87 12:54:22" DJVB {DSK}<XAVIER>COMMON-MAKE.;1 (COMMON-FILE-COMMAND
|
||||
COMMON-MAKEFILE))
|
||||
("11-Dec-87 13:35:35" DJVB {DSK}<XAVIER>COMMON-MAKE.;2 (COMMON-FILE-COMMAND
|
||||
COMMON-MAKEFILE)
|
||||
(GETTING DETAILS RIGHT))
|
||||
("11-Dec-87 13:40:48" DJVB {DSK}<XAVIER>COMMON-MAKE.;3 (COMMON-FILE-COMMAND))
|
||||
("11-Dec-87 14:09:04" DJVB {DSK}<XAVIER>COMMON-MAKE.;4 (COMMON-FILE-COMMAND))
|
||||
("11-Dec-87 14:48:44" DJVB {DSK}<XAVIER>COMMON-MAKE.;5 (COMMON-FILE-COMMAND)
|
||||
(FIXED FILE COMMENTS AND CL:DEFVAR ET AL))))
|
||||
)
|
||||
(PUTPROPS COMMON-MAKE COPYRIGHT ("Unisys Corp." 1987))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (829 13460 (COMMON-FILE-COMMAND 839 . 9055) (COMMON-MAKEFILE 9057 . 13458)))))
|
||||
(FILEMAP (NIL (722 13353 (COMMON-FILE-COMMAND 732 . 8948) (COMMON-MAKEFILE 8950 . 13351)))))
|
||||
STOP
|
||||
ÿ
|
||||