Spatial Touchpad Interaction Model

Spatial Touchpad Interaction Model

Overview

Modern touchpads capture rich spatial data but reduce it to cursor movement. This project reclaims that lost layer — treating the touchpad as a 2D interaction surface with meaning tied to position, direction, and time.

We designed and built a working system where users navigate a document entirely through spatial gestures, without ever using a cursor.

Problem

Reading on laptops is fragmented:

Constant switching between keyboard, trackpad, and cursor Gestures are arbitrary and hard to remember Micro-interactions (scrolling, bookmarking, navigation) break flow

The core issue: Touchpads behave like mice, not surfaces.

Core Idea

Turn the touchpad into a spatial language.

Instead of:

“3-finger swipe = something”

Use:

Where you touch + how you move = meaning

Example:

Right edge + swipe up → Scroll Bottom edge + swipe right → Next page Top edge + hold → Enter link mode

This creates a composable, learnable system instead of a list of gestures.

Design Principles

Spatial consistency → same location = same meaning Zones + direction = actions → small system, large vocabulary Commit on release → reduces mistakes Asymmetric effort → harder to trigger than to exit Forgiving interaction → system adapts to human imprecision

System

Built on Linux using raw touch input.

Pipeline:

Capture absolute touch data (evdev) Classify → zone + direction Map → semantic action Output → simulated keypress Web reader responds

Everything is declarative — gestures can be remapped without changing code.

Interaction Design

(need a table here)

Prototype

Python-based gesture engine Real-time visualizer for debugging Web document reader controlled entirely via touchpad No cursor interaction at any point

Evaluation

Qualitative study with users performing reading tasks.

What worked

Rapid learnability (minutes, not hours) Users formed a spatial mental model, not memorization Gestures felt logical and meaningful

What broke

Hard zone boundaries → accidental triggers Corner zones → highest error rate

Key Insight

When gestures are spatially motivated, users don’t memorize — they infer.

That changes everything

Limitations

Linux-only (raw input access constraint) Small, qualitative study Controlled reading environment

Further Improvements

Add subtle feedback (haptic/audio) Track quantitative metrics (error rate, speed) Extend to multi-finger spatial inputs

Outcome

changelog

June 13, 2026

Transitioned projects grid to CSS column-count masonry layout, resolving lopsided column heights on iPad and maintaining a fluid vertical stagger.

June 13, 2026

Unified all card titles to display serif typography (Crimson Pro) at weight 400. Aligned site side paddings (navbar, homepage container, footer) to 24px.

June 13, 2026

Replaced footer credit with a native Changelog popup modal to easily track manual updates.