Author Topic: IBM 4704 Keyboard Converter  (Read 64696 times)

0 Members and 1 Guest are viewing this topic.

Offline Red October

  • Posts: 97
Re: IBM 4704 Keyboard Converter
« Reply #50 on: Fri, 12 February 2016, 17:00:25 »
I'm running into trouble compiling the firmware.  I think it's got something to do with the toolchain system; I see that it is necessary and I have downloaded it, but I can't figure out how to actually *use* it.  I enter the "make" commands into Cygwin's console and get the following:
$ make -f Makefile.tmk_rev2 clean
Makefile:90: ../../tmk_core/protocol.mk: No such file or directory
Makefile:91: ../../tmk_core/protocol/lufa.mk: No such file or directory
Makefile:92: ../../tmk_core/common.mk: No such file or directory
Makefile:93: ../../tmk_core/rules.mk: No such file or directory
make: *** No rule to make target '../../tmk_core/rules.mk'.  Stop.

I think I need to get Cygwin somehow to work together with the toolchain but I don't know how.

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #51 on: Fri, 12 February 2016, 17:43:29 »
hmm,
It seems you don't have files under tmk_core/ directory for some reason.

Did you download TMK source code from this link?
https://github.com/tmk/tmk_keyboard/archive/master.zip

You shoud have directories like this at least. In paticular do you have tmk_core directory?
Code: [Select]
tmk_keyboard-master/
├── converter
│   ├── adb_usb
│   ├── ascii_usb
│   ├── ibm4704_usb
│   ├── m0110_usb
│   ├── news_usb
│   ├── next_usb
│   ├── pc98_usb
│   ├── ps2_usb
│   ├── serialmouse_usb
│   ├── sun_usb
│   ├── terminal_bluefruit
│   ├── terminal_usb
│   ├── usb_usb
│   └── x68k_usb
├── keyboard
│   ├── alps64
│   ├── gh60
│   ├── ghost_squid
│   ├── hbkb
... snip ...
│   ├── stm32_f072_onekey
│   ├── stm32_f103_onekey
│   └── teensy_lc_onekey
├── README.md
└── tmk_core
    ├── common
    ├── common.mk
    ├── doc
    ├── ldscript_keymap_avr35.x
    ├── ldscript_keymap_avr5.x
    ├── protocol
    ├── protocol.mk
    ├── README.md
    ├── ring_buffer.h
    ├── rules.mk
    └── tool

42 directories, 8 files
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Red October

  • Posts: 97
Re: IBM 4704 Keyboard Converter
« Reply #52 on: Fri, 12 February 2016, 23:41:30 »
hmm,
It seems you don't have files under tmk_core/ directory for some reason.

Did you download TMK source code from this link?
https://github.com/tmk/tmk_keyboard/archive/master.zip

You shoud have directories like this at least. In paticular do you have tmk_core directory?
Code: [Select]
tmk_keyboard-master/
├── converter
│   ├── adb_usb
│   ├── ascii_usb
│   ├── ibm4704_usb
│   ├── m0110_usb
│   ├── news_usb
│   ├── next_usb
│   ├── pc98_usb
│   ├── ps2_usb
│   ├── serialmouse_usb
│   ├── sun_usb
│   ├── terminal_bluefruit
│   ├── terminal_usb
│   ├── usb_usb
│   └── x68k_usb
├── keyboard
│   ├── alps64
│   ├── gh60
│   ├── ghost_squid
│   ├── hbkb
... snip ...
│   ├── stm32_f072_onekey
│   ├── stm32_f103_onekey
│   └── teensy_lc_onekey
├── README.md
└── tmk_core
    ├── common
    ├── common.mk
    ├── doc
    ├── ldscript_keymap_avr35.x
    ├── ldscript_keymap_avr5.x
    ├── protocol
    ├── protocol.mk
    ├── README.md
    ├── ring_buffer.h
    ├── rules.mk
    └── tool

42 directories, 8 files


