/usr/share/jed/lib/digraph.sl is in jed-common 1:0.99.19-2.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | % digraph.sl -*- Slang -*-
%
% This is digraph.sl. It allows for easy input of accented characters and
% other 8-bit characters. It is an alternative to the mutekeys.sl package.
% I wrote it because I don't like mutekeys. I added a lot of characters not
% found in mutekeys.sl.
%
% Usage: put this file in $JED_ROOT/lib and add a line
%
% autoload ("digraph_cmd", "digraph"); setkey ("digraph_cmd", "\ek");
%
% to your ~/.jedrc file, restart jed so that this setkey takes effect before
% any other keymaps are defined. The digraphs are now available by typing
% Esc-K 'accent' 'letter'.
%
% Thanks to John Davis for reducing the number of case statements in the
% original code and for adding the user-friendly interface (don't type too
% fast, otherwise you can't read it).
%
% DONE: This does not work yet under MSDOS and OS2 . Any volunteers?
%
% Ronald Rietman, 1995/03/05
%%%
% - added MSDOS, OS/2 digraphs
% - changed key for British Pounds from $ to # (pounds) so that it occurs in
% the same place as a UK keyboard
% - added European-style double quotes
% - moved inverted punctuation marks to use a period accent and added DOS
% line-drawing characters to the same. Letters for lines correspond to
% curses ACS (Alternate Character Set), except 'P' invented to == `Plus'
%
% Mark Olesen 16 Aug 1995
% Modified by JED, Feb 2006.
% This function has the effect of converting an ISO-Latin string UTF-8 if in
% UTF-8 mode. It does not work on DOS/Windows.
#ifndef IBMPC_SYSTEM
private define convert_string (str)
{
variable new_str = "";
_for (0, strbytelen (str)-1, 1)
{
variable i = ();
new_str = strcat (new_str, char (str[i]));
}
return new_str;
}
#endif
define digraph_cmd ()
{
variable i, accent, letters;
#iffalse
EXIT_BLOCK
{
message (Null_String);
}
#endif
switch (get_mini_response ("Enter an accent character: [/`'^\"~,.:]"))
{ case '/':
#ifdef IBMPC_SYSTEM
"aAeEs#yc";
"\d134\d143\d145\d146\d225\d156\d157\d155";
#else
"aAdDeEoOstT#yc";
"\d229\d197\d240\d208\d230\d198\d248\d216\d223\d254\d222\d163\d165\d162";
#endif
}
{ case '"':
#ifdef IBMPC_SYSTEM
"`aAeioOsuUy'";
%"\d174\d132\d142\d137\d139\d148\d153\d129\d225\d154\d152\d175";
"\d174\d132\d142\d137\d139\d148\d153\d225\d129\d154\d152\d175";
#else
"`aAeEiIoOsuU'";
"\d171\d228\d196\d235\d203\d239\d207\d246\d214\d223\d252\d220\d187";
#endif
}
{ case '\'':
#ifdef IBMPC_SYSTEM
"aeEiou'";
"\d160\d130\d144\d161\d162\d163\d175";
#else
"aAeEiIoOuU'";
"\d225\d193\d233\d201\d237\d205\d243\d211\d250\d218\d187";
#endif
}
{ case '`':
#ifdef IBMPC_SYSTEM
"`aeiou";
"\d174\d133\d138\d141\d149\d151";
#else
"`aAeEiIoOuU";
"\d171\d224\d192\d232\d200\d236\d204\d242\d210\d249\d217";
#endif
}
{ case '^':
#ifdef IBMPC_SYSTEM
"aeiou";
"\d131\d136\d140\d147\d150";
#else
"aAeEiIoOuU";
"\d226\d194\d234\d202\d238\d206\d244\d212\d251\d219";
#endif
}
{ case '~':
#ifdef IBMPC_SYSTEM
"nN";
"\d164\d165";
#else
"aAnNoO";
"\d227\d195\d241\d209\d245\d213";
#endif
}
{ case ',':
"cC";
#ifdef IBMPC_SYSTEM
"\d135\d128";
#else
"\d231\d199";
#endif
}
{ case '.':
#ifdef IBMPC_SYSTEM
"!?aAjJkKlLmMpPqQtTuUvVwWxX";
"\d173\d168\d177\d178\d217\d188\d191\d187\d218\d201\d192\d200\d197\d206\d196\d205\d195\d204\d180\d185\d194\d203\d193\d202\d179\d186";
#else
"!?1/";
"\d161\d191\d161\d191";
#endif
}
{
case ':':
#ifdef IBMPC_SYSTEM
return;
#else
"aAeEiIoOuU";
"\d228\d196\d235\d203\d239\d207\d246\d214\d252\d220";
#endif
}
{ return; } % default
(letters, accent) = ();
#ifndef IBMPC_SYSTEM
accent = convert_string (accent);
#endif
i = is_substr (letters,
char (get_mini_response (sprintf ("Enter [%s] to get [%s]",
letters, accent))));
!if (i)
{
beep ();
return;
}
insert (substr (accent, i, 1));
}
|