I don't know why everyone has such a problem with this - the act of voting, manually or electronically is rather simple and not an overly difficult task.
Have a touch screen/keyboard overlay that displays the candidates and the computer records the order you tick the boxes.
Then prints on paper in fixed locations to match the screen overlay numbers that represent the order a box was chosen (Look at a lottery quick pick, or a machine readable ticket) print a barcode at the bottom that encodes the time, date, location, etc, the options chosen and a checksum (Perhaps one of those new fangled 3d barcodes so people may even be able to verify it with their phones/etc)
Make sure the print out and the screen are displayed side by side, if they don't match the voter is to manually cross out with a specific pen (no computer crossing out at all).
Oh and make sure they can't unlock the voting booth until they confirm one way or the other :D
If the numbers in b
oxes don't match the barcode the vote is declared illegal.
Added points if after the user verifies the vote it's saved locally, sent to a central location, and uploaded to two independent bodies (which check the central location and each other to verify the vote)
Even more points if the barcodes, votes, and backup systems are checked routinely - like every hour all votes are scanned and compared.
The key here is that the humans and the machines are able to read the primary component printout - barcodes are only there as double checks.
Paper systems aren't foil proof - especially as we're given PENCILS to mark the boxes - and as much as they're under supervision a whole group of supervisors can be abusing the system...