profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/marknsikora/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Mark Sikora marknsikora Wohin Toronto, Canada Electrical engineer working on VLSI

cub-uanic/tmk_keyboard 159

keyboard controller firmware for Atmel AVR USB family

marknsikora/G4_stereoscopic_depth 4

Project for a Nexys 4 DDR board to do stereoscopic depth detection using two ov7670 cameras

marknsikora/ov7670_axi_stream_capture 3

Convert inputs from an OV7670 camera into an AXI stream

marknsikora/perl-hyperscan 2

Perl bindings to the Intel hyperscan regular expression library

marknsikora/advent2020 1

https://adventofcode.com/2020

marknsikora/vga_ip 1

VGA IP for Nexys 4 DDR board

marknsikora/clojure-style-guide 0

A community coding style guide for the Clojure programming language

marknsikora/codejam 0

Google Code Jam Solutions

issue openedtmk/tmk_keyboard

LUFA/ErgoDox: NKRO broken in recent builds

I took over the cub-uanic/tmk_keyboard port of the ErgoDox classic a while back. Mostly just merging in the most recent changes.

After pulling in 3c1700ee4eeb2b39f9692511525f9fb129e5763f the NKRO broke for my LUFA builds.

Typing in qwerty instead yields

gi fhi h egi efgi ghi

Don't have time to do a deep investigation right now. Mostly opening this in case other keybs are seeing similar issues.

created time in a month

push eventErgoDox/tmk_ErgoDox

Mark Sikora

commit sha 2be3b7e26e442d1ca75611a67c09d36c4977d979

ergodox: disable NKRO for lufa builds

view details

push time in a month

push eventcub-uanic/tmk_keyboard

tmk

commit sha d5bdc55b17982387b500fe2d670fc83bdcf417aa

lufa: Integrate NKRO into infterface 0 Build options for Keyboard: NKRO_ENABLE - NKRO shares interface 0 with Boot/6KRO this can save Endpoint resources of MCU NKRO_6KRO_ENABLE - NKRO has its own interface this is equivalent to old NKRO impl. Otherwise - Boot/6KRO interface 0 only

view details

tmk

commit sha 2b07c0bd00f24858aa3c4d40fbf8baa1f1fd8007

core: Build option: NKRO_6KRO_ENABLE

view details

tmk

commit sha 5948ea0ac675ca25aed84475f70366f1a8acefce

lufa: Integrate EXTRAKEY into MOUSE interface

view details

tmk

commit sha 106a18caf6af600de599740f53978ba0fac95c9c

lufa: Add Boot protocol support for mouse

view details

tmk

commit sha 3c1700ee4eeb2b39f9692511525f9fb129e5763f

Merge branch 'lufa_desc_fix'

view details

tmk

commit sha 0b19a95ff4d3074e609b459950165df4ecd7761b

ibmpc_usb: Remove clear_keyboard() from INIT state to avoid unnecessary empty keyboard report at startup.

view details

tmk

commit sha d14a00c44e6048e2126d6e14b4e849984674b168

core: Fix keymap.h header for C++

view details

tmk

commit sha ec2652ee9aab02cbc77cfcfddf57d9a753733662

Add usb_desc_dump project

view details

tmk

commit sha 08c7d725f5c202bf115040b450bcc36b503ab4ee

usb_desc_dump: Fix README

view details

tmk

commit sha dc470b28e59ae272449e0c81355847dd3b92ca2e

usb_desc_dump: Add comment mark to info

view details

tmk

commit sha e15f35fd9b9746c4f001710b53c073cd2672008e

rules.mk: Allow same name between .c and .cpp

view details

tmk

commit sha 0e3b7084b7a47a08d59e7e6c9c10b64f19d62579

ibmpc_usb: matrix stores unimap translated states scan code is translated to unimap before storing in matrix now

view details

tmk

commit sha f4f47aaee7a224db4543b301b529ae571a530ba6

ibmpc: C++ class for two-interface support

view details

tmk

commit sha e9dab9590951d277b17136c2fd6b98587172bbe3

ibmpc_usb: C++ class for two-interface support

view details

tmk

commit sha 848cac6eb2ff546ec0e8dfdc0cfee0983821d8da

ibmpc: busy wait only first time This is not tested well yet

view details

tmk

commit sha bff5cff1f243e5fb8c598b151bc2af58c753fc25

ibmpc: ISR optimization

view details

tmk

commit sha 369b5cb21e63159181ef7730a4641191f36f683d

ibmpc: ringbuf optimization for cpp

view details

tmk

commit sha 7438f7baabd18502bc6e5c17131e4ddb0875aa50

ibmpc: ringbuf optimization for c

view details

tmk

commit sha e2c58b5044d8c3eadde0489ad02902e622eb7818

ibmpc_usb: Detect data out of sync for mouse in case of replug or change devices

