Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial port of TMK's ibmpc_usb converter code #12821

Closed
wants to merge 74 commits into from
Closed
Show file tree
Hide file tree
Changes from 68 commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
fe3568c
Initial creation of tmk files
marfrit May 4, 2021
0647d79
start from copy of ibm_terminal
May 5, 2021
5ad76b8
base works, scan codes don't
May 5, 2021
e8f31f1
Changed matrix
marfrit May 6, 2021
d8562bd
adjusted matrix keymap mapping
May 6, 2021
47fd6ce
added my own keymap
May 6, 2021
e8ead9c
update readme
May 6, 2021
cdab2b1
Clean comments, enhance readme
May 6, 2021
9792c56
Add (c) to files as described in pr doc
May 6, 2021
22a4fe6
Merge branch 'qmk:master' into ibmpc_usb_port
marfrit May 7, 2021
262cdd6
add my own mappings go git
May 7, 2021
8403177
Change intial keymap to 105 keys
May 21, 2021
119691e
Merge branch 'ibmpc_usb_port' of github.com:marfrit/qmk_firmware into…
May 21, 2021
5d14a57
Correction of keycodes
May 21, 2021
3a11b54
Merge branch 'qmk:master' into ibmpc_usb_port
marfrit May 21, 2021
f635575
Added 122 keymap for terminal model m
May 21, 2021
bc1b595
Added info.json from usb_usb converter, corrected keycodes
May 24, 2021
7d2d8a0
Merge branch 'qmk:master' into marfritkeebsandmaps
marfrit May 24, 2021
9e3fe64
Merge branch 'ibmpc_usb_port' into marfritkeebsandmaps
May 24, 2021
f08b1e9
Merge branch 'marfritkeebsandmaps' of github.com:marfrit/qmk_firmware…
May 24, 2021
74fb2ca
info.json correction
May 24, 2021
d04c6f2
info.json correction
May 24, 2021
a8e5a50
correct layout info
May 26, 2021
b4dc733
Update keyboards/converter/ibmpc_usb/config.h
marfrit May 27, 2021
fd60c19
Update keyboards/converter/ibmpc_usb/config.h
marfrit May 27, 2021
fc7e12f
Update keyboards/converter/ibmpc_usb/config.h
marfrit May 27, 2021
bb50489
use generated keymap
May 27, 2021
ed5a174
changed to drashnas request
May 27, 2021
4149f9b
Merge branch 'ibmpc_usb_port' of github.com:marfrit/qmk_firmware into…
May 27, 2021
aa70193
revert ibm_terminal changes
May 27, 2021
7e88e1e
revert accidental ibm_terminal changes
May 27, 2021
b031fc6
Update keyboards/converter/ibmpc_usb/rules.mk
marfrit May 30, 2021
9ddea90
added xt support to keymap
May 31, 2021
2e30858
Merge branch 'ibmpc_usb_port' of github.com:marfrit/qmk_firmware into…
May 31, 2021
812180f
added xt support to keymap
May 31, 2021
4c5dc8e
my keymap on xt
May 31, 2021
f8d8dd9
support M102 terminal boards
marfrit Jun 2, 2021
3fa1203
update with TMK's latest changes
marfrit Jun 3, 2021
d0133b0
Merge branch 'qmk:master' into ibmpc_usb_port
marfrit Jun 3, 2021
c0ee795
trying one map
marfrit Jun 9, 2021
2b7fbcc
map map map
marfrit Jun 14, 2021
908bf3a
created translation matrix
marfrit Jun 22, 2021
68d9b2e
Changed info.json
Jun 23, 2021
3f51336
change layout name
Jun 23, 2021
c2a45ba
keycode poker
Jun 23, 2021
4fce619
added mapping mappings
Jun 23, 2021
1a2391c
cleanup
Jun 23, 2021
fa31ebc
cleanup
Jun 23, 2021
0d82666
Merge pull request #1 from marfrit/ibmpc_one_map
marfrit Jun 23, 2021
c46e9d5
Merge branch 'qmk:master' into ibmpc_usb_port
marfrit Jun 23, 2021
d9e3066
Merge branch 'qmk:master' into marfritkeebsandmaps
marfrit Jun 23, 2021
6f20dd8
Merge branch 'marfritkeebsandmaps' into ibmpc_usb_port
marfrit Jun 23, 2021
e0b6d6b
Rearrange defauft keymap to new style
Jun 24, 2021
c20c8e1
syntax correction
Jun 24, 2021
6515cc5
fix kpast
Jun 30, 2021
3db199b
Add LED configuration
marfrit Jun 30, 2021
cada8e8
Merge branch 'ibmpc_usb_port' of https://github.com/marfrit/qmk_firmw…
marfrit Jun 30, 2021
918fcec
enabled converter LED lock lights
Jul 1, 2021
9e89200
correct codeset3 positions
marfrit Jul 22, 2021
5f7a419
Update keyboards/converter/ibm_terminal/keymaps/default/rules.mk
marfrit Jul 23, 2021
91d7877
Update keyboards/converter/ibmpc_usb/rules.mk
marfrit Jul 23, 2021
a920c5f
Update keyboards/converter/ibmpc_usb/ibmpc_usb.h
marfrit Jul 23, 2021
3932e6e
Update keyboards/converter/ibmpc_usb/ibmpc_usb.h
marfrit Jul 23, 2021
c8254f4
Update keyboards/converter/ibmpc_usb/keymaps/marfrit/rules.mk
marfrit Jul 23, 2021
fee2e1a
make changes suggested by fauxpark
Jul 23, 2021
9cf2ab2
Merge branch 'ibmpc_usb_port' of github.com:marfrit/qmk_firmware into…
Jul 23, 2021
b5447dd
Update keyboards/converter/ibmpc_usb/ibmpc.h
marfrit Jul 23, 2021
591a5cb
Update keyboards/converter/ibmpc_usb/ibmpc.h
marfrit Jul 23, 2021
5abf234
Update keyboards/converter/ibm_terminal/keymaps/default/rules.mk
marfrit Jul 23, 2021
88550ee
Update keyboards/converter/ibm_terminal/keymaps/default/rules.mk
marfrit Jul 23, 2021
698c93c
Update keyboards/converter/ibm_terminal/keymaps/default/rules.mk
marfrit Jul 23, 2021
e763ae0
Update keyboards/converter/ibmpc_usb/keymaps/marfrit/rules.mk
marfrit Jul 23, 2021
deecaff
add mouse support as seen in tmk
Jul 23, 2021
3b6c1e1
remove unfinished 2nd interface for now
Aug 2, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 4 additions & 4 deletions keyboards/converter/ibm_terminal/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Layer 0

