Author Topic: Hiya  (Read 1930 times)

0 Members and 1 Guest are viewing this topic.

Offline Rioke

  • Thread Starter
  • Posts: 0
Hiya
« on: Thu, 01 October 2015, 21:33:54 »
I've just started to browse around GH, hoping to possibly find something to help me with a project of mine, so I though I might as well ask.

I'm hoping to try to use preexisting drivers for a homemade keyboard. Now the trick is, this isn't a normal keyboard. I am using accelerators to detect motion of the fingers and want to have the computer to understand numerical values as different keystrokes. I was hoping to use some kind of code filter to translate the numbers into something the computer would understand, but I need to understand how the drivers work. I was thinking of using the Microsoft Hardware USB Keyboard drivers that are already on Windows computers, but finding anything for Windows is a little trick. Any suggestions?

Also, the main constraint is that it needs to be on the Windows OS :/

Offline Snowdog993

  • Grace Under Pressure
  • Posts: 1587
  • Location: Over There! (Pointing)
  • Justifiably Clueless.
Re: Hiya
« Reply #1 on: Thu, 01 October 2015, 22:17:18 »
Maybe start with understanding what a computer understands.

http://www.asciitable.com/

I hope this helps you.

Offline njbair

  • Posts: 2825
  • Location: Cleveland, Ohio
  • I love the Powerglove. It's so bad.
    • nickbair.net
Re: Hiya
« Reply #2 on: Thu, 01 October 2015, 22:24:35 »
What are you using as a controller? If you're using an AVR, maybe just choose one that can do USB HID protocol (ATmega32u4). If not, an AVR may still be your best bet...you can use a Teensy to communicate with your primary controller via serial connection, then interface with the computer via the Teensy's USB HID emulation.

Alpine Winter GB | My Personal TMK Firmware Repo
IBM Rubber Band "Floss" Mod | Click Modding Alps 101 | Flame-Polishing Cherry MX Stems
Review: hasu's USB to USB converter
My boards:
More
AEKII 60% | Alps64 HHKB | Ducky Shine 3, MX Blues | IBM Model M #1391401, Nov. 1990 | IBM SSK #1391472, Nov. 1987, screw modded, rubber-band modded | Noppoo EC108-Pro, 45g | Infinity 60% v2 Hacker, Matias Quiet Pros | Infinity 60% v2 Standard, MX Browns | Cherry G80-1800LPCEU-2, MX Blacks | Cherry G80-1813 (Dolch), MX Blues | Unicomp M-122, ANSI-modded | Unicomp M-122 (Unsaver mod in progress) | 2x Unitek K-258, White Alps | Apple boards (IIGS, AEKII) | Varmilo VA87MR, Gateron Blacks | Filco Zero TKL, Fukka White Alps | Planck, Gateron Browns | Monarch, click-modded Cream Alps

Offline Rioke

  • Thread Starter
  • Posts: 0
Re: Hiya
« Reply #3 on: Thu, 01 October 2015, 23:02:55 »
@Snowdog
I wouldn't think the computer would be interpreting the numbers like that, especially if I'm trying to trick it into thinking the device is a keyboard.

@njbair
I'm using a Teensy and I don't really have any other option for any other controller since this is what I have at hand. I know there is Teensyduino IDE that allows the Teensy to be used as a keyboard, but I'm trying to see if I can do everything on the computer side so the controller will have less work, mainly for latency.

Offline njbair

  • Posts: 2825
  • Location: Cleveland, Ohio
  • I love the Powerglove. It's so bad.
    • nickbair.net
Re: Hiya
« Reply #4 on: Thu, 01 October 2015, 23:10:30 »
Well if you're going to use existing Windows drivers, your computer needs to think it's hooked up to a keyboard.

There's only one thing I can think of besides using the Teensy's USB HID emulation. And that would be to buy a cheap rubberdome keyboard and steal the controller from it, reverse-engineer the rubberdome matrix, and have the Teensy send the appropriate signals to the rubberdome controller. You would probably need some serial I/O expanders, since the Teensy has a low pin count to begin with, and you're no doubt already using many of them for your input sensing.

Does that make sense?

Alpine Winter GB | My Personal TMK Firmware Repo
IBM Rubber Band "Floss" Mod | Click Modding Alps 101 | Flame-Polishing Cherry MX Stems
Review: hasu's USB to USB converter
My boards:
More
AEKII 60% | Alps64 HHKB | Ducky Shine 3, MX Blues | IBM Model M #1391401, Nov. 1990 | IBM SSK #1391472, Nov. 1987, screw modded, rubber-band modded | Noppoo EC108-Pro, 45g | Infinity 60% v2 Hacker, Matias Quiet Pros | Infinity 60% v2 Standard, MX Browns | Cherry G80-1800LPCEU-2, MX Blacks | Cherry G80-1813 (Dolch), MX Blues | Unicomp M-122, ANSI-modded | Unicomp M-122 (Unsaver mod in progress) | 2x Unitek K-258, White Alps | Apple boards (IIGS, AEKII) | Varmilo VA87MR, Gateron Blacks | Filco Zero TKL, Fukka White Alps | Planck, Gateron Browns | Monarch, click-modded Cream Alps

Offline Rioke

  • Thread Starter
  • Posts: 0
Re: Hiya
« Reply #5 on: Thu, 01 October 2015, 23:24:10 »
Yeah, that makes sense. If I were to go with that approach, do you have any idea what kind of signal would be going to the keyboard controller? A 3.3V signal?

