From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 macros/latex/contrib/keystroke/keystroke.sty | 200 +++++++++++++++++++++++++++
 1 file changed, 200 insertions(+)
 create mode 100644 macros/latex/contrib/keystroke/keystroke.sty

(limited to 'macros/latex/contrib/keystroke/keystroke.sty')

diff --git a/macros/latex/contrib/keystroke/keystroke.sty b/macros/latex/contrib/keystroke/keystroke.sty
new file mode 100644
index 0000000000..9f2d525750
--- /dev/null
+++ b/macros/latex/contrib/keystroke/keystroke.sty
@@ -0,0 +1,200 @@
+%%
+%%% Author          1997  Werner Fink   <werner@suse.de>
+%%% Copyright  (c)  1997  SuSE GmbH  Nuernberg, Germany.
+%%
+%%  Based on `susemac.sty' v 1.30 1997/10/14
+%%  Some modifications by Rolf Niepraschk <niepraschk@ptb.de>, 2000/10/29
+%%
+%%  keystroke.sty is free software; you can redistribute it and/or modify
+%%  it under the terms of the GNU General Public License as published by
+%%  the Free Software Foundation; either version 2, or (at your option)
+%%  any later version.
+%%
+%%  keystroke.sty 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 Public License for more details.
+%%
+%%  You should have received a copy of the GNU General Public License
+%%  along with keystroke.sty; see the file COPYING; if not, write to
+%%  the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+%%  Boston, MA 02111-1307 USA.
+%%
+
+%   Please send corrections and enhancements 
+%   to Rolf Niepraschk <Rolf.Niepraschk@gmx.de>.
+
+%   Changes:
+%   v1.3, 2001/10/27; Loading the graphics package only if needed. 
+%                     All unknown options are options for `graphics'. 
+%   v1.4, 2001/12/14; New and corrected definitions for spanish.
+%   v1.5, 2003/08/15; Fix a bug with the global option "english". 
+%                     New optin "ngerman". RN
+%   v1.6, 2010/04/23; New and corrected definitions for french.
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{keystroke}[2010/04/23 v1.6 3D keystrokes (SuSE GmbH/RN)]
+
+\RequirePackage{graphics}
+
+\newcommand*{\Enter}{}
+\newcommand*{\Del}{}
+\newcommand*{\Ins}{}
+\newcommand*{\Esc}{}
+\newcommand*{\Shift}{}
+\newcommand*{\Ctrl}{}
+\newcommand*{\Home}{}
+\newcommand*{\End}{}
+\newcommand*{\PgUp}{}
+\newcommand*{\PgDown}{}
+\newcommand*{\PrtSc}{}
+\newcommand*{\Scroll}{}
+\newcommand*{\Break}{}
+
+
+\DeclareOption{english}{%
+  \def\Enter{\keystroke{Enter}}
+  \def\Del{\keystroke{Del}}
+  \def\Ins{\keystroke{Ins}}
+  \def\Esc{\keystroke{Esc}}
+  \def\Shift{\keystroke{Shift $\Uparrow$}}
+  \def\Ctrl{\keystroke{Ctrl}}
+  \def\Home{\keystroke{Home}}
+  \def\End{\keystroke{End}}
+  \def\PgUp{\keystroke{Page $\uparrow$}}
+  \def\PgDown{\keystroke{Page $\downarrow$}}
+  \def\PrtSc{\keystroke{PrtSc}}
+  \def\Scroll{\keystroke{Scroll}}
+  \def\Break{\keystroke{Break}}
+}
+
+\DeclareOption{american}{\ExecuteOptions{english}}
+
+\DeclareOption{german}{%
+  \def\Del{\keystroke{Entf}}
+  \def\Ins{\keystroke{Einfg}}
+  \def\Esc{\keystroke{Esc}}
+  \def\Shift{\keystroke{$\Uparrow$~~}}
+  \def\Ctrl{\keystroke{Strg}}
+  \def\Home{\keystroke{Pos~1}}
+  \def\End{\keystroke{Ende}}
+  \def\PgUp{\keystroke{Bild $\uparrow$}}
+  \def\PgDown{\keystroke{Bild $\downarrow$}}
+  \def\PrtSc{\keystroke{Druck}}
+  \def\Scroll{\keystroke{Rollen}}
+  \def\Break{\keystroke{Pause}}
+}
+
+\DeclareOption{germanb}{%
+  \typeout{******Please use `german' instead of `germanb'******}%
+  \ExecuteOptions{german}
+}
+
+\DeclareOption{ngerman}{%
+  \ExecuteOptions{german}
+}
+   
+% Contributed by Denis Bitouz\'e <dbitouze@wanadoo.fr>
+\DeclareOption{french}{%
+  \def\Enter{\keystroke{entr\'ee}}
+  \def\Del{\keystroke{suppr}}    
+  \def\Ins{\keystroke{insert}}    
+  \def\Esc{\keystroke{\'echap}}    
+  \def\Shift{\keystroke{$\Uparrow$}}
+  \def\Ctrl{\keystroke{ctrl}}             
+  \def\Home{\keystroke{home}} 
+    % or \def\Home{\keystroke{$nwarrow$}} but
+    % in fact should be something % like $\Nwarrow$ from txfonts/pxfonts
+    % arrows
+  \def\End{\keystroke{fin}}               
+  \def\PgUp{\keystroke{page $\uparrow$}}  
+  \def\PgDown{\keystroke{page $\downarrow$}}
+  \def\PrtSc{\keystroke{impr}}             
+  \def\Scroll{\keystroke{d\'efil}}           
+  \def\Break{\keystroke{pause}}             
+}
+
+\DeclareOption{francais}{%
+  \typeout{******Please use `french' instead of `francais'*****}%
+  \ExecuteOptions{french}
+}
+
+% Contributed by Arndt Mehlhorn <mehlhorn@Techno-Sol.com>
+\DeclareOption{spanish}{%
+  \def\Enter{\keystroke{Enter}} 
+  \def\Esc{\keystroke{Esc}}
+  \def\Del{\keystroke{Supr}}
+  \def\Ins{\keystroke{Insert}}
+  \def\End{\keystroke{Fin}}
+  \def\PgUp{\keystroke{Re P\'ag}}
+  \def\PgDown{\keystroke{Av P\'ag}}
+  \def\PrtSc{\keystroke{Impr Pant}}
+  \def\Scroll{\keystroke{Bloq Despl}}
+  \def\Break{\keystroke{Pausa}}
+  \def\End{\keystroke{Fin}}
+  \def\Home{\keystroke{Inicio}}
+}
+
+\DeclareOption*{%
+  \PassOptionsToPackage{\CurrentOption}{graphics}%
+}
+
+\ExecuteOptions{english}
+
+\ProcessOptions\relax
+
+\newcommand*{\suse@tab}{%
+  \raisebox{-.5ex}{\shortstack{\reflectbox{\suse@@tab}\\[-1ex]\suse@@tab}}%
+}
+\newcommand*{\suse@@tab}{%
+  {{\makebox[2em]{\small\rightarrowfill}}}%
+}
+
+\newcommand*{\Spacebar}{\keystroke{\hspace{3.5em}}}
+\newcommand*{\Return}{\keystroke{$\hookleftarrow$}}
+\newcommand*{\BSpace}{\keystroke{\reflectbox{$\longmapsto$}}}
+%\newcommand*{\Tab}{\keystroke{$\longmapsto$}}
+\newcommand*{\Tab}{\keystroke{\suse@tab}}
+\newcommand*{\Alt}{\keystroke{Alt}}
+\newcommand*{\AltGr}{\keystroke{AltGr}}
+\newcommand*{\NumLock}{\keystroke{Num}}
+\newcommand*{\UArrow}{\keystroke{$\,\uparrow\!$}}
+\newcommand*{\DArrow}{\keystroke{$\,\downarrow\!$}}
+\newcommand*{\LArrow}{\keystroke{$\leftarrow$}}
+\newcommand*{\RArrow}{\keystroke{$\rightarrow$}}
+
+%%
+\newbox\suse@key
+\newbox\keystroke@left
+\newbox\keystroke@right
+\newbox\keystroke@middle 
+\setbox\keystroke@left  =\hbox{\includegraphics{keystroke_left}}
+\setbox\keystroke@middle=\hbox{\includegraphics{keystroke_middle}}
+\setbox\keystroke@right =\hbox{\includegraphics{keystroke_right}}
+%
+\def\suse@keystr@ke#1{\ %
+  \ifvmode\leavevmode\fi{\obeyspaces%
+  \global\setbox\suse@key=\hbox{{\keystroke@font\strut#1}}%
+  \@tempdima=0.35ex%
+  \advance\@tempdima by \dp\suse@key%
+  \@tempdimb=\wd\suse@key%
+  \@tempdimc=\ht\suse@key%
+  \ifdim\@tempdimb<\@tempdimc\@tempdimb=\@tempdimc\fi
+  \advance\@tempdimc by 1.16ex%
+  \lower\@tempdima\hbox{\resizebox*{!}{\@tempdimc}{\copy\keystroke@left}}%     
+  \ignorespaces%
+  \hbox to 0pt{\unhbox\suse@key\hss}%    
+  \ignorespaces%
+  \lower\@tempdima\hbox to \@tempdimb{\hss%
+    \resizebox*{\@tempdimb}{\@tempdimc}{\copy\keystroke@middle}}%
+  \ignorespaces%
+  \lower\@tempdima\hbox{\resizebox*{!}{\@tempdimc}{\copy\keystroke@right}}%    
+}\ }
+%
+\DeclareRobustCommand*\keystroke{\suse@keystr@ke}
+
+\newcommand*\keystroke@font{\normalfont\sffamily\footnotesize}
+
+%%
+
+\endinput
-- 
cgit v1.2.3

