accessibility/svkbd: Added (simple virtual keyboard).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2014-03-19 07:00:45 +07:00 committed by Erik Hanson
parent e42297f1ea
commit f3704690c6
5 changed files with 324 additions and 0 deletions

View file

@ -0,0 +1,22 @@
svkbd (simple virtual keyboard)
This is a simple virtual keyboard, intended to be used in environments
where no keyboard is available.
Configuration is done at build time. The font and colors can be set in
config.h (in the same directory as the SlackBuild). The key layouts
are set with the environment variable LAYOUTS, which can be set to
a space-separated list of one or more of:
en - English (QWERTY, the default)
arrows - Arrow keys only
de - German (QWERTZ)
ru - Russian (Cyrillic)
sh - Slavic (QWERTZ)
all - All of the above
Default value for LAYOUTS is "en".
The package will contain binaries for each layout (e.g. svkbd-en,
svkbd-ru) in /usr/bin. The first layout listed in LAYOUTS (or svkbd-en
if LAYOUTS="all") will also be symlinked to /usr/bin/svkbd.

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
svkbd: svkbd (simple virtual keyboard)
svkbd:
svkbd: This is a simple virtual keyboard, intended to be used in environments
svkbd: where no keyboard is available.
svkbd:
svkbd: This package built with layouts: @LAYOUTS@
svkbd: Default layout: @FIRST@
svkbd:
svkbd:
svkbd:
svkbd:

179
accessibility/svkbd/svkbd.1 Normal file
View file

@ -0,0 +1,179 @@
.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
. if \nF \{
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "SVKBD 1"
.TH SVKBD 1 "2014-03-18" "20140130" "Suckless.org Tools"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
svkbd \- simple virtual keyboard
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fBsvkbd\fR\-\fIlayout\fR [\-d] [\-g geometry]
.PP
\&\fBsvkbd\fR\-\fIlayout\fR [\-v|\-h]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\fBsvkbd\fR is a simple mouse-operated virtual keyboard, intended to be
used in environments where no keyboard is available.
.SH "OPTIONS"
.IX Header "OPTIONS"
.IP "\fB\-d\fR" 4
.IX Item "-d"
This tells \fBsvkbd\fR to announce itself being a dock window, which then
is managed differently between different window managers. If using dwm
and the dock patch, then this will make svkbd being managed by dwm and
some space of the screen being reserved for it.
.IP "\fB\-g geometry\fR" 4
.IX Item "-g geometry"
Sets starting size and position. Standard X11 geometry specification,
WxH[+\-]X[+\-Y], such as used by \fIxterm\fR\|(1).
.IP "\fB\-v\fR" 4
.IX Item "-v"
Prints the version number and exits.
.IP "\fB\-h\fR" 4
.IX Item "-h"
Prints usage message and exits.
.SH "ENVIRONMENT"
.IX Header "ENVIRONMENT"
\&\fB\s-1DISPLAY\s0\fR \- used in the usual way.
.SH "AUTHORS"
.IX Header "AUTHORS"
\&\fBsvkbd\fR was written by Christoph Lohmann (20h@r\-36.net)
and Enno Boland (g # s01 ' de)
.PP
This man page written by B. Watson for the SlackBuilds.org project. It
may be used by anyone.

View file

@ -0,0 +1,94 @@
#!/bin/sh
# Slackware build script for svkbd
# Written by B. Watson (yalhcru@gmail.com)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# VERSION is the date of the last git commit.
PRGNAM=svkbd
VERSION=${VERSION:-20140130}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
sed -i -e "s,\<lib\>,lib$LIBDIRSUFFIX," -e "s,-Os,$SLKCFLAGS," config.mk
LAYOUTS="${LAYOUTS:-en}"
if [ "$LAYOUTS" = "all" ]; then
LAYOUTS="$( ls layout.*.h|cut -d. -f2 | xargs echo )"
FIRST="en"
else
FIRST="$( echo $LAYOUTS | cut -d' ' -f1)"
fi
mkdir -p $PKG/usr/man/man1
gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
for i in ${LAYOUTS}; do
if [ -e layout.$i.h ]; then
make install LAYOUT="$i" PREFIX=/usr DESTDIR=$PKG
ln -s $PRGNAM.1.gz $PKG/usr/man/man1/$PRGNAM-$i.1.gz
else
echo "No such layout '$i', read the README."
exit 1
fi
done
strip $PKG/usr/bin/*
ln -s $PRGNAM-$FIRST $PKG/usr/bin/$PRGNAM
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a LICENSE README* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
sed -e "s,@LAYOUTS@,$LAYOUTS," -e "s,@FIRST@,$FIRST," \
< $CWD/slack-desc \
> $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,10 @@
PRGNAM="svkbd"
VERSION="20140130"
HOMEPAGE="http://tools.suckless.org/svkbd"
DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/svkbd-20140130.tar.gz"
MD5SUM="d1279213dbdac77dbb7b386c138d6e61"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"