Hasu, In the TMK USB to USB converter config if I were to use something like a Unicomp PC122 which comes natively as USB the config is missing the left hand function keys as well as the key that would go below the down arrow. Also, if I wanted to split the numpad 0 into 2 seperate keys how could this be accomplished on the software end?
it doesn't seem to work.Describe more details. Any key doesn't register? What do you expect?
Ok I will but I want to get the compatible keyboard working first. What can I try now? Is the issue the hex file? Any idea why Taran's hex file isn't working correctly? Is it ok that it doesn't show the blue text in qmk toolbox? Or does it need to show that to show that it was flashed correctly and it's working? It's working for Taran and I assume others as well so how can we get it to work?
EXTRALDFLAGS += -Wl,--relax
EXTRALDFLAGS += -Wl,--gc-sections
EXTRALDFLAGS += -flto
EXTRACFLAGS += -flto
EXTRACFLAGS += -ffunction-sections
EXTRACFLAGS += -fdata-sections
EXTRACFLAGS += -fno-move-loop-invariants
EXTRACFLAGS += -fno-tree-scev-cprop
EXTRACFLAGS += -fno-inline-small-functions
EXTRACPPFLAGS += -flto
EXTRACPPFLAGS += -ffunction-sections
EXTRACPPFLAGS += -fdata-sections
EXTRACPPFLAGS += -fno-move-loop-invariants
EXTRACPPFLAGS += -fno-tree-scev-cprop
EXTRACPPFLAGS += -fno-inline-small-functions
https://bit.ly/3yWi3xX
Another question: In order to go to Layer 2 for the embedded numeric keypad, I have sacrificed the Right-Alt (Right-Opt) key as the toggle. How could I use this key as the toggle and still have it available for other uses?
#include "unimap_trans.h"
#include "action_layer.h"
enum function_id {
ALT_TOGGLE,
};
#define AC_FN0 ACTION_LAYER_MOMENTARY(1)
#define AC_ATGL ACTION_FUNCTION_TAP(ALT_TOGGLE)
#ifdef KEYMAP_SECTION_ENABLE
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
#else
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
#endif
UNIMAP(
F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24,
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,PAUS, VOLD,VOLU,MUTE,
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, JYEN,BSPC, INS, HOME,PGUP, NLCK,PSLS,PAST,PMNS,
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, BSLS, DEL, END, PGDN, P7, P8, P9, PPLS,
CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT, NUHS,ENT, P4, P5, P6, PCMM,
LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RO, RSFT, UP, P1, P2, P3, PENT,
LCTL,LGUI,LALT,MHEN, SPC, HENK,KANA,ATGL,RGUI,FN0, RCTL, LEFT,DOWN,RGHT, P0, PDOT,PEQL
),
UNIMAP(
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
GRV, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,BTLD, TRNS,TRNS,TRNS,
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP, INS, TRNS, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,
TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,TRNS,HOME,PGUP,LEFT,RGHT, TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,DOWN, TRNS,TRNS, PGUP, TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, HOME,PGDN,END, TRNS, TRNS,TRNS
),
UNIMAP(
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,P7, P8, P9, P0, PMNS,PEQL,TRNS,TRNS, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,P4, P5, P6, PENT,TRNS,NLCK, TRNS, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,P1, P2, P3, PPLS,PAST, TRNS,PENT, TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,P0, PCMM,PDOT,PSLS, TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,
TRNS,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS, TRNS, TRNS,TRNS
),
};
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch (id) {
case ALT_TOGGLE:
if (record->event.pressed) {
if (record->tap.count > 0 && !record->tap.interrupted) {
} else {
register_mods(MOD_BIT(KC_RALT));
}
} else {
if (record->tap.count > 0 && !(record->tap.interrupted)) {
layer_invert(2);
} else {
unregister_mods(MOD_BIT(KC_RALT));
}
}
}
}
Is there any chance of being able to get one of these still?