I put the whole package in the working directory, but now I'm getting a new set of errors. 
$ make -f Makefile.tmk_rev2 clean
gives
sh: dfu-programmer: command not found
sh: dfu-programmer: command not found

and proceeds to remove a bunch of files.
The non-"clean" command just fails with:
sh: dfu-programmer: command not found
sh: dfu-programmer: command not found

-------- begin --------
sh: avr-gcc: command not found
../../tmk_core/rules.mk:406: recipe for target 'gccversion' failed
make: *** [gccversion] Error 127

I think I haven't got Cygwin linked with the toolchain.  I'm not sure how to do this and suspect that it's got something to do with me being on Windows. 

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #53 on: Sat, 13 February 2016, 15:09:13 »
You need to add toolchain location to PATH. In my case location of toolchain is '/cygdrive/c/avr8-gnu-toolchain/bin', so added this line in .bashrc file. YOu will have to open new terminal to get this PATH effective.
Code: [Select]
PATH=$PATH:/cygdrive/c/avr8-gnu-toolchain/bin


YOu can ignore this warn or just install dfu-programmer and add its path too.
Quote
sh: dfu-programmer: command not found
sh: dfu-programmer: command not found
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Red October

  • Posts: 97
Re: IBM 4704 Keyboard Converter
« Reply #54 on: Sun, 14 February 2016, 00:16:37 »
You need to add toolchain location to PATH. In my case location of toolchain is '/cygdrive/c/avr8-gnu-toolchain/bin', so added this line in .bashrc file. YOu will have to open new terminal to get this PATH effective.
Code: [Select]
PATH=$PATH:/cygdrive/c/avr8-gnu-toolchain/bin


YOu can ignore this warn or just install dfu-programmer and add its path too.
Quote
sh: dfu-programmer: command not found
sh: dfu-programmer: command not found


I added the line to every .bashrc file I could find in Cygwin's directories (good ol` shotgun approach); well in my case I made it avr32 because that is what I have, which now makes me wonder if I got the wrong software.  I still get the same errors as before.  Is it simply a matter of adding the line
Code: [Select]
PATH=$PATH:/cygdrive/c/avr8-gnu-toolchain/bin
to the end of the .bashrc file (and which one should I be editing?) or does it have to be in a certain place or preceded by a special character of some kind; opening the file with notepad doesn't seem to display it exactly right and I can't tell what is commented out and what is not. 

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #55 on: Sun, 14 February 2016, 18:02:44 »
Use avr8 instead of avr32 because MCU on this controller is 8bit chip. (I had to add this clearly on document.)

Yes, you can just add the line to end of .bashrc file located in your home directory. To add just run this two commands line by line. You need this just once.

Code: [Select]
cd
echo 'PATH=$PATH:/cygdrive/c/avr8-gnu-toolchain/bin' >> .bashrc
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Red October

  • Posts: 97
Re: IBM 4704 Keyboard Converter
« Reply #56 on: Sun, 14 February 2016, 22:51:38 »
I must be a total idiot when it comes to this.  I got rid of the 32-bit toolchain and replaced it with the 8-bit toolchain.  I changed all the references in .bashrc files from 32-bit to 8.  I still get the same errors:

$ make -f Makefile.tmk_rev2
sh: dfu-programmer: command not found
sh: dfu-programmer: command not found

-------- begin --------
sh: avr-gcc: command not found
../../tmk_core/rules.mk:406: recipe for target 'gccversion' failed
make: *** [gccversion] Error 127

I am terribly confused by this. 

EDIT: Progress has been made.  As I suspected, this is a problem to do with Windows and Cygwin keeping relevant files in different places.  I found that windows keeps PATH variables in a window off of the advanced system settings menu under "System" in the control panel.  There is a button, "Environmental variables", to which Flip had already written a PATH entry. 
« Last Edit: Sun, 14 February 2016, 23:27:00 by Red October »

Offline Red October

  • Posts: 97
