home *** CD-ROM | disk | FTP | other *** search
/ Millennium Time Capsule / AC2000.BIN / disks / ac13disk / clock.237 / source / vypis.c < prev   
Encoding:
C/C++ Source or Header  |  1998-03-15  |  3.4 KB  |  129 lines

  1. #include <string.h>
  2. #include <stdio.h>
  3. #include <ext.h>
  4. #include <tos.h>
  5.  
  6. #include "jclkcook.h"
  7.  
  8. int get_cookie (long cookie, long *value)
  9. {
  10.     long *cookiejar = (long *)Setexc(0x168,-1);
  11.  
  12.     if (cookiejar)
  13.     {
  14.         while (*cookiejar)
  15.         {
  16.             if (*cookiejar==cookie)
  17.             {
  18.                 if (value)
  19.                     *value = *++cookiejar;
  20.                 return 1;
  21.             }
  22.             cookiejar += 2;
  23.         }
  24.     }
  25.     return 0;
  26. }
  27.  
  28. char *hotkeystring(int x)
  29. {
  30.     static char string[80];
  31.     *string = 0;
  32.  
  33.     if (x & 2)
  34.         strcat(string, "LeftShift+");
  35.     if (x & 1)
  36.         strcat(string, "RightShift+");
  37.     if (x & 4)
  38.         strcat(string, "Control+");
  39.     if (x & 8)
  40.         strcat(string, "Alternate+");
  41.  
  42.     if (*string)
  43.         string[strlen(string)-1] = 0;
  44.     return string;
  45. }
  46.  
  47. void vypis(long adr)
  48. {
  49.     JCLKSTRUCT *jclk = (JCLKSTRUCT *)adr;
  50.  
  51.     if (jclk->name != CLOCKY_IDENT) {
  52.         printf("This is not my Clocky!\n");
  53.         getchar();
  54.         return;
  55.     }
  56.  
  57.     if (jclk->version < CLOCKY_VERSION) {
  58.         printf("Too old Clocky - get newer\n");
  59.         getchar();
  60.         return;
  61.     }
  62.  
  63. #define BOO(x)    (jclk->parametry.x) ? "[Yes]" : "[No] "
  64.  
  65.     while((Kbshift(-1)&15) != 14)
  66.     {
  67.         printf("\33H");
  68.         printf("Hotkey combination: %s\n", hotkeystring(jclk->hotshift));
  69.         printf("Seekey combination: %s\n", hotkeystring(jclk->hottime));
  70.         printf("Show time: %s\t", BOO(ShowTime));
  71.         printf("Look at time with Seekeys: %s\n", BOO(ShowKuk));
  72. #if 0
  73.         printf("Zobrazovat datum vlevo od çasu: %s\n", BOO(Showdate));
  74.         printf("Zobrazovat den v tÿdnu a symboly: %s\n", BOO(Showday));
  75.         printf("Zobrazovat roky a sekundy: %s\n", BOO(Showyear));
  76. #endif
  77.         printf("Show CapsLock sign: %s\n", BOO(ShowCaps));
  78.         printf("Offer external hotkeys: %s\n", BOO(KbdEHC));
  79.         printf("Dead keys: %s\t", BOO(Kbddead));
  80.         printf("ASCII code via numeric keypad: %s\n", BOO(Kbdasci));
  81.         printf("Turn off keyboard click sound: %s\t", BOO(Kbdcink));
  82.         printf("Turn off system bell sound: %s\n", BOO(Kbdbell));
  83.         printf("Keyboard layout: ");
  84.         switch(jclk->parametry.Kbdlayo) {
  85.             case 0:    printf("do not change\n"); break;
  86.             case 1:    printf("the ROM one\n"); break;
  87.             case 2:    printf("the first predefined\n"); break;
  88.             case 3: printf("the second predefined\n"); break;
  89.         }
  90.         printf("\n");
  91.         printf("Mouse accelerator active: %s\t", BOO(Miscmys));
  92.         if (jclk->parametry.Miscmys)
  93.             printf("Accelerate: %s\n", jclk->parametry.Misc4x ? "four times" : "twice");
  94.         printf("Special Latin2 conversion on printer output: %s\n", BOO(Miscprnt));
  95.         printf("MegaSTE Turbo 16 MHz + cache: %s\t", BOO(Miscturb));
  96.         printf("Colour inversion on boot: %s\n", BOO(Miscinv));
  97. #if 0
  98.         printf("Zvukové znamení kaædou hodinu: %s\n", BOO(Misctut));
  99. #endif
  100.         printf("\n");
  101.         printf("Screen saver is active (countdown runs): %s\n", BOO(Saveron));
  102. #if 0
  103.         printf("SS hlídá Modem1 CD: %s\n", BOO(SaveMod1));
  104.         printf("SS hlídá Modem2 CD: %s\n", BOO(SaveMod2));
  105.         printf("SS akce - zhasnout barvy/st⌐ídat inverzi: %s\n", BOO(Saveact1));
  106.         printf("SS tvrd¿í akce - externí takt pro Shifter/vypnout VGA: %s\n", BOO(Saveact2));
  107. #endif
  108.         printf("Remaining time to screen saver action: %d\n", jclk->saverlen - jclk->savecount);
  109.         printf("\nAlt+Control+key: actual_key = %02x (for JCLKTOOL.SET)\n", jclk->actual_key);
  110.  
  111.         printf("\nPress Left Shift+Control+Alt to quit...");
  112.     }
  113. }
  114.  
  115. main(void)
  116. {
  117.     long adr;
  118.  
  119.     if (get_cookie('JCLK', &adr)) {
  120.         vypis(adr);
  121.     }
  122.     else {
  123.         printf("JoyCookie not found\n");
  124.         getchar();
  125.         return -1;
  126.     }
  127.     return 0;
  128. }
  129.