PFiddlesoft logo
Home Overview Features Press Support

 

Event Taps Testbench icon

PFiddlesoft Frameworks

Features

The PFiddlesoft Frameworks include the PFAssistive Framework and the PFEventTaps Framework.

The PFAssistive Framework was created in 2003 as the engine driving PFiddlesoft’s highly regarded UI Browser application for developers and for users of Apple’s AppleScript GUI Scripting technology. The framework supports and enhances Apple's Accessibility API.

The Accessibility API implements the concept of a UI element, an object that represents a user interface element on the screen in any running application, such as a menu, a window, or a button, or the application itself. The Accessibility API also implements the concept of an observer, an object that registers to observe a UI element that issues Accessibility notifications when changes occur.

The PFAssistive Framework implements these same concepts in its PFUIElement, PFApplicationUIElement, and PFObserver classes, each of which instantiates and encapsulates an associated Accessibility API object and makes its capabilities available to an assistive application using standard Objective-C and Cocoa techniques. For example, an assistive application using the PFAssistive Framework can implement optional delegate methods declared in the framework’s PFUIElementDelegate and PFObserverDelegate formal protocols to observe Accessibility notifications. The framework bundle includes our Assistive Application Programming Guide for Mac OS X and a detailed PFAssistive Framework Reference, as well as the distribution license.

With the PFAssistive Framework, an assistive application discovers UI elements, reads UI element attributes, and controls UI elements and, through them, the target application, all in the interest of supporting assistive applications that enable a user with disabilities to use the computer to perform the same tasks that any user can perform with the graphical user interface. An assistive application typically does this by performing these tasks:

By performing these tasks—discovering, reading, and controlling a UI element—an assistive application enables a user with disabilities to do everything that a user without disabilities can do with the target application.

The PFEventTaps Framework was created in 2007 as the engine underlying PFiddlesoft’s free Event Taps Testbench utility for developers. The framework supports and enhances Apple's Quartz Event Taps API.

The Event Taps API implements the three concepts of an event tap to monitor and intercept user input events, an event source such as a mouse, keyboard, scroll wheel, tablet, tablet pointer, or virtual input device, and a user input event that is generated by an event source.

The PFEventTaps Framework implements these same concepts in its PFEventTap, PFEventSource, and PFEvent classes, each of which instantiates and encapsulates an associated Event Taps API object and makes its capabilities available to an assistive application using standard Objective-C and Cocoa techniques. For example, an assistive application using the PFEventTaps Framework can implement optional delegate methods declared in the framework’s PFEventTapsDelegate formal protocol to observe Quartz events as they are generated by user input devices and virtual devices, and to filter, modify, block, and respond to the events. The framework bundle includes our Assistive Application Programming Guide for Mac OS X and a detailed PFEventTaps Framework Reference, as well as the distribution license.

With the PFEventTaps Framework, an assistive application monitors user input events generated by devices such as a mouse, a keyboard, or a tablet, and it filters, modifies, blocks, and responds to user input events and generates additional synthetic events, all in the interest of supporting assistive devices and applications that enable a user with disabilities to use the computer to perform the same tasks that any user can perform. An assistive application typically does this by performing these tasks:

The two frameworks are independent of one another. Both together enable you to write a full-featured assistive application, but you may need only one or the other to accomplish more limited purposes.

For detailed instructions and sample code, read or download our Assistive Application Programming Guide for Mac OS X, a detailed PDF document explaining how to use both of the PFiddlesoft Frameworks to write assistive applications, with sample code. Also download the PFAssistive Framework Reference and the PFEventTaps Framework Reference for detailed documentation of all of the frameworks' classes, protocols, and methods. The Programming Guide is also included in both framework bundles along with detailed framework references. Download the source code for our free Event Taps Testbench developer utility in the form of an Xcode 3.2 project file, to serve as example code showing how to use the PFEventTaps framework.


This page was first published by PFiddlesoft on May 25, 2010. Last updated November 3, 2013
Copyright © 2003-2013 Bill Cheeseman. Used by permission. All Rights Reserved.
PFiddlesoft, PFiddle Software, Pfiddle, Pfiddles, and the PFiddlesoft logo are trademarks of PreForm Assistive Technologies, LLC.