Browse Prior Art Database

Concept of Dynamically Patching Application Code in Order to Simulate Keyboard Scan Code Input

IP.com Disclosure Number: IPCOM000036300D
Original Publication Date: 1989-Sep-01
Included in the Prior Art Database: 2005-Jan-28
Document File: 2 page(s) / 75K

Publishing Venue

IBM

Related People

Lin, C: AUTHOR [+3]

Abstract

Disclosed is a programming concept for patching application code in order to simulate keyboard scan code input. A timer 0 interrupt 8 is used to monitor whether interrupt 9 (hardware INT 1) has been taken over by an application code in a HOST PC. If INT 9 has been taken over, the instruction "IN AL,60H" is searched for in the INT 9 routine of the HOST application code. If it is found, then it is replaced with "INT 60H", which invokes another routine to put the scan code received from a REMOTE PC into register AL. RELATED CONCEPTS 1. A communications application is designed to allow telephone access to a desktop (host) PC from a remote PC.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

Concept of Dynamically Patching Application Code in Order to Simulate Keyboard Scan Code Input

Disclosed is a programming concept for patching application code in order to simulate keyboard scan code input. A timer 0 interrupt 8 is used to monitor whether interrupt 9 (hardware INT 1) has been taken over by an application code in a HOST PC. If INT 9 has been taken over, the instruction "IN AL,60H" is searched for in the INT 9 routine of the HOST application code. If it is found, then it is replaced with "INT 60H", which invokes another routine to put the scan code received from a REMOTE PC into register AL. RELATED CONCEPTS 1. A communications application is designed to allow telephone access to a desktop (host) PC from a remote PC. The remote PC acts like a smart terminal to the desktop PC; the keystroke input comes from the remote PC, and the display screen of the remote PC is updated periodically to match the display of the desktop machine. 2. In a keyboard architecture for the IBM PC, a keystroke is entered by the user, its scan code data is fed by the hardware into an I/O port and a hardware interrput level 1 (INT 9) is generated. The keystroke is then made available to the application via BIOS or reading the I/O port directly.

3. A timer 0 interrupt 8 routine handles a timer interrupt from channel 0 of a 8253 timer. An input frequency of 1.19318 MHz and a divisor of 65536 results in approximately 18.2 interrupts every second.

A few remote control and terminal emulation programs have been developed to run a HOST PC from a remote PC or laptop PC. But these existing tools can not run the applications which take over interrupt 9 (hardware INT 1) to intercept keyboard scan codes for viewing or processing. One prominent example is the ...