view details

tmk

commit sha 8391b2c01888ae76c0c4b5771ed51b6747b475ca

ibmpc_usb: Update README

view details

push time in a month

push eventErgoDox/tmk_keyboard

tmk

commit sha d5bdc55b17982387b500fe2d670fc83bdcf417aa

lufa: Integrate NKRO into infterface 0 Build options for Keyboard: NKRO_ENABLE - NKRO shares interface 0 with Boot/6KRO this can save Endpoint resources of MCU NKRO_6KRO_ENABLE - NKRO has its own interface this is equivalent to old NKRO impl. Otherwise - Boot/6KRO interface 0 only

view details

tmk

commit sha 2b07c0bd00f24858aa3c4d40fbf8baa1f1fd8007

core: Build option: NKRO_6KRO_ENABLE

view details

tmk

commit sha 5948ea0ac675ca25aed84475f70366f1a8acefce

lufa: Integrate EXTRAKEY into MOUSE interface

view details

tmk

commit sha 106a18caf6af600de599740f53978ba0fac95c9c

lufa: Add Boot protocol support for mouse

view details

tmk

commit sha 3c1700ee4eeb2b39f9692511525f9fb129e5763f

Merge branch 'lufa_desc_fix'

view details

tmk

commit sha 0b19a95ff4d3074e609b459950165df4ecd7761b

ibmpc_usb: Remove clear_keyboard() from INIT state to avoid unnecessary empty keyboard report at startup.

view details

tmk

commit sha d14a00c44e6048e2126d6e14b4e849984674b168

core: Fix keymap.h header for C++

view details

tmk

commit sha ec2652ee9aab02cbc77cfcfddf57d9a753733662

Add usb_desc_dump project

view details

tmk

commit sha 08c7d725f5c202bf115040b450bcc36b503ab4ee

usb_desc_dump: Fix README

view details

tmk

commit sha dc470b28e59ae272449e0c81355847dd3b92ca2e

usb_desc_dump: Add comment mark to info

view details

tmk

commit sha e15f35fd9b9746c4f001710b53c073cd2672008e

rules.mk: Allow same name between .c and .cpp

view details

tmk

commit sha 0e3b7084b7a47a08d59e7e6c9c10b64f19d62579

ibmpc_usb: matrix stores unimap translated states scan code is translated to unimap before storing in matrix now

view details

tmk

commit sha f4f47aaee7a224db4543b301b529ae571a530ba6

ibmpc: C++ class for two-interface support

view details

tmk

commit sha e9dab9590951d277b17136c2fd6b98587172bbe3

ibmpc_usb: C++ class for two-interface support

view details

tmk

commit sha 848cac6eb2ff546ec0e8dfdc0cfee0983821d8da

ibmpc: busy wait only first time This is not tested well yet

view details

tmk

commit sha bff5cff1f243e5fb8c598b151bc2af58c753fc25

ibmpc: ISR optimization

view details

tmk

commit sha 369b5cb21e63159181ef7730a4641191f36f683d

ibmpc: ringbuf optimization for cpp

view details

tmk

commit sha 7438f7baabd18502bc6e5c17131e4ddb0875aa50

ibmpc: ringbuf optimization for c

view details

tmk

commit sha e2c58b5044d8c3eadde0489ad02902e622eb7818

ibmpc_usb: Detect data out of sync for mouse in case of replug or change devices

view details

tmk

commit sha 8391b2c01888ae76c0c4b5771ed51b6747b475ca

ibmpc_usb: Update README

view details

push time in a month

push eventcub-uanic/tmk_keyboard

tmk

commit sha bb3ed2cab849f158d7876a4df85b80743c05163b

adb_usb: Update prebuilt firmware files

view details

tmk

commit sha b13b79300ac08fbaac756b01b1607fcc3ac8048f

ibmpc_usb: Add Code Set 3 support for IBM 5576-001 https://github.com/tmk/tmk_keyboard/issues/685 https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#ibm-5576-code-set-3 Make positon of keys on 5576-001 to fit 122-key layout: 0x13 -> 0x5D // JYEN 0x5C -> 0x51 // RO 0x76 -> 0x7E // Keypad ' 0x7E -> 0x76 // Keypad Dup 0x85 -> 0x68 // Muhenkan -> Keypad , 0x86 -> 0x78 // Henkan -> Keypad =

view details

tmk

commit sha 17c2532950465946e2fe876742b3b0f4450a12d8

ibmpc_usb: Update prebuilt firmware files

view details

tmk

commit sha bf9a68698281de17e4342f9a3f600dcb025526d1

ibmpc_usb: Add scan code translation for 5576-002/3

view details

tmk

commit sha ea3520be14b3b352d0c8e9e257fb54ccd419aa59

