home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.update.uu.se
/
ftp.update.uu.se.2014.03.zip
/
ftp.update.uu.se
/
pub
/
rainbow
/
msdos
/
misc
/
selkey.lzh
/
SELKEY.C
next >
Wrap
Text File
|
1984-08-31
|
3KB
|
141 lines
/*******************************************/
/*Rainbow Keyboard Selection Utility */
/*Author: Robert Shaw 10.07.84 */
/*MSDOS Version 21.01.86 */
/*******************************************/
#include <stdio.h>
#include <rainbow.h>
/*define Rainbow function key mnemonics*/
/* define keyboard patch value mnemonics */
# define USA 240
# define CAN 241
# define GER 248
# define FRA 253
# define SCH 250
# define SUI 249
# define UK 242
# define BEL 252
# define DEN 246
# define FIN 243
# define HOL 251
# define ITA 254
# define NOR 245
# define SPA 247
# define SWE 244
main()
{
int key, c, line = 12;
heading();
shade(line);
do
{
c = inkey();
if (c == UP && line > 5)
{
ffvattr(line,4,24,NORMAL);
--line;
if (line == 12)
--line;
shade(line);
}
if (c == DOWN && line < 20)
{
ffvattr(line,4,24,NORMAL);
++line;
if (line == 12)
++line;
shade(line);
}
if (c == ESC || c == EXIT)
{
ewfend(RESTORE);
printf("\n\33[1mProgram exited by user\33[m\n");
exit(0);
}
} while (c != RETURN || line == 12);
switch(line)
{
case 5: key=USA;
break;
case 6: key=CAN;
break;
case 7: key=GER;
break;
case 8: key=FRA;
break;
case 9: key=SCH;
break;
case 10: key=SUI;
break;
case 11: key=UK;
break;
case 13: key = BEL;
break;
case 14: key = DEN;
break;
case 15: key = FIN;
break;
case 16: key = HOL;
break;
case 17: key = ITA;
break;
case 18: key = NOR;
break;
case 19: key = SPA;
break;
case 20: key = SWE;
break;
default: key = USA;
break;
}
/* address of current keyboard is at 8088 shadow ram ed00:00ac */
movedata(dsreg(),&key,0xED00,0x00AC,1);
ewfend(RESTORE);
exit(0);
}
/******************************/
heading()
{
ewfstart(SAVE+CLEAR+W80);
csw(80);
disabl_cur();
box(1,1,24,80,NORMAL);
hjline(3,1,80,NORMAL);
hjline(22,1,80,NORMAL);
ffvline(2,2,"i t u",BOLD);
vjline(1,3,3,NORMAL);
vjline(1,5,3,NORMAL);
vjline(1,7,3,NORMAL);
ffvline(2,9,"Rainbow Keyboard Selection Utility",BOLD);
ffvline(2,63,"Version 21.01.86",NORMAL);
ffvline(23,3,"Use up/down arrow keys to choose keyboard then press RETURN.",NORMAL);
ffvline(5,5,"United States/Canada",NORMAL);
ffvline(6,5,"Canada/Fran\347ais",NORMAL);
ffvline(7,5,"Deutschland/\326sterreich",NORMAL);
ffvline(8,5,"France/Belgique",NORMAL);
ffvline(9,5,"Schweiz",NORMAL);
ffvline(10,5,"Suisse",NORMAL);
ffvline(11,5,"United Kingdom",NORMAL);
ffvline(13,5,"Belgium/Flemish",NORMAL);
ffvline(14,5,"Denmark",NORMAL);
ffvline(15,5,"Finland",NORMAL);
ffvline(16,5,"Holland",NORMAL);
ffvline(17,5,"Italy",NORMAL);
ffvline(18,5,"Norway",NORMAL);
ffvline(19,5,"Spain",NORMAL);
ffvline(20,5,"Sweden",NORMAL);
}
/******************************/
shade(l)
short l;
{
ffvattr(l,4,24,REVERSE);
}