Add files via upload
This commit is contained in:
parent
8c810ed085
commit
818ce050cb
4 changed files with 8535 additions and 0 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
406
Example_Keyboards/IBM Thinkpad 380ED/Eagle PCB Files/eagle.epf
Normal file
406
Example_Keyboards/IBM Thinkpad 380ED/Eagle PCB Files/eagle.epf
Normal file
|
@ -0,0 +1,406 @@
|
|||
[Eagle]
|
||||
Version="09 05 00"
|
||||
Platform="Windows"
|
||||
Globals="Globals"
|
||||
Desktop="Desktop"
|
||||
|
||||
[Globals]
|
||||
AutoSaveProject=1
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:79"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:88"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:178"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:179"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:180"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:181"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:182"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:183"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:184"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:185"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:186"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:187"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:89"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:188"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:189"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:190"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:191"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:192"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:193"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:194"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:195"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:196"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:197"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:90"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:198"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:199"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:200"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:201"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:202"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:203"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:204"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:205"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:206"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:207"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:91"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:208"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:209"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:210"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:211"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:212"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:213"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:214"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:215"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:216"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:217"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:92"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:218"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:219"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:220"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:221"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:222"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:223"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:224"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:225"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:226"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:227"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:93"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:228"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:229"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:230"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:231"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:232"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:233"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:234"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:235"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:236"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:237"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:94"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:238"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:239"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:240"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:241"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:242"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:243"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:244"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:245"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:246"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:247"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:95"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:248"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:249"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:250"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:251"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:252"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:253"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:254"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:255"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:256"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:257"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:96"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:258"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:259"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:260"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:261"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:262"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:263"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:264"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:265"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:266"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:267"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:97"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:268"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:269"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:270"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:271"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:272"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:273"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:274"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:275"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:276"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:277"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:80"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:98"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:278"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:279"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:280"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:281"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:282"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:283"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:284"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:285"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:286"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:287"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:99"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:288"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:289"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:290"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:291"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:292"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:293"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:294"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:295"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:296"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:297"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:100"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:298"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:299"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:300"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:301"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:302"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:303"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:304"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:305"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:306"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:307"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:101"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:308"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:309"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:310"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:311"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:312"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:313"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:314"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:315"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:316"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:317"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:102"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:318"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:319"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:320"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:321"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:322"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:323"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:324"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:325"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:326"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:327"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:103"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:328"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:329"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:330"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:331"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:332"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:333"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:334"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:335"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:336"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:337"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:104"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:338"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:339"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:340"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:341"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:342"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:343"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:344"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:345"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:346"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:347"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:105"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:348"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:349"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:350"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:351"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:352"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:353"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:354"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:355"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:356"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:357"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:106"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:358"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:359"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:360"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:361"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:362"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:363"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:364"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:365"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:366"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:367"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:107"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:368"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:369"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:370"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:371"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:372"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:373"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:374"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:375"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:376"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:377"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:81"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:108"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:378"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:379"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:380"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:381"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:382"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:383"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:384"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:385"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:386"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:387"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:109"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:388"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:389"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:390"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:391"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:392"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:393"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:394"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:395"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:396"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:397"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:110"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:398"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:399"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:400"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:401"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:402"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:403"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:404"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:405"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:406"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:407"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:111"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:408"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:409"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:410"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:411"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:412"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:413"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:414"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:415"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:416"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:417"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:112"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:418"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:419"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:527439"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:514"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:5610454"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:10015156"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:113"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:114"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:115"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:116"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:117"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:82"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:118"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:119"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:120"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:121"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:122"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:123"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:124"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:125"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:126"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:127"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:83"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:128"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:129"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:130"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:131"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:132"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:133"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:134"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:135"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:136"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:137"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:84"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:138"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:139"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:140"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:141"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:142"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:143"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:144"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:145"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:146"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:147"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:85"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:148"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:149"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:150"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:151"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:152"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:153"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:154"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:155"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:156"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:157"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:86"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:158"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:159"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:160"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:161"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:162"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:163"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:164"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:165"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:166"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:167"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:87"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:168"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:169"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:170"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:171"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:172"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:173"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:174"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:175"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:176"
|
||||
UsedLibraryUrn="urn:adsk.eagle:library:177"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/0526100633.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/0526101633.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/0526101833.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/2512.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/2917.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/3296W-1-103LF.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/AD8236.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/AP7381.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/FDS4435.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/FPC30.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/FUSE0603.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/Hirose10.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/LCD_BL10.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/LD1117D33CTR.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/LM358D.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/LM4040-SC70.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/LM4040.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/MBRS340.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/MMBF170.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/Max1873.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/NOCONNECTION.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/NRS8030.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/R1206.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/SparkFun-Resistors.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/oshw.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/eagle/libraries/lbr/Teensy_3p2_PCG.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/eagle/libraries/Sparkfun_lib/SparkFun-Eagle-Libraries-master/SparkFun-DiscreteSemi.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/eagle/libraries/Sparkfun_lib/SparkFun-Eagle-Libraries-master/SparkFun-IC-Power.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/lbr/FPC CONN.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/lbr/FPC CONN26.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/lbr/FPC_Dual_back.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/lbr/FPC_Dual_front.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/lbr/TLV810SDBZT.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/lbr/Teensy.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/lbr/Teensy_3p2.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/lbr/Teensy_Combo.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/lbr/Teensy_LC.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/lbr/WM6787CT-ND.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/eagle/libraries/Sparkfun_lib/SparkFun-Eagle-Libraries-master/SparkFun-Connectors.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/eagle/libraries/Sparkfun_lib/SparkFun-Eagle-Libraries-master/SparkFun-IC-Logic.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/eagle/libraries/Sparkfun_lib/SparkFun-Eagle-Libraries-master/SparkFun-PowerSymbols.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/eagle/libraries/Sparkfun_lib/SparkFun-Eagle-Libraries-master/SparkFun-Capacitors.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/eagle/libraries/Sparkfun_lib/SparkFun-Eagle-Libraries-master/SparkFun-Resistors.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/eagle/libraries/Sparkfun_lib/SparkFun-Eagle-Libraries-master/SparkFun-IC-Microcontroller.lbr"
|
||||
UsedLibrary="C:/Users/Morris/Documents/EAGLE/libraries/T1200.lbr"
|
||||
|
||||
[Win_1]
|
||||
Type="Control Panel"
|
||||
Number=0
|
||||
|
||||
[Desktop]
|
||||
Screen="1920 1080"
|
||||
Window="Win_1"
|
|
@ -0,0 +1,77 @@
|
|||
/* Copyright 2020 Frank Adams
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
// This software interfaces the Teensy 3.2 with a Thinkpad 380ED laptop trackpoint.
|
||||
// The trackpoint Wheatstone bridge is fed to an instrumentation amplifier which drives the
|
||||
// Teensy ADC inputs.
|
||||
// In the Arduino IDE, select Tools, Teensy 3.2. Also under Tools, select Keyboard+Mouse+Joystick
|
||||
//
|
||||
// Revision History
|
||||
// Rev 1.0 - April 22, 2020 - Original Release
|
||||
//
|
||||
// declare and initialize variables
|
||||
int x_read; // stores the reading from the X ADC
|
||||
int y_read; // same for the Y ADC
|
||||
char mx; // signed byte used by the Mouse.move function for x value. Positive value moves to the right
|
||||
char my; // positive y value moves down
|
||||
int x_delta; // signed 16 bit value gives x movement amount
|
||||
int y_delta; // y version.
|
||||
int x_center; //resting position of x sensor
|
||||
int y_center; //resting position of y sensor
|
||||
int noise_zone = 50; // dead zone around the center. Can be as low as 3 but cursor may start to drift so add some safety margin.
|
||||
// Increase this number if the cursor moves without touching the TP. Decrease if too much force is needed.
|
||||
|
||||
void setup()
|
||||
{
|
||||
delay(1000); // delay a second to let things settle out
|
||||
analogReadRes(13); // set ADC resolution to 13 bits (16 bit ADC but low 3 bits are random noise)
|
||||
analogReadAveraging(8); // ADC will take the average of 8 reads to filter noise.
|
||||
x_center = analogRead(A10); // store the center (no movement) position for x
|
||||
y_center = analogRead(A11); // same for y.
|
||||
// When the keyboard code is added, detect when Fn - F8 is pushed to indicate that
|
||||
// x_center and y_center should be read again from the ADC. This would be because
|
||||
// the operator notices the cursor is moving without being pushed.
|
||||
}
|
||||
//
|
||||
// ************************************Main Loop***************************************************************
|
||||
void loop() {
|
||||
mx = 0; // for each loop, start with zero and update only if movement detected
|
||||
my = 0; // same for y
|
||||
|
||||
x_read = analogRead(A10); // read the ADC tied to the X sensor
|
||||
if (x_read > (x_center + noise_zone)) { // is ADC to the right of the noise zone beyond the resting position?
|
||||
x_delta = (x_read - (x_center + noise_zone)) / 10; // find out how far beyond noise zone. Divide by 10 to slow it down.
|
||||
mx = byte(x_delta); // convert signed 16 bit to signed 8 bit
|
||||
}
|
||||
else if (x_read < (x_center - noise_zone)) { // is ADC to the left of the noise zone beyond the resting position?
|
||||
x_delta = (((x_center - noise_zone) - x_read) / 10) * -1; // Answer should be negative so multiply by -1
|
||||
mx = byte(x_delta);
|
||||
}
|
||||
|
||||
y_read = analogRead(A11); // read the ADC tied to the Y sensor
|
||||
if (y_read > (y_center + noise_zone)) {
|
||||
y_delta = ((y_read - (y_center + noise_zone)) / 10) * -1; // up movement is negative for Mouse.move function
|
||||
my = byte(y_delta);
|
||||
}
|
||||
else if (y_read < (y_center - noise_zone)) {
|
||||
y_delta = (((y_center - noise_zone) - y_read) / 10);
|
||||
my = byte(y_delta);
|
||||
}
|
||||
|
||||
// send the x and y data over usb if either one is not at center position
|
||||
if ((mx != 0x00) || (my != 0x00)) {
|
||||
Mouse.move(mx,my);
|
||||
}
|
||||
//
|
||||
// **************************************End of trackpoint routine***********************************
|
||||
//
|
||||
delay(30); // wait 30ms before repeating next polling cycle
|
||||
}
|
Loading…
Reference in a new issue