Path: utzoo!attcan!uunet!ncrlnk!ncr-sd!hp-sdd!hplabs!hpfcdc!hpldola!ppa From: ppa@hpldola.HP.COM (Paul P. Austgen) Newsgroups: comp.sys.ibm.pc Subject: Re: IBM PS/2 Model 50 Num Lock Key Message-ID: <11250049@hpldola.HP.COM> Date: 17 Jan 89 16:02:48 GMT References: <5019@cognos.UUCP> Organization: HP Elec. Design Div. -ColoSpgs Lines: 56 Here's some C sources. (^M is carriage return, ignore) /* By request, here's 6 lines of C to turn the NumLock off */ typedef unsigned char (far *MEM ); /* Number lock function in C --- * Sets number lock to OFF * Assumes keyboard flag is at 0000:0417H in Model 60 * Check your documentation and change * segment and offset below if not * Written by Fran Horvath. * Has no effect if NUMLOCK is already off. */ num_lock() { MEM charset = ( (MEM) ( 0x0000L << 16 ) ) + 0x0417L; *charset &= 0xDF ; /* Turns Num Lock off if on */ } main() { num_lock(); } /* By request, here's 6 lines of C to turn the NumLock on */ /* Based on Fran Horvath's routine to turn it off. */ /* Converted by Howard Sanner, 28 Jan 88. */ typedef unsigned char (far *MEM); /* Number lock function in C --- * Sets number lock to ON. * Assumes keyboard flag is at 0000:0417H in Model 60 * Check your documentation and change * segment and offset below if not. * Also works fine on PCs and ATs. */ num_lock() { MEM charset = ((MEM)(0x0000L << 16 )) + 0x0417L; *charset |= 0x20; /* Turns Num Lock on if off */ /* Change the above line to: *charset &= 0xDF; to turn num lock OFF if it is ON. */ } main() { num_lock(); }