ibmpc_usb: Add support for 7F7F and unknown ID #687

view details

tmk

commit sha 64a31593915383957f22565bc1b26af19b114b4d

ibmpc_usb: Add time stamp of debug print

view details

tmk

commit sha 7d9e554a8d7053f5e21527e88fa19ddd8cfd62d6

ibmpc_usb: Fix keyboard reset sequence Wait 3 sec for keyboard to be settled or until keyboard sends anything Fix for BTC-5161 AT/XT auto-select: The keyboard requires reset to start AT mode even if it already sends AA. https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#btc-5161

view details

tmk

commit sha 8381eb480f3b2261eaf180e40b699b3987b6decc

ibmpc_usb: Fix keyboard_kind for Zenith Z-150 AT

view details

tmk

commit sha 0a1dcacbfded8ab5f0468d6eeed40b334e09d656

ibmpc: Fix ACK check in host_send() for Z-150 AT #661 Zenith Z-150 AT doesn't seems to place ACK signaling normally. https://github.com/tmk/tmk_keyboard/issues/661#issue-743168434 https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#zenith-z-150-beige IBM genuine PC host checks data line only, not clock on ACK. In this case Z-150 AT ACK signaling can be handled. http://www.halicery.com/Hardware/Intel%208042%20and%208048/8042_PS2_INTERN.TEXT (026C:) http://halicery.com/8042/8042_1503033.TXT (0274:) Place 'inhibit' on lines for long enough to cancel current state and recovery from ERROR but not sure this really helps.

view details

tmk

commit sha 67d37ef7b312ccd40e8e82c0cb1444b36b3fbcd9

ibmpc: Retry for start bit error of Z-150 AT #661 This is fix for Zenith Z-150 AT. Root cause is still not clear but retrying works well somehow. https://github.com/tmk/tmk_keyboard/issues/661#issuecomment-772298392 Add checking isr_state and line state before sending data

view details

tmk

commit sha 2a0471fdc499cdfca5913f8afd1678b1bd4f7422

ibmpc: Retain recv_data across host_send()

view details

tmk

commit sha 44bf879285e1dc104fc47bc0226c38168fa8a8af

ibmpc_usb: Update prebuilt firmware files

view details

Ethan Halsall

commit sha 9b58ee7db0079a6b434d35d1d65608bd544811e8

adb_usb: Add scroll wheel emulation #692 Squashed commit from: https://github.com/tmk/tmk_keyboard/pull/692

view details

Ethan Halsall

commit sha 9b77bf929541fa94f56564f63c486e989c044239

lufa: Update mouse descriptor for 16 bit #692 Squashed commit from: https://github.com/tmk/tmk_keyboard/pull/692

view details

tmk

commit sha 4ed3e40fc0530bb639577bb44aa0615051b813c0

lufa: Boot support for mouse extended report #692

view details

tmk

commit sha 22b6e87f37d9ccc862ce8ced6558cdabd86275d7

ibmpc: Revert 2a0471fd on ibmpc_host_send() Restoring old recv_data can overwrite response data when the response is multi-byte. This can happen when device responds with multiple bytes quickly, for example Logitech MX518(PS/2) sends FA 00 in short period to F2 command while most of devices doesn't send second byte that fast. recv_data is cleared when calling ibmpc_host_send() you will have to retain the data yourself before calling it. Or you have to make sure that recv_data is empty as possible before calling the function. Alternatively, ibmpc_host_send() can be changed to check if recv_data is empty before seding command.

view details

tmk

commit sha d13ce4d06f1a4173266be3a32d2b156a392e2842

ibmpc: Inhibit device while buffer is full

view details

tmk

commit sha c3a014187828fca701c62c859c8dea635faa4deb

ibmpc: Replace unit16_t recv_data with ringbuf

view details

tmk

commit sha 536d267465996ed8516e767911107ee256438a0b

ibmpc_usb: Add Mouse support for Intellimouse, Explorer and Logitech PS/2++

view details

tmk

commit sha 231b288ed95600e3e6dfd8621d3cafe6588e91b2

ibmpc_usb: Inhibit until INIT state at powerup Keep keyboard inhibited until scan-loop starts with INIT state

view details

push time in a month

push eventErgoDox/tmk_keyboard

tmk

commit sha bb3ed2cab849f158d7876a4df85b80743c05163b

adb_usb: Update prebuilt firmware files

view details

tmk

commit sha b13b79300ac08fbaac756b01b1607fcc3ac8048f

ibmpc_usb: Add Code Set 3 support for IBM 5576-001 https://github.com/tmk/tmk_keyboard/issues/685 https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#ibm-5576-code-set-3 Make positon of keys on 5576-001 to fit 122-key layout: 0x13 -> 0x5D // JYEN 0x5C -> 0x51 // RO 0x76 -> 0x7E // Keypad ' 0x7E -> 0x76 // Keypad Dup 0x85 -> 0x68 // Muhenkan -> Keypad , 0x86 -> 0x78 // Henkan -> Keypad =