Re: IBM 4704 Keyboard Converter
« Reply #57 on: Sun, 14 February 2016, 23:44:10 »
One more update; I got it all working except that my keymap was somehow messed up and it seems like my changes weren't applied correctly.  I got it back to default with the file from earlier in the thread, though, so the programming is going smoothly, I just somehow goofed up the actual keymap, because keys I didn't change were working (all of the alpha keys, for example), but others seemed to be shifted around.  Also worth noting is that the keymap it came with seems to differ slightly from the one in the source files; I left mappings I was OK with alone, and discovered that the top-left key came mapped to ESC but in the source file it is defined as ` (grave accent/tilde).  This shouldn't be too hard to overcome, though.  Thanks again to Hasu for all the help and for offering an excellent product to begin with!

Offline Red October

  • Posts: 97
Re: IBM 4704 Keyboard Converter
« Reply #58 on: Tue, 16 February 2016, 16:24:51 »
Well, I'm having another problem.  Hopefully this one will be easier than the last to sort out.  I still cannot get the keymap to program correctly.  Here is the real strange thing:  I thought, perhaps I have put some incorrect data into the keymap, and this is why it is functioning strangely.  So I re-downloaded the source file, and, without editing anything, created the hex file with Cygwin, and loaded it with Flip.  It still did not program correctly.  Most of the second and third row of keys (asdf... zxcv...) work, but the first row and the number row do not work as expected.  "1" instead types "0", some keys don't seem to send anything at all.  More curiously, when I did change the programming of the keymap, some of the keys actually stayed the same: for instance the keys in the keyboard's numpad, which are assigned to the arrow keys by default, were still working as arrow keys even though I changed their mapping to be numpad numbers.  Changing the numlock state on the PS/2 keyboard plugged into the system (via a regular old PS/2 port) didn't change anything in regards to those keys. 

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #59 on: Tue, 16 February 2016, 18:11:48 »
Hmm, I think you are compiling wrong keymap file. I assume your keyboard is 102-key Alps, so you have to use and edit keymap_alps102key.c. To compile with the keymap file use following commands.

Code: [Select]
$ make -f Makefile.tmk_rev2 KEYMAP=alps102key clean
$ make -f Makefile.tmk_rev2 KEYMAP=alps102key


What's your os? how to handle numlock state depends on OS implementation, I think.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Red October

  • Posts: 97
Re: IBM 4704 Keyboard Converter
« Reply #60 on: Tue, 16 February 2016, 18:28:28 »
Hmm, I think you are compiling wrong keymap file. I assume your keyboard is 102-key Alps, so you have to use and edit keymap_alps102key.c. To compile with the keymap file use following commands.

Code: [Select]
$ make -f Makefile.tmk_rev2 KEYMAP=alps102key clean
$ make -f Makefile.tmk_rev2 KEYMAP=alps102key


What's your os? how to handle numlock state depends on OS implementation, I think.

This looks like it'll do the trick.  I'm busy tonight for a while but I'll try it when I get back in.  My OS is Windows 7.  I never use numlock functionality and am perfectly content to leave it to the board plugged into the PS/2 port, but don't mind learning how to do it as I have other oddball keyboards around and am always looking for new ones.  Also, of the commands listed in the keycode.h file, will they all do something meaningful on Windows?  For instance, KC_CLEAR, KC_PRIOR, KC_OUT, KC_OPER?  Do the FN* codes do something different to the regular F* codes?  Any idea how to make the Three Zeroes key actually type three zeroes?

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #61 on: Tue, 16 February 2016, 20:27:57 »
I have Windows10 on Thinkpad which has interanal PS/2 keyboard and confirmed the internal keyboard and my HHKB with tmk_keyboard share capslock sate in sync. Not sure about numlock but guess same as capslock.

Windows doesn't recognize all keycodes, some is only for Mac or Unix and usage of some codes are unknown in general. You can see pp53 of this doc for the detail. I guess those keys cannot be used unless you use tools like autohotkey.
http://www.usb.org/developers/hidpage/Hut1_12v2.pdf

You can register '000' with macro in TMK but no good documentation unfortunately. You will have find examples in repository and read source code.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Red October

  • Posts: 97
Re: IBM 4704 Keyboard Converter
« Reply #62 on: Wed, 17 February 2016, 02:28:41 »
Just posting quickly to say that it's working perfectly now.  I've got the programming of the keymap all squared away and I can upload it successfully to the microcontroller.  My next task is to make some legends for the relengendable keys. 

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #63 on: Wed, 17 February 2016, 02:34:26 »
Just posting quickly to say that it's working perfectly now.  I've got the programming of the keymap all squared away and I can upload it successfully to the microcontroller.  My next task is to make some legends for the relengendable keys. 

Great to hear that. Enjoy! ;D
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Red October

  • Posts: 97
Re: IBM 4704 Keyboard Converter
« Reply #64 on: Fri, 19 February 2016, 15:22:23 »
Well I'm back with a strange problem (Hasu, it doesn't seem to be with your software!); the key one row up from the bottom-right corner of the board (has no legend by default, default programming is F16) doesn't seem to work.  It beeps like all the others on the keyboard, but I programmed it to Page Up, and it doesn't work.  I've tried changing the programming of that key and it doesn't want to send a plain "up" code either, so I'm just confused here.  I've tried re-plugging the USB, which fixes it when other keys decide to stop working at random (yesterday it was "4", and just as I was typing this it was Comma (whose programming I didn't change at all), but that doesn't change anything.  It's just that one key, so it's not a huge problem, but perhaps its something unforeseen with these keyboards, or perhaps mine is faulty?

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #65 on: Fri, 19 February 2016, 16:53:50 »
I updated for the "F16" key try the latest repo. scan code of the key was not handled in matrix.c.
https://github.com/tmk/tmk_keyboard/commit/75ca495c010621699866a042e6a85061280177a7

I think this fixes "F16" key but not sure other problems. You can see some debug info with hid_listen, it may help you.
https://www.pjrc.com/teensy/hid_listen.html
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Red October

  • Posts: 97
Re: IBM 4704 Keyboard Converter
« Reply #66 on: Fri, 19 February 2016, 17:27:47 »
I updated for the "F16" key try the latest repo. scan code of the key was not handled in matrix.c.
https://github.com/tmk/tmk_keyboard/commit/75ca495c010621699866a042e6a85061280177a7

I think this fixes "F16" key but not sure other problems. You can see some debug info with hid_listen, it may help you.
https://www.pjrc.com/teensy/hid_listen.html

One more compile-flash sequence and it's working!  Hasu, you are honorable and friendly! 

Offline __red__

  • Posts: 194
Re: IBM 4704 Keyboard Converter
« Reply #67 on: Sun, 28 February 2016, 16:21:45 »
Yes he is <3

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #68 on: Thu, 17 March 2016, 23:35:58 »
I could installed converter inside case using 0.1"(2.54mm)pitch 10pin(2x5) female socket to connect  with a bit filing.


Original socket is 14pin(2x7) but  you will be able to use 10pin with flatcable available normally in store by a bit filing.

Code: [Select]
Femal socket connector
2x7            2x5
|xRxWKYx|      |RxWKY|
|xxxxxxx|      |xxxxx|
x = no connection
R = red wire/VCC
W = white wire/GND
K = black/DATA
Y = yellow/CLOCK



EDIT: [ad] I'm offering assembly service here :D [/ad]
https://geekhack.org/index.php?topic=72052.0
« Last Edit: Thu, 17 March 2016, 23:38:36 by hasu »
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #69 on: Fri, 06 May 2016, 22:14:44 »
I designed Dsub 9pin adapter PCB for my TMK converter, IBM4704 converter looks like this now.


PCB design files of the adapter PCB is available here:
https://github.com/tmk/keyboard_converter_adapter_ibm4704
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #70 on: Fri, 30 September 2016, 06:47:30 »
I added Online Keymap Editor support for IBM4704 converter.

http://www.tmk-kbd.com/tmk_keyboard/editor/

Enjoy!
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline lemur

  • Posts: 81
  • Location: USA
  • personal text
Re: IBM 4704 Keyboard Converter
« Reply #71 on: Wed, 23 November 2016, 19:07:19 »
Hey folks!

I recently got two of the Alps switch IBM boards this converter/firmware works with...

For one of the keyboards I've already ordered a controller made by hasu to use with it.

For the 2nd keyboard I'd like to start learning some things I've not yet learned, such as some basic electronics stuff, like soldering, using a breadboard, etc..

If I am reading the docs hasu has nicely provided to us correctly, I am wondering the following:

If I had a teensy 2.0 with pins already in it, a breadboard, maybe some wiring, and some wire strippers/cutters, I should be able to use this firmware to get a converter to work by connecting the wires coming from the keyboard to the proper pin locations on a teensy mentioned in the 'Connection' section of the page below without any other components needed ?

https://github.com/tmk/tmk_keyboard/tree/master/converter/ibm4704_usb

for example.. run the proper wires from the keyboard cable and connect them via soldering or breadboard to the 4 pins mentioned in the docs to a teensy 2.0 (vcc, gnd, pd0, pd1) without needing extra components such as resistors or anything?

I am already familiar with building and loading firmware onto a ATMega32U2 based board (bpiphany frosty flake), so that is well understood how it works.

If I do need other components to make this work, such as resistors or anything else, that's fine, more stuff to learn, but as for right now I'm just looking to get started with this first project and want to be sure I have everything I need.

Thanks!
« Last Edit: Wed, 23 November 2016, 19:10:02 by lemur »
keyboards

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #72 on: Thu, 24 November 2016, 11:18:51 »
I think you understand it correctly. Do it! :) Pull up resistors are recommended btw.

Tapatalk を使用して私の Nexus 5X から送信

TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline lemur

  • Posts: 81
  • Location: USA
  • personal text
Re: IBM 4704 Keyboard Converter
« Reply #73 on: Thu, 24 November 2016, 12:40:11 »
Great, thanks for the reply!

Another thing to be sure I'm understanding the basics..

Am I looking for a result like this diagram where A and B would be the Data and Clock and R the 1kohm resistors..... and 5v is from the VCC?


« Last Edit: Thu, 24 November 2016, 12:43:58 by lemur »
keyboards

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #74 on: Thu, 24 November 2016, 12:46:57 »
Yes, the diagram is correct and I use 1KOhm.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline lemur

  • Posts: 81
  • Location: USA
  • personal text
Re: IBM 4704 Keyboard Converter
« Reply #75 on: Thu, 24 November 2016, 22:40:32 »
thanks again, hasu.

also..

As reference, this is what the internal cable connector on the Alps 6341739 Chinese 102-key version looks like.

I cannot speak to what the other Alps variants look like inside but it does seem that the internal converter shown elsewhere in the thread is not compatible with the Alps switch models due to a different internal connection.

I am not sure if that information is already known or not, but now it is at least in one place!

153720-0
keyboards

Offline lemur

  • Posts: 81
  • Location: USA
  • personal text
Re: IBM 4704 Keyboard Converter
« Reply #76 on: Tue, 29 November 2016, 15:50:58 »
yay I got it working.

thanks for the tiny encouragement to "do it", hasu, and the great work at working on the converter for this thing.

Only had one problem and it was my own fault... was telling it to use the wrong atmega device in the makefile.. fixed it all up and worked the first time.

man does it beep!  i am glad it has a volume knob.

now i just need to learn to solder and figure out whether or not i will be putting it inside the board, or outside.

fun times!

154096-0
« Last Edit: Tue, 29 November 2016, 15:52:59 by lemur »
keyboards

Offline Ail

  • Posts: 84
  • Location: Mysidia
  • RIP in Pape
Re: IBM 4704 Keyboard Converter
« Reply #77 on: Mon, 19 December 2016, 19:42:40 »
I'm officially lost and confused, my brain doesn't work the way it did when I was 18 I guess. My converter arrived today and I used Bash on Ubuntu Windows to make the firmware, now I tried to go in to Flip and load the hexfile for the keymap, and I get the .dll error when trying to set the connection to USB. Okay no big deal I just install the .dll manually, except for one problem, my device doesn't show up in the device manager as ATmega32U2. It doesn't show up at all. What am I forgetting? The keyboard is plugged in. I tried pressing the button on the converter, clearly I have forgotten something. I ran make for the rev2 make file and that all seemed to work fine.

Edit: Seems I never got the install new hardware wizard for the chip, like it will not go in to bootloader or something?

Edit 2: False alarm I got it working, it was my micro USB cable.

LOL how do I turn off this god awful beeping noise, hahahah. This is awesome and terrible all at once.

Edit 3: Nevermind it has a volume wheel, whew that was scary for a few minutes there.
« Last Edit: Mon, 19 December 2016, 20:32:43 by Ail »

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #78 on: Mon, 19 December 2016, 23:45:55 »
I'm officially lost and confused, my brain doesn't work the way it did when I was 18 I guess. My converter arrived today and I used Bash on Ubuntu Windows to make the firmware, now I tried to go in to Flip and load the hexfile for the keymap, and I get the .dll error when trying to set the connection to USB. Okay no big deal I just install the .dll manually, except for one problem, my device doesn't show up in the device manager as ATmega32U2. It doesn't show up at all. What am I forgetting? The keyboard is plugged in. I tried pressing the button on the converter, clearly I have forgotten something. I ran make for the rev2 make file and that all seemed to work fine.

I heard from you via PM that you already resolved it yourself, so this is just future reference.

Just plugin the converter and press the button, bootloader should come up on your computer. Its name on device manager should be  'ATmega32U2' and located under 'LibUSB-Win32Devices' node, If you don't see the device you will have to re-install driver.

https://github.com/tmk/tmk_keyboard/wiki/Driver-install-on-Windows




TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline seantingwong

  • Posts: 5
Re: IBM 4704 Keyboard Converter
« Reply #79 on: Tue, 31 January 2017, 22:23:11 »
After reading through your documentation, I'm still confused on how create custom a custom Unimap. I have the 6341739 model. I am mostly confused about making a custom layout, figuring out layers, and macros.

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #80 on: Tue, 31 January 2017, 23:03:24 »
After reading through your documentation, I'm still confused on how create custom a custom Unimap. I have the 6341739 model. I am mostly confused about making a custom layout, figuring out layers, and macros.

No documentation for unimap yet, and it is mainly useful to make fimware binary for online keymap editor.   
You can use keymap_alps102key.c instead if unimap doesn't work for you. It is documented better.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline seantingwong

  • Posts: 5
Re: IBM 4704 Keyboard Converter
« Reply #81 on: Wed, 01 February 2017, 00:39:08 »
How do you get keymap to work with the teensy? I tried it a compiling it with the Makefile prompt but after flashing it to the teensy, my computer isn't registering keypresses even when I use the hid_listener?

Offline seantingwong

  • Posts: 5
Re: IBM 4704 Keyboard Converter
« Reply #82 on: Wed, 01 February 2017, 01:20:34 »
Nevermind, i got it figured out. My pull up resistor came loose. I flashed my keymap using Makefile.rev1 and it worked!

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #83 on: Thu, 27 April 2017, 18:29:05 »
Added note for audible clicker in first post.

Quote
NOTE
Audible Clicker
The converter doesn't control the clicker/speaker.
- With Alps models the converter cannot control clicker at all but you can change sound volume with dial on bottom.
- With capacitive models the converter can control/use the clicker theoretically but doesn't support. You will hear beep while startup after plugin but no clicker at all when typing.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline alh84001

  • Posts: 276
  • Location: EU-HR-ZG
Re: IBM 4704 Keyboard Converter
« Reply #84 on: Fri, 23 June 2017, 03:46:30 »
Are pull-ups necessary for F107?

I got a F107 which came with xwhatsit already installed, and loose original controller. I decided to take out the xwhatsit and put the original controller back in. I used a Pro Micro to make a converter, but I don't get anything out of it. Perhaps original controller is not working, but I'm looking at what else can be at fault. I built the firmware with
Code: [Select]
make -f Makefile.rev1 and I wired the data line to PD2 and made a corresponding change in config.h.

P.S. Regarding buzzer, I thought it was under control of the controller, and converter had nothing to do with it.


Edit: I added 1k pull-ups but it's still not working :/
« Last Edit: Fri, 23 June 2017, 06:47:04 by alh84001 »

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #85 on: Sun, 25 June 2017, 05:58:10 »
Yes, you need pull up resisters in fact. Buzzer should stop after converter initializes.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Wingklip

  • Posts: 153
  • Location: Soviet Republic of Australasia
  • I am the one the one the one the one the one
Re: IBM 4704 Keyboard Converter
« Reply #86 on: Sun, 23 July 2017, 17:38:40 »
The buzzer on my 6113442 works perfectly fine after the initialisation stage

The only issue is that it does not have NKRO? Is that a controller limitation? Does it exist on your adb controller too?

Just some questions I would like to ask :)
If you 1v1 me in a cage fight I will use an AK-74 for ranged and an IBM model F 122 for melee

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #87 on: Mon, 24 July 2017, 01:05:58 »
The buzzer on my 6113442 works perfectly fine after the initialisation stage

The only issue is that it does not have NKRO? Is that a controller limitation? Does it exist on your adb controller too?

Just some questions I would like to ask :)

Are you sure your keyboard is ghost free?
Both TMK firmware and 4704 protocol itself support NKRO. I know that with Capacitive switch models you can do NKRO.


Seeing pics of its pcb it seems to be 2KRO because it doesn't have diodes. shame :(
https://deskthority.net/workshop-f7/p77-the-tkl-pingmaster-t16419.html#p368463
« Last Edit: Mon, 24 July 2017, 01:11:14 by hasu »
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Daniel Beardsmore

  • Posts: 1874
  • Location: Hertfordshire, England
  • RIP
    • Boring twaddle
Re: IBM 4704 Keyboard Converter
« Reply #88 on: Mon, 24 July 2017, 02:13:36 »
Are you sure? It looks to me like it has diodes.
Bore Awards
Most Boring Person on the Planet 2011 Winner

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #89 on: Mon, 24 July 2017, 02:22:38 »
Are you sure? It looks to me like it has diodes.

Not sure. Did you trace some routes on pcb?
I don't have time to trace pcb, it seems to me they are jumpers at a glance. I may be wrong.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline Daniel Beardsmore

  • Posts: 1874
  • Location: Hertfordshire, England
  • RIP
    • Boring twaddle
Re: IBM 4704 Keyboard Converter
« Reply #90 on: Mon, 24 July 2017, 02:28:12 »
You'd never have that many jumpers (the one-per-switch regularity is a strong indicator of diodes, and that's a very Alps-like diode arrangement), and there are photos on the same page showing components that appear to be diodes.
Bore Awards
Most Boring Person on the Planet 2011 Winner

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #91 on: Mon, 24 July 2017, 02:46:52 »
ah you are right. other post has pic of to side of PCB which displays diodes.

Alps models can support Nkro.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline alh84001

  • Posts: 276
  • Location: EU-HR-ZG
Re: IBM 4704 Keyboard Converter
« Reply #92 on: Tue, 03 October 2017, 16:09:49 »
Hasu, any idea how I could test if my F107 OG controller is working?

I actually have two controllers, but I had no luck with getting either one to work with my self-made converters (first pro micro one, then teensy one, both with pull-up resistors).

I'm at my wits ends, so I guess I'll just need to get a pingmaster so I could test that at least converters are working.

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #93 on: Tue, 03 October 2017, 18:31:54 »
Hasu, any idea how I could test if my F107 OG controller is working?

I actually have two controllers, but I had no luck with getting either one to work with my self-made converters (first pro micro one, then teensy one, both with pull-up resistors).

I'm at my wits ends, so I guess I'll just need to get a pingmaster so I could test that at least converters are working.

Hmm, I think it should work, though I don't have 107-key model.
Why don't you buy my TMK converter instead of the keyboard ? :D
https://geekhack.org/index.php?topic=72052.0

EDIT: Wait, what is "F107 OG controller"?
« Last Edit: Tue, 03 October 2017, 18:35:00 by hasu »
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline alh84001

  • Posts: 276
  • Location: EU-HR-ZG
Re: IBM 4704 Keyboard Converter
« Reply #94 on: Tue, 03 October 2017, 19:26:18 »
It's a controller that came with my F107. When that one didn't work, I got another one from orihalcon, which I tried today, with the same result.

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #95 on: Tue, 03 October 2017, 19:36:47 »
ah, OG means original, TIL. Urban dictionary is always good reference. We usually use it as "old girls" here in Japan :facepalm:
http://www.urbandictionary.com/define.php?term=OG
https://japanese.stackexchange.com/questions/6778/what-do-the-words-og-and-ob-mean

TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline alh84001

  • Posts: 276
  • Location: EU-HR-ZG
Re: IBM 4704 Keyboard Converter
« Reply #96 on: Tue, 03 October 2017, 19:41:56 »
Well, F107 is definitely an old girl, so it even made some sense :)

Offline rich1051414

  • Posts: 353
  • Location: Decaturville, TN
Re: IBM 4704 Keyboard Converter
« Reply #97 on: Thu, 25 January 2018, 07:01:33 »
Thanks man, works great!

I ended up just unscrewing the end cap on the Serial connector, gutting it, and putting the pro-micro inside, didn't even have to open the keyboard and preserved it's originality as much as possible, best of both worlds. However, how anyone can deal with the clicker turned on is beyond me... Thank god there is a volume wheel on it :D
« Last Edit: Fri, 26 January 2018, 23:00:31 by rich1051414 »
Siig Minitouch with Orange Alps, Whitefox 60% Zealios 67g, Realforce 87U 55g Topre, LFK SMK/Alps TKL With SMK 2nd Gen Cherry MX mount switches, NEC APC-H412 NEC Blue Ovals, Unicomp Model-M Spacesaver, XMIT Hall Effect, WASD Code Cherry MX Clear, KBDFans75 Lubed Gateron Greens, Azio MGK L80 Kailh Brown, XD84 Pale Blue Box Kailh, NIB Pingmaster TMK Converted, KPrepublic XD96 Blue aluminum case with Jade Box Kailh

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #98 on: Fri, 27 April 2018, 03:37:13 »
Added IBM4704 50-key(6019273) support on keymap editor.

http://www.tmk-kbd.com/tmk_keyboard/editor/
https://goo.gl/95HRna
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt

Offline hasu

  • Thread Starter
  • Posts: 3122
  • Location: Tokyo, Japan
  • @tmk
    • tmk keyboard firmware project
Re: IBM 4704 Keyboard Converter
« Reply #99 on: Sun, 15 July 2018, 17:36:23 »
Thank you, Soarer. I'll fix my document later.


And...
For those who are interested, my converter has some limitations:
1. Keyboard(6019284) has only *3-byte* key buffer.
2. Keyboard has same scancode on both Alt key. You can't use different scancodes on those.
3. My converter is naively *polling* at not so fast speed.
Due to 1. and 3. you probably will see missing keys and transposing keys at very fast typing.(my wpm is less than 60 and I don't have a problem) To solve or mitigate this problem we can use *interrupt* method instead of polling.

Replacing controller board doesn't have these limitations. It is still very intriguig option to squeeze every last drop of its power out of this keyboard.

Some user asked me about this post and "polling" rate issue, so I'll answer it here.

This post describes issue of the converter firmware in initial development at that time.
Current firmware implementation uses "interrupt" and there are no longer slow "polling" issue.  Neither transposing nor droping key problem should happen with the current converter firmware any more.

So, you have to notice that 2. is only limitation at this time, which is exactly keyboard limitation decided by IBM and the converter cannot solve this.
TMK products:HHKB Alt  ⌨ConvertersAlps64FC660C AltFC980C Alt