/* File: OSUtils.r Contains: OS Utilities Interfaces. Version: Technology: Mac OS 8 Release: QuickTime 4.0 Copyright: © 1985-1998 by Apple Computer, Inc., all rights reserved Bugs?: For bug reports, consult the following page on the World Wide Web: http://developer.apple.com/bugreporter/ */ #ifndef __OSUTILS_R__ #define __OSUTILS_R__ #ifndef __CONDITIONALMACROS_R__ #include "ConditionalMacros.r" #endif /* The following are from the SysTypes.r file and don't have a good home yet */ /*-----------------------accl ¥ Mouse Acceleration Tables ------------------------------*/ type 'accl' { literal longint /* Device identifier or device class */ classAbsolute, /* A flat-response device */ classMouse, /* Mechanical or optical mouse */ classTrackball, /* Trackball */ classScratchPad, /* e. g. Midas */ classJoystick, /* e. g. HomeRow */ classRelTablet; /* Relative tablet */ integer = $$CountOf(AcclTable); /* Number of tables for this device */ array AcclTable { /* Entries sorted by first value; must have at least 0.0 and 1.0 tables */ unsigned hex longint; /* Acceleration provided by this table (Fixed) */ integer = $$CountOf(AcclPoint); /* Number of control points for this device */ wide array AcclPoint { /* Entries sorted by first value; implicit first entry (0.0, 0.0); at least one more entry required */ unsigned hex longint; /* Device speed (inches per second) (Fixed) */ unsigned hex longint; /* Cursor speed (inches per second) (Fixed) */ }; }; }; /*----------------------------mcky ¥ Mouse Tracking-------------------------------------*/ type 'mcky' { array [8] { unsigned byte; }; }; /*----------------------------KCAP ¥ Physical Layout of Keyboard------------------------*/ type 'KCAP' { rect; /* boundsRect */ rect; /* textRect */ integer = $$CountOf(MainArray); array MainArray { integer = $$CountOf(ShapeArray) - 1; wide array ShapeArray { point; /* shapePoint */ }; integer = $$CountOf(KeyArray) - 1; wide array KeyArray { byte; /* mask */ boolean or, and; bitstring[7]; /* keyCode */ integer; /* dv */ integer; /* dh */ }; }; }; /*----------------------------KCHR ¥ ASCII Mapping (software)---------------------------*/ type 'KCHR' { integer; /* Version */ wide array [$100] { /* Indexes */ byte; }; integer = $$CountOf(TableArray); array TableArray { wide array [$80] { /* ASCII characters */ char; }; }; integer = $$CountOf(DeadArray); array DeadArray { byte; /* Table number */ byte; /* Virtual keycode */ integer = $$CountOf(CompletorArray); wide array CompletorArray { char; /* Completor char */ char; /* Substituting char */ }; char; /* No match char */ char; /* 16-bits for the times when 8 isn't enough */ }; }; /*----------------------------KMAP ¥ Keyboard Mapping (hardware)------------------------*/ type 'KMAP' { integer; /* ID */ integer; /* Version */ wide array [$80] { /* Raw to virtual */ byte; /* keycode map */ }; integer = $$CountOf(ExceptionArray); wide array ExceptionArray { byte; /* Raw keycode */ boolean noXor, Xor; fill bit[3]; bitstring[4]; /* ADB op */ pstring; }; }; #endif /* __OSUTILS_R__ */