view details

tmk

commit sha 17c2532950465946e2fe876742b3b0f4450a12d8

ibmpc_usb: Update prebuilt firmware files

view details

tmk

commit sha bf9a68698281de17e4342f9a3f600dcb025526d1

ibmpc_usb: Add scan code translation for 5576-002/3

view details

tmk

commit sha ea3520be14b3b352d0c8e9e257fb54ccd419aa59

ibmpc_usb: Add support for 7F7F and unknown ID #687

view details

tmk

commit sha 64a31593915383957f22565bc1b26af19b114b4d

ibmpc_usb: Add time stamp of debug print

view details

tmk

commit sha 7d9e554a8d7053f5e21527e88fa19ddd8cfd62d6

ibmpc_usb: Fix keyboard reset sequence Wait 3 sec for keyboard to be settled or until keyboard sends anything Fix for BTC-5161 AT/XT auto-select: The keyboard requires reset to start AT mode even if it already sends AA. https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#btc-5161

view details

tmk

commit sha 8381eb480f3b2261eaf180e40b699b3987b6decc

ibmpc_usb: Fix keyboard_kind for Zenith Z-150 AT

view details

tmk

commit sha 0a1dcacbfded8ab5f0468d6eeed40b334e09d656

ibmpc: Fix ACK check in host_send() for Z-150 AT #661 Zenith Z-150 AT doesn't seems to place ACK signaling normally. https://github.com/tmk/tmk_keyboard/issues/661#issue-743168434 https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-AT-Keyboard-Protocol#zenith-z-150-beige IBM genuine PC host checks data line only, not clock on ACK. In this case Z-150 AT ACK signaling can be handled. http://www.halicery.com/Hardware/Intel%208042%20and%208048/8042_PS2_INTERN.TEXT (026C:) http://halicery.com/8042/8042_1503033.TXT (0274:) Place 'inhibit' on lines for long enough to cancel current state and recovery from ERROR but not sure this really helps.

view details

tmk

commit sha 67d37ef7b312ccd40e8e82c0cb1444b36b3fbcd9

ibmpc: Retry for start bit error of Z-150 AT #661 This is fix for Zenith Z-150 AT. Root cause is still not clear but retrying works well somehow. https://github.com/tmk/tmk_keyboard/issues/661#issuecomment-772298392 Add checking isr_state and line state before sending data

view details

tmk

commit sha 2a0471fdc499cdfca5913f8afd1678b1bd4f7422

ibmpc: Retain recv_data across host_send()

view details

tmk

commit sha 44bf879285e1dc104fc47bc0226c38168fa8a8af

ibmpc_usb: Update prebuilt firmware files

view details

Ethan Halsall

commit sha 9b58ee7db0079a6b434d35d1d65608bd544811e8

adb_usb: Add scroll wheel emulation #692 Squashed commit from: https://github.com/tmk/tmk_keyboard/pull/692

view details

Ethan Halsall

commit sha 9b77bf929541fa94f56564f63c486e989c044239

lufa: Update mouse descriptor for 16 bit #692 Squashed commit from: https://github.com/tmk/tmk_keyboard/pull/692

view details

tmk

commit sha 4ed3e40fc0530bb639577bb44aa0615051b813c0

lufa: Boot support for mouse extended report #692

view details

tmk

commit sha 22b6e87f37d9ccc862ce8ced6558cdabd86275d7

ibmpc: Revert 2a0471fd on ibmpc_host_send() Restoring old recv_data can overwrite response data when the response is multi-byte. This can happen when device responds with multiple bytes quickly, for example Logitech MX518(PS/2) sends FA 00 in short period to F2 command while most of devices doesn't send second byte that fast. recv_data is cleared when calling ibmpc_host_send() you will have to retain the data yourself before calling it. Or you have to make sure that recv_data is empty as possible before calling the function. Alternatively, ibmpc_host_send() can be changed to check if recv_data is empty before seding command.

view details

tmk

commit sha d13ce4d06f1a4173266be3a32d2b156a392e2842

ibmpc: Inhibit device while buffer is full

view details

tmk

commit sha c3a014187828fca701c62c859c8dea635faa4deb

ibmpc: Replace unit16_t recv_data with ringbuf

view details

tmk

commit sha 536d267465996ed8516e767911107ee256438a0b

ibmpc_usb: Add Mouse support for Intellimouse, Explorer and Logitech PS/2++

view details

tmk

commit sha 231b288ed95600e3e6dfd8621d3cafe6588e91b2

ibmpc_usb: Inhibit until INIT state at powerup Keep keyboard inhibited until scan-loop starts with INIT state

view details

push time in a month