And I guess I should have mentioned, I would like to try to not add anymore hardware if necessary, but it's starting to look like I might have to.

Offline Snowdog993

  • Grace Under Pressure
  • Posts: 1587
  • Location: Over There! (Pointing)
  • Justifiably Clueless.
Re: Hiya
« Reply #6 on: Thu, 01 October 2015, 23:47:35 »
@Snowdog
I wouldn't think the computer would be interpreting the numbers like that, especially if I'm trying to trick it into thinking the device is a keyboard.

No worries, I am on a different planet.

Offline njbair

  • Posts: 2825
  • Location: Cleveland, Ohio
  • I love the Powerglove. It's so bad.
    • nickbair.net
Re: Hiya
« Reply #7 on: Fri, 02 October 2015, 07:04:45 »
Yeah, that makes sense. If I were to go with that approach, do you have any idea what kind of signal would be going to the keyboard controller? A 3.3V signal?

And I guess I should have mentioned, I would like to try to not add anymore hardware if necessary, but it's starting to look like I might have to.
I would honestly try using the Teensy in HID mode first. See if it works. If you do end up needing more hardware, a second Teensy connected via serial would be the easiest because no reverse engineering is necessary.

Either way, the Teensy should have a VCC pin that pushes 5V, since you're using USB as a power source.

Alpine Winter GB | My Personal TMK Firmware Repo
IBM Rubber Band "Floss" Mod | Click Modding Alps 101 | Flame-Polishing Cherry MX Stems
Review: hasu's USB to USB converter
My boards:
More
AEKII 60% | Alps64 HHKB | Ducky Shine 3, MX Blues | IBM Model M #1391401, Nov. 1990 | IBM SSK #1391472, Nov. 1987, screw modded, rubber-band modded | Noppoo EC108-Pro, 45g | Infinity 60% v2 Hacker, Matias Quiet Pros | Infinity 60% v2 Standard, MX Browns | Cherry G80-1800LPCEU-2, MX Blacks | Cherry G80-1813 (Dolch), MX Blues | Unicomp M-122, ANSI-modded | Unicomp M-122 (Unsaver mod in progress) | 2x Unitek K-258, White Alps | Apple boards (IIGS, AEKII) | Varmilo VA87MR, Gateron Blacks | Filco Zero TKL, Fukka White Alps | Planck, Gateron Browns | Monarch, click-modded Cream Alps

Offline rowdy

  • HHKB Hapster
  • * Erudite Elder
  • Posts: 21175
  • Location: melbourne.vic.au
  • Missed another sale.
Re: Hiya
« Reply #8 on: Tue, 06 October 2015, 04:32:25 »
Welcome to Geekhack!

That sounds an intriguing project.

Not many people browse the new members section, so if you don't get any responses here, please feel free to create a new thread in the making stuff together section.
"Because keyboards are accessories to PC makers, they focus on minimizing the manufacturing costs. But that’s incorrect. It’s in HHKB’s slogan, but when America’s cowboys were in the middle of a trip and their horse died, they would leave the horse there. But even if they were in the middle of a desert, they would take their saddle with them. The horse was a consumable good, but the saddle was an interface that their bodies had gotten used to. In the same vein, PCs are consumable goods, while keyboards are important interfaces." - Eiiti Wada

NEC APC-H4100E | Ducky DK9008 Shine MX blue LED red | Ducky DK9008 Shine MX blue LED green | Link 900243-08 | CM QFR MX black | KeyCool 87 white MX reds | HHKB 2 Pro | Model M 02-Mar-1993 | Model M 29-Nov-1995 | CM Trigger (broken) | CM QFS MX green | Ducky DK9087 Shine 3 TKL Yellow Edition MX black | Lexmark SSK 21-Apr-1994 | IBM SSK 13-Oct-1987 | CODE TKL MX clear | Model M 122 01-Jun-1988

Ị̸͚̯̲́ͤ̃͑̇̑ͯ̊̂͟ͅs̞͚̩͉̝̪̲͗͊ͪ̽̚̚ ̭̦͖͕̑́͌ͬͩ͟t̷̻͔̙̑͟h̹̠̼͋ͤ͋i̤̜̣̦̱̫͈͔̞ͭ͑ͥ̌̔s̬͔͎̍̈ͥͫ̐̾ͣ̔̇͘ͅ ̩̘̼͆̐̕e̞̰͓̲̺̎͐̏ͬ̓̅̾͠͝ͅv̶̰͕̱̞̥̍ͣ̄̕e͕͙͖̬̜͓͎̤̊ͭ͐͝ṇ̰͎̱̤̟̭ͫ͌̌͢͠ͅ ̳̥̦ͮ̐ͤ̎̊ͣ͡͡n̤̜̙̺̪̒͜e̶̻̦̿ͮ̂̀c̝̘̝͖̠̖͐ͨͪ̈̐͌ͩ̀e̷̥͇̋ͦs̢̡̤ͤͤͯ͜s͈̠̉̑͘a̱͕̗͖̳̥̺ͬͦͧ͆̌̑͡r̶̟̖̈͘ỷ̮̦̩͙͔ͫ̾ͬ̔ͬͮ̌?̵̘͇͔͙ͥͪ͞ͅ

Offline bocahgundul

  • a seal
  • * Esteemed Elder
  • Posts: 1842
  • Location: sell me your 5k ples
Re: Hiya
« Reply #9 on: Tue, 06 October 2015, 04:49:21 »
Wellcome to GH bruh