/*
LAYOUT(
KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
Expand All @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_RGUI,KC_LGUI, KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_GRV, KC_DOWN, KC_NO, KC_P0, KC_PDOT,KC_NO
),

/* 101-key keymaps
101-key keymaps
*/
/* 0: default
* ,---. ,---------------. ,---------------. ,---------------. ,-----------.
Expand All @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |Ctrl| |Alt | Space |Alt | |Ctrl| |Lef|Dow|Rig| | 0| .| |
* `----' `---------------------------------------' `----' `-----------' `---------------'
*/
/*

LAYOUT_101(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_SLCK, KC_BRK,

Expand All @@ -59,5 +59,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT,KC_PENT
),
*/

};
19 changes: 9 additions & 10 deletions keyboards/converter/ibm_terminal/keymaps/default/rules.mk
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
marfrit marked this conversation as resolved.
Show resolved Hide resolved
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
MOUSEKEY_ENABLE = no # Mouse keys
marfrit marked this conversation as resolved.
Show resolved Hide resolved
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
marfrit marked this conversation as resolved.
Show resolved Hide resolved
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
PS2_USE_USART = yes
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
PS2_USE_USART = no
PS2_USE_INT = yes
API_SYSEX_ENABLE = no
marfrit marked this conversation as resolved.
Show resolved Hide resolved

# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
Expand Down
4 changes: 2 additions & 2 deletions keyboards/converter/ibm_terminal/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ BOOTLOADER = atmel-dfu
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
Expand Down
99 changes: 99 additions & 0 deletions keyboards/converter/ibmpc_usb/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2016 Priyadi Iman Nurcahyo <priyadi@priyadi.net>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef CONFIG_H
#define CONFIG_H
Comment on lines +19 to +20
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#ifndef CONFIG_H
#define CONFIG_H
#pragma once



#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x6536
#define DEVICE_VER 0x0100
#define MANUFACTURER QMK
#define PRODUCT PS/2 Keyboard
#define DESCRIPTION convert IBM PC keyboard to USB
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#define DESCRIPTION convert IBM PC keyboard to USB


// #define LED_NUM_LOCK_PIN PF6
// #define LED_CAPS_LOCK_PIN PF5
// #define LED_SCROLL_LOCK_PIN PF7

/* matrix size */
#define MATRIX_ROWS 16 // keycode bit: 3-0
#define MATRIX_COLS 8 // keycode bit: 6-4

/* legacy keymap support */
#define USE_LEGACY_KEYMAP

/* key combination for command */
#define IS_COMMAND() ( \
get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_RALT) | MOD_BIT(KC_RCTL)) \
)

/*
* Pin and interrupt configuration
*/
/* clock line */
#define IBMPC_CLOCK_PORT PORTD
#define IBMPC_CLOCK_PIN PIND
#define IBMPC_CLOCK_DDR DDRD
#define IBMPC_CLOCK_BIT 1
/* data line */
#define IBMPC_DATA_PORT PORTD
#define IBMPC_DATA_PIN PIND
#define IBMPC_DATA_DDR DDRD
#define IBMPC_DATA_BIT 0
/* reset line */
#define IBMPC_RST_PORT PORTB
#define IBMPC_RST_PIN PINB
#define IBMPC_RST_DDR DDRB
#define IBMPC_RST_BIT1 6
#define IBMPC_RST_BIT2 7

/* reset for XT Type-1 keyboard: low pulse for 500ms */
#define IBMPC_RST_HIZ() do { \
IBMPC_RST_PORT &= ~(1<<IBMPC_RST_BIT1); \
IBMPC_RST_DDR &= ~(1<<IBMPC_RST_BIT1); \
IBMPC_RST_PORT &= ~(1<<IBMPC_RST_BIT2); \
IBMPC_RST_DDR &= ~(1<<IBMPC_RST_BIT2); \
} while (0)

#define IBMPC_RST_LO() do { \
IBMPC_RST_PORT &= ~(1<<IBMPC_RST_BIT1); \
IBMPC_RST_DDR |= (1<<IBMPC_RST_BIT1); \
IBMPC_RST_PORT &= ~(1<<IBMPC_RST_BIT2); \
IBMPC_RST_DDR |= (1<<IBMPC_RST_BIT2); \
} while (0)

/* interrupt for clock line */
#define IBMPC_INT_INIT() do { \
EICRA |= ((1<<ISC11) | \
(0<<ISC10)); \
} while (0)

/* NOTE: clear flag and enabling to ditch unwanted interrupt */
#define IBMPC_INT_ON() do { \
EIFR |= (1<<INTF1); \
EIMSK |= (1<<INT1); \
} while (0)

#define IBMPC_INT_OFF() do { \
EIMSK &= ~(1<<INT1); \
} while (0)

#define IBMPC_INT_VECT INT1_vect

#endif
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#endif