raa712@unh.UUCP (Richard A Arakelian) (02/01/89)
Hello again, I posted something similar to this awhile back and I either missed the response or didn't get one. Could someone tell me how to reassign the Ctrl key to the CAPS lock key and vice - versa on a 101 enhanced keyboard? Or could you send me a list of references of where I could find out more about it? advTHANKSance, Rich E-Mail !uunet!unh!raa712 <- reported problems with getting here. Might be better off posting a response. UNH Women's hockey: 11-2-0!!! Go #14 && #12!! ----------------------------------------------------------------------------
ppa@hpldola.HP.COM (Paul P. Austgen) (02/03/89)
I'm sure there are programs to do just exactly what you want, but this one allows you to change any keys to anything else that you want to. If you have access to a BB, try to find kbmap. If yoiu have the .COM file, you can edit the table with DEBUG and you don't have to reassemble. I find it especially useful to map keys on old games for the XT over to my AT cursor keys. I have included a source listing below: ;******************************************* ;* * ;* KBMAP -- A program to translate scan * ;* codes on the PC/AT keyboard. * ;* * ;* Written by: Alan D. Jones * ;* * ;* Released to the public domain * ;* on Feb 27,1988. * ;* * ;******************************************* ;This program must be converted to a "COM" ; file after linking. .286c XCODE segment para public 'CODE' assume cs:XCODE,ds:NOTHING,es:NOTHING,ss:NOTHING org 100h start: jmp load ;This is a complete scan code translation table. ;The scan code received from the keyboard is used ; as an index into this table, and the byte found ; at "scantbl+<scan code>" is substituted and ; passed to the keyboard interrupt handler. ;CAUTION: if this table is modified, be sure to ; swap or substitute MATCHING PAIRS! Both the "make" ; code and the "break" code ( = make code + 80h ) ; must be changed. ;<ctrl> key: make = 1Dh, break = 9Dh ;<caps lock> key: make = 3Ah, break = 0BAh ;The table as it stands exchanges the <ctrl> and ; <caps lock> key functions. org 104h scantbl DB 000H,001H,002H,003H,004H,005H,006H,007H DB 008H,009H,00AH,00BH,00CH,00DH,00EH,00FH DB 010H,011H,012H,013H,014H,015H,016H,017H DB 018H,019H,01AH,01BH,01CH,03AH,01EH,01FH DB 020H,021H,022H,023H,024H,025H,026H,027H DB 028H,029H,02AH,02BH,02CH,02DH,02EH,02FH DB 030H,031H,032H,033H,034H,035H,036H,037H DB 038H,039H,01DH,03BH,03CH,03DH,03EH,03FH DB 040H,041H,042H,043H,044H,045H,046H,047H DB 048H,049H,04AH,04BH,04CH,04DH,04EH,04FH DB 050H,051H,052H,053H,054H,055H,056H,057H DB 058H,059H,05AH,05BH,05CH,05DH,05EH,05FH DB 060H,061H,062H,063H,064H,065H,066H,067H DB 068H,069H,06AH,06BH,06CH,06DH,06EH,06FH DB 070H,071H,072H,073H,074H,075H,076H,077H DB 078H,079H,07AH,07BH,07CH,07DH,07EH,07FH DB 080H,081H,082H,083H,084H,085H,086H,087H DB 088H,089H,08AH,08BH,08CH,08DH,08EH,08FH DB 090H,091H,092H,093H,094H,095H,096H,097H DB 098H,099H,09AH,09BH,09CH,0BAH,09EH,09FH DB 0A0H,0A1H,0A2H,0A3H,0A4H,0A5H,0A6H,0A7H DB 0A8H,0A9H,0AAH,0ABH,0ACH,0ADH,0AEH,0AFH DB 0B0H,0B1H,0B2H,0B3H,0B4H,0B5H,0B6H,0B7H DB 0B8H,0B9H,09DH,0BBH,0BCH,0BDH,0BEH,0BFH DB 0C0H,0C1H,0C2H,0C3H,0C4H,0C5H,0C6H,0C7H DB 0C8H,0C9H,0CAH,0CBH,0CCH,0CDH,0CEH,0CFH DB 0D0H,0D1H,0D2H,0D3H,0D4H,0D5H,0D6H,0D7H DB 0D8H,0D9H,0DAH,0DBH,0DCH,0DDH,0DEH,0DFH DB 0E0H,0E1H,0E2H,0E3H,0E4H,0E5H,0E6H,0E7H DB 0E8H,0E9H,0EAH,0EBH,0ECH,0EDH,0EEH,0EFH DB 0F0H,0F1H,0F2H,0F3H,0F4H,0F5H,0F6H,0F7H DB 0F8H,0F9H,0FAH,0FBH,0FCH,0FDH,0FEH,0FFH old15 dd 0 ;------------------------------------------- ;Interrupt 15h function 4Fh is called (on MOST AT bios's) ; by the keyboard interrupt handler, with the scan code ; passed in the AL register. A program may trap int 15h ; function 4Fh and examine or alter the scan code BEFORE ; it is processed by the handler. If int 15h returns with ; carry set, processing proceeds. If it returns with carry ; clear, processing is skipped and the bios routine ignores ; the key press. int15 proc far pushf ;is this the scan code call? cmp ah,4Fh je scancode ;no, act as if we were not here popf jmp cs:old15 ;it is the scan code call, run it thru the translator scancode: popf push ds push bx push cs pop ds lea bx,scantbl xlatb pop bx pop ds ;set carry so scan code is processed stc iret int15 endp ;------------------------------------------- ;Initialization code -- not needed after program ; becomes memory-resident. cutoff label byte msg1 db 'This program only runs ' db 'on PC/AT type machines.' db 0Dh,0Ah,24h load: ;Make sure this is a PC/AT push sp pop ax cmp ax,sp jne wrongmachine mov ax,0F000h mov es,ax cmp byte ptr es:[0FFFEh],0FCh jne wrongmachine ;Get old interrupt vector mov ax,3515h int 21h mov word ptr old15,bx mov word ptr old15+2,es ;Install new interrupt vector mov ax,2515h mov dx,offset int15 int 21h ;Terminate and stay resident mov ax,3100h lea dx,cutoff add dx,0Fh shr dx,4 int 21h ;Display "wrong machine" error message and exit wrongmachine: lea dx,msg1 mov ah,9 int 21h mov ax,4C01h int 21h XCODE ends end start
toma@tekgvs.LABS.TEK.COM (Tom Almy) (02/08/89)
In article <897@unh.UUCP> raa712@unh.UUCP (Richard A Arakelian) writes: > Hello again, > I posted something similar to this awhile back and > I either missed the response or didn't get one. Could someone > tell me how to reassign the Ctrl key to the CAPS lock key and > vice - versa on a 101 enhanced keyboard? [...] Here is my monthly posting (:-() of a TSR that fixes this problem. Luckily, many keyboard manufacturers are putting switches on the back to exchange these keys. Also the Northgate Omnikey/102 neatly fixes this and other problems. This program, when placed in your AUTOEXEC.BAT file, makes the caps lock key into an additional control key. To do the caps lock function you hit caps lock with the right shift key depressed. This program won't work with older PC's -- its AT or PS/2 only. Tom Almy toma@tekgvs.labs.tek.com begin 666 kbdr.com MZ0@`30(`````"@"\FO_'!@4!F/^]_O^)+@<!_.A@`+@`3,TA`````(#\3W4M M/#IU&@8NC@9^`";V!A<$`74"L!VB?0`'^2[_+H``/+IU"Z!]``2`^2[_+H`` M^2[_+H``7EA:6QZ.V[0ES2$?_^:T-<TAB=B,P\.Z#`"X`#'-(>A]`#1#05!3 M3$]#2R`M/B!#5%),+"`@4DE'2%132$E&5"`K($-!4%-,3T-+("T^($-!4%-, M3T-+Z%<`Z$(`"T)Y(%1O;2!!;&UYZ$4`QP9^````N!4`Z);_HR0!B1XF`;HD M`5*Z@`!2NCP`4NA1`(S(4+J$`%*Z%0!2Z&3_Z7C_6XH',.1#4U`!PUA:4XG3 MZ2$`N`T`Z`D`N`H`Z0,``0``HA\"M$"Y`0"Z'P*+'AT"S2'#B<&)VHL>'0*T 20,TAPUM97U[C!HS8CL#SI/_C ` end
keithe@tekgvs.LABS.TEK.COM (Keith Ericson) (02/08/89)
In article <4603@tekgvs.LABS.TEK.COM> toma@tekgvs.LABS.TEK.COM (Tom Almy) writes: Re: CAPS LOCK KEY <==> Ctrl key >Here is my monthly posting (:-() of a TSR that fixes this problem... Hey Tom - It's short enough: just use it for your .signature file. I've seen some (.sig files) a lot longer and a helluva lot less useful. keith (in the office next door) ericson