geekhack Projects > Making Stuff Together!

TMK keyboard firmware

(1/404) > >>

hasu:
I hope that this thread become a place to get bug report, feedback and suggestion from the community.

Source code repository
https://github.com/tmk/tmk_keyboard


You are using QMK?
QMK has already great and helpful community and will help you. You can ask there.

- https://github.com/jackhumbert/qmk_firmware
- https://www.reddit.com/r/olkb/



NEED HELP?

Read wiki pages first.
https://github.com/tmk/tmk_keyboard/wiki


Use this if you have problem on building firmware.
https://github.com/tmk/tmk_keyboard/wiki/Build-firmware-on-VirtualBox


Your keyboard/converter doesn't work?
Frist, post schematics or pics of your hardware and wriring this really saves our time. Don't save your time by omitting this.

If you edit code
Post your code. Don't hesitate to show your dirty code!

And other infos you can provide
- Which OS are you using?



UPDATE
2013/07  NKRO on LUFA is supported
2014/03  FAQ and Keymap Editor are added
2014/12  updated USB to USB converter
2015/01  Added Infinity support(mbed based)
2015/03  Updated for Infinity 'production' model
2015/04  Changed location of core library to 'tmk_core' directory. MoreUpdate your Makefile to change variable name TOP_DIR to TMK_DIR and location of core library.

--- Code: ---TMK_DIR = ../../tmk_core

--- End code ---
https://github.com/tmk/tmk_keyboard#20150422

2015/09  NeXT converter LED control fix
2016/02  flabbergast's Chibios protocol was merged
2016/06  Added XT to USB converter. Thank you, @papodaca. https://github.com/tmk/tmk_keyboard/pull/355
2017/05  Fixed Modifier/Layer key stuck problem. https://github.com/tmk/tmk_keyboard/tree/master/tmk_core#20170530

README
https://github.com/tmk/tmk_keyboard/blob/master/README.md


Build
https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/build.md


Customize Keymap
https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/keymap.md


FAQ/WIKI
https://github.com/tmk/tmk_keyboard/wiki/FAQ
https://github.com/tmk/tmk_keyboard/wiki


Keymap Editor
http://tmk.github.io/tmk_keyboard/editor/index.html



TMK own projects
You can find under: https://github.com/tmk

Keyobard:
Alternative controller for HHKB
Alps64 - PCB for Alps SKCM/L
Happy Buckling Keyboard(Model M 60% mod)
PCB cut 60% mod(retired)
GH60(unofficial)
Infinity Ergodox(unofficial)
Infinity 60chibios mbed(unofficial)

Converter:
PS/2(Code Set 2)
ADB(Apple Desktop Bus)
M0110(Apple Machintosh 128K/512K/Plus)
NEWS(Sony workstation)
X68K(Sharp X68000)
IBM 4704
USB to USB
Sun(Sun Microsystems)
PC98(NEC)
NeXT(Non ADB) pic contribution from bcg(https://github.com/tmk/tmk_keyboard/pull/92)
XT(Code Set 1) contribution from papodaca(https://github.com/tmk/tmk_keyboard/pull/355)

TMK Products
HHKB Alt Controller
https://geekhack.org/index.php?topic=71517.0

TMK Converters
https://geekhack.org/index.php?topic=72052.0

Alps64
https://geekhack.org/index.php?topic=69740.0

hasu:
Previously Asked Questions

NKRO doesn't work
http://geekhack.org/index.php?topic=41989.msg1244834#msg1244834

What is the meaning of "TMK"?
http://geekhack.org/index.php?topic=41989.msg1230017#msg1230017

jdcarpe:
Do you have any instruction on how to make a Fn layer toggle on and off, rather than only switching layers while a Fn key is pressed?

I really like your FW!

nano:

--- Quote from: jdcarpe on Wed, 03 April 2013, 20:43:14 ---Do you have any instruction on how to make a Fn layer toggle on and off, rather than only switching layers while a Fn key is pressed?

--- End quote ---
Look at doc/keymap.md. All layer actions are documented there.

As I’ve said before in the gh60 thread, that code is plain awesome and understandable. I really like your how you implement the keymap and how easy it is to make it fit your own needs.

I’ve already forked your repo here and started toying around a bit ;D

agodinhost:
Hi Hasu, thanks very much for this opportunity to learn more about your firmware
and thanks very much for sharing it!


--- Quote from: hasu date=2013-04-03 ---You'll have to write a 'host side protocol' module to add support for BT HID.

--- End quote ---
I didn't understood why we will need a "host" side module. It wouldn't be one simple slave? (according to what I saw at the Bluetooth HID Lite documentation).


--- Quote from: hasu date=2013-04-03 ---My firmware has a module using Bluegiga iWRAP4 for BT(and V-USB for USB), you can find this under protocol/iwrap/ directory. But it is very old code and not supported actively now. I don't know even whether it works with new updated firmware base. Though, I think it is still a good start point for BT module. Also LUFA 'host side protocol' module will be worth looking into. It is located on protocol/lufa/.

--- End quote ---
Yup I saw both of these folders there. I'll have to buy this BlueGiga module to test it further - just waiting for the best day of my credit card. I were already planning to get one of these and the RN-42 anyway.

-> Reference papers for those willing to touch Hasu's code:
    TMK keyboard firmware collection
         Hasu's deskthority previous topic.
    Bluetooth HID Lite
         HID Lite = HID Keyboard Boot mode, could it be one easier option to our GH60 Bluetooth keyboard?
    Human Interface Device Profile 1.1
         Official HID 1.1 profile documentation
    HID Profile, Bluetooth HID Tutorial
         Awesome tutorial

-> For discussion:
    LUFA BT HID not 100% done
         See the last message, by Dean Camera.
    "LUFA has bluetooth hid support" (unknow guy)
         "... you can port OSS host stack - maybe BlueZ(the linux stack) or lwBT (the latter designed for low memory usage for embedded systems)."
    Btstack AVR on google code
         Seems to be one Bluetooth HID stack but I'm not sure of it - it's complete? Too little code there.

-> Reference code:
    Dean Camera Bluetooth Explorer bot (LUFA based, with a partial HID/L2CAP/SDP layers)
         This project acts as a Bluetooth host receiving joystick movements and as a device, sending sensor data to one PC. This PC has one USB HID driver installed to parse the bot messages.

Gosh, too much stuff to read and learn!!!

Navigation

[0] Message Index

[#] Next page

Go to full version