Annotation of 43BSDTahoe/new/X/libqvss/ddxutil.c, revision 1.1.1.1

1.1       root        1: /* Copyright 1985, Massachusetts Institute of Technology */
                      2: /* util.c              Various utilities
                      3:  *
                      4:  *     SoundBell       Generate audible bell
                      5:  *     SetKeyClick     Control key click
                      6:  *     SetAutoRepeat   Control auto repeat
                      7:  *     SetLockLED      Control Lock LED
                      8:  *     SetVideo        Disable/enable video
                      9:  *     QueryShape      Determine shapes
                     10:  *     ResolveColors   does nothing
                     11:  *     StoreColors     does nothing
                     12:  */
                     13: 
                     14: #include <sys/types.h>
                     15: #include <vaxuba/qvioctl.h>
                     16: 
                     17: #include "ddxqvss.h"
                     18: 
                     19: extern int vsdev;
                     20: 
                     21: #define LK_REPEAT_ON 0xe3      /* enable autorepeat across kbd */
                     22: #define LK_REPEAT_OFF 0xe1     /* diable autorepeat across kbd */
                     23: #define LK_ENABLE_CLICK 0x1b   /* enable keyclick / set volume */
                     24: #define LK_DISABLE_CLICK 0x99  /* disable keyclick entirely    */
                     25: #define LK_ENABLE_BELL 0x23    /* enable bell / set volume     */
                     26: #ifndef LK_RING_BELL           /* can go away after 1.2 is out */
                     27: #define LK_RING_BELL 0xa7      /* command to ring a bell       */
                     28: #define LED_1 0x81             /* led 1 on the keyboard        */
                     29: #define LED_2 0x82             /* led 2 on the keyboard        */
                     30: #define LED_3 0x84             /* led 3 on the keyboard        */
                     31: #define LED_4 0x88             /* led 4 on the keyboard        */
                     32: #define LK_LED_ENABLE 0x13     /* turn on led                  */
                     33: #define LK_LED_DISABLE 0x11    /* turn off led                 */
                     34: #endif
                     35: 
                     36: /* Sound bell, volume between 0 (quiet) and 7 (loud) */
                     37: 
                     38: SoundBell (volume)
                     39:        int volume;
                     40: {
                     41:        struct qv_kpcmd ioc;
                     42:        volume = volume & 7;
                     43:        volume = 7 - volume;
                     44: 
                     45:        ioc.nbytes = 1;
                     46:        ioc.cmd = LK_ENABLE_BELL;
                     47:        ioc.par[0] = volume;
                     48:        ioctl(vsdev, QIOCKPCMD, &ioc);
                     49: 
                     50:        ioc.nbytes = 0;
                     51:        ioc.cmd = LK_RING_BELL;
                     52:        return(ioctl(vsdev, QIOCKPCMD, &ioc));
                     53: }
                     54: 
                     55: /* Set key click, volume between -1 (default), 0 (off) and 8 (loud) */
                     56: 
                     57: SetKeyClick (volume)
                     58:        int volume;
                     59: {
                     60:        struct qv_kpcmd ioc;
                     61:        int ret;
                     62:        if(volume < 0) volume = 6;
                     63:        if(volume > 0 ) {
                     64:                volume -= 1;
                     65:                if(volume > 7) volume = 7;
                     66:                volume = 7 - volume;
                     67: 
                     68:                ioc.nbytes = 1;
                     69:                ioc.cmd = LK_ENABLE_CLICK;
                     70:                ioc.par[0] = volume;
                     71:                ret = ioctl(vsdev, QIOCKPCMD, &ioc);
                     72:        }
                     73:        else if(volume == 0) {
                     74:                ioc.nbytes = 0;
                     75:                ioc.cmd = LK_DISABLE_CLICK;
                     76:                ret = ioctl(vsdev, QIOCKPCMD, &ioc);
                     77:        }
                     78:        return(ret);
                     79: }
                     80: 
                     81: /* Set autorepeat */
                     82: 
                     83: SetAutoRepeat (onoff)
                     84:        int onoff;
                     85: {
                     86:        struct qv_kpcmd ioc;
                     87:        register char *divsets;
                     88:        divsets = onoff ? (char *) AutoRepeatLKMode () : (char *) UpDownLKMode ();
                     89:        ioc.nbytes = 0;
                     90:        while (ioc.cmd = *divsets++)
                     91:                ioctl(vsdev, QIOCKPCMD, &ioc);
                     92:        ioc.cmd = ((onoff > 0) ? LK_REPEAT_ON : LK_REPEAT_OFF );
                     93:        return(ioctl(vsdev, QIOCKPCMD, &ioc));
                     94: }
                     95: 
                     96: int SetVideo(onoff)
                     97:        int onoff;
                     98: {
                     99:        return(onoff - 1);
                    100: }
                    101: QueryShape (shape, width, height)
                    102:        int shape;
                    103:        short *width, *height;
                    104: {
                    105:        switch (shape) {
                    106:        case CursorShape:       /* braindamaged qvss cursor.... */
                    107:            if (*width > 16)
                    108:                *width = 16;
                    109:            if (*height > 16)
                    110:                *height = 16;
                    111:            break;
                    112:        case TileShape:
                    113:            *width = *height = 16;
                    114:            break;
                    115:        }
                    116: }
                    117: 
                    118: SetLockLED (onoff)
                    119:        int onoff;
                    120: {
                    121:        struct qv_kpcmd ioc;
                    122:        if (onoff)
                    123:                ioc.cmd = LK_LED_ENABLE;
                    124:        else
                    125:                ioc.cmd = LK_LED_DISABLE;
                    126:        ioc.par[0] = LED_3;
                    127:        ioc.par[1]  = 0;
                    128:        ioc.nbytes = 1;
                    129:        ioctl(vsdev, QIOCKPCMD, &ioc);
                    130:        return;
                    131: }
                    132: 
                    133: ResolveColor (red, green, blue)
                    134:        unsigned short *red, *green, *blue;
                    135: {
                    136: }
                    137: 
                    138: StoreColors (count, entries)
                    139:        int count;
                    140:        ColorDef *entries;
                    141: 
                    142: {
                    143: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.