An electronic device comprising: a camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305) positioned at an edge of a surface (105; 220; 410; 480; 515; 610; 720; 907; 1107; 1210; 1307) and oriented to have a field of view to capture images across the surface (105; 220; 410; 480; 515; 610; 720; 907; 1107; 1210; 1307); an illuminator (118, 119; 230; 430, 432; 505, 510; 770, 775; 810, 820; 1310, 1315) positioned to intersect and illuminate a portion of the field of view of the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305) said portion being smaller than the field of view of the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305); and a processing unit configured to perform operations comprising: accessing an image captured by the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305); identifying multiple regions (112-116; 411-415; 470-478; 612-616; 722-730; 910-918; 1010-1018; 1110-1115) within the field of view of the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305) that each correspond to one interface control positioned on the surface (105; 220; 410; 480; 515; 610; 720; 907; 1107; 1210; 1307); defining multiple active touch areas (120-124; 421-425; 452-460; 520; 732-750; 825; 920-928; 1001-1009; 1131-1135; 1220; 1320) as portions within the field of view of the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305) where the illumination by the illuminator (118, 119; 230; 430, 432; 505, 510; 770, 775; 810, 820; 1310, 1315) intersects the multiple identified regions (112-116; 411-415; 470-478; 612-616; 722-730; 910-918; 1010-1018; 1110-1115); determining, from among the multiple active touch areas, an active touch area in which an object detected within the accessed image is positioned; determining user input based on the one interface control that corresponds to the determined active touch area (120-124; 421-425; 452-460; 520; 732-750; 825; 920-928; 1001-1009; 1131-1135; 1220; 1320); and controlling an application based on the determined user input. a camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305) positioned at an edge of a surface (105; 220; 410; 480; 515; 610; 720; 907; 1107; 1210; 1307) and oriented to have a field of view to capture images across the surface (105; 220; 410; 480; 515; 610; 720; 907; 1107; 1210; 1307); an illuminator (118, 119; 230; 430, 432; 505, 510; 770, 775; 810, 820; 1310, 1315) positioned to intersect and illuminate a portion of the field of view of the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305) said portion being smaller than the field of view of the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305); and a processing unit configured to perform operations comprising: accessing an image captured by the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305); identifying multiple regions (112-116; 411-415; 470-478; 612-616; 722-730; 910-918; 1010-1018; 1110-1115) within the field of view of the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305) that each correspond to one interface control positioned on the surface (105; 220; 410; 480; 515; 610; 720; 907; 1107; 1210; 1307); defining multiple active touch areas (120-124; 421-425; 452-460; 520; 732-750; 825; 920-928; 1001-1009; 1131-1135; 1220; 1320) as portions within the field of view of the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305) where the illumination by the illuminator (118, 119; 230; 430, 432; 505, 510; 770, 775; 810, 820; 1310, 1315) intersects the multiple identified regions (112-116; 411-415; 470-478; 612-616; 722-730; 910-918; 1010-1018; 1110-1115); determining, from among the multiple active touch areas, an active touch area in which an object detected within the accessed image is positioned; determining user input based on the one interface control that corresponds to the determined active touch area (120-124; 421-425; 452-460; 520; 732-750; 825; 920-928; 1001-1009; 1131-1135; 1220; 1320); and controlling an application based on the determined user input. accessing an image captured by the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305); identifying multiple regions (112-116; 411-415; 470-478; 612-616; 722-730; 910-918; 1010-1018; 1110-1115) within the field of view of the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305) that each correspond to one interface control positioned on the surface (105; 220; 410; 480; 515; 610; 720; 907; 1107; 1210; 1307); defining multiple active touch areas (120-124; 421-425; 452-460; 520; 732-750; 825; 920-928; 1001-1009; 1131-1135; 1220; 1320) as portions within the field of view of the camera (110; 210; 405; 485; 525; 605; 710; 850; 905; 1020; 1105; 1205; 1305) where the illumination by the illuminator (118, 119; 230; 430, 432; 505, 510; 770, 775; 810, 820; 1310, 1315) intersects the multiple identified regions (112-116; 411-415; 470-478; 612-616; 722-730; 910-918; 1010-1018; 1110-1115); determining, from among the multiple active touch areas, an active touch area in which an object detected within the accessed image is positioned; determining user input based on the one interface control that corresponds to the determined active touch area (120-124; 421-425; 452-460; 520; 732-750; 825; 920-928; 1001-1009; 1131-1135; 1220; 1320); and controlling an application based on the determined user input.