glove.racket 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. ;; glove 1
  2. ;; just a wanky name for a keyboard.
  3. ;;how many of these i need? iunno.
  4. (require pict)
  5. (require racket/draw)
  6. ;; well=(nn+(h=6(r=6(k))))
  7. ;; well=h+nn, h=6r, r=6k.
  8. ;; k = key
  9. (define k (cc-superimpose (colorize (filled-rectangle 16 16) "green")(rectangle 16 16)(colorize (filled-rectangle 12 10) "yellow")(rectangle 12 10)(colorize (filled-rectangle 8 6) "orange")(rectangle 8 6)))
  10. (define nip (circle 7))
  11. ;; nn = nav-nip
  12. (define nn (hc-append (rectangle 39 1)nip))
  13. ;; uu = nav-nip (other side, right side)
  14. (define uu (hc-append (rectangle 34 1)nip))
  15. ;; r = finger row (collumns really.
  16. (define r (vc-append 1 k k k k k k))
  17. ;; h = hand aray
  18. ;; 7 "r"s, with 3 pixel gaps between.
  19. (define h (hc-append 3 r r r r r r))
  20. ;; well = finger well left
  21. (define well (cc-superimpose h nn))
  22. ;;define welr ;;too!
  23. (define welr (lc-superimpose h uu))
  24. ;;;;;;; THE THUMB ARC ;;
  25. (define t1 (rotate k 0.0))
  26. (define t2 (rotate k -0.00))
  27. (define t3 (rotate k (* pi -0.125)))
  28. ;;(define t4 (rotate k -0.75))
  29. (define t4 (rotate k (* pi -0.25)))
  30. (define t5 (rotate k (* pi -0.33)))
  31. (define t6 (rotate k (* pi -0.42)))
  32. (define t7 (rotate k (* pi -0.43)))
  33. (define t8 (rotate k (* pi -0.5)))
  34. (define thumbalpha1 (vl-append (hb-append t1 t2 t3) (hb-append t2 t3 t4 t5) (ht-append t3 t4 t5 t6) (ht-append t4 t5 t6 t7) (ht-append t5 t6 t7 t8)))
  35. (define thumbalpha2 (pin-over thumbalpha1 48 7 t4))
  36. (define wellt (hc-append well (rectangle 100 3)))
  37. (define wellt2 (vl-append wellt (rectangle 3 120)))
  38. ;;(define lefty (vr-append wellt thumbalpha2))
  39. (define lefty (pin-over wellt2 95 80 thumbalpha2))