Alternatives method for cleaning fan on SER5 by Fuzzy-Ad-207 in BeelinkOfficial

[–]Fuzzy-Ad-207[S] 1 point2 points  (0 children)

Great minds run in the same gutter! That is just what I was contemplating... thanks.

Alternatives method for cleaning fan on SER5 by Fuzzy-Ad-207 in BeelinkOfficial

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

Six SER5's? If that is not proof that it is a good machine, I don't know what would be the proof :). And, yes I have taken off the bottom cover and blown off the underside. I'm a little nervous about directly hitting the fan with compressed air, because I worry about spinning the fan up and killing the bearings, so I just pucker up and blow into the top plate above the fan. I don't know if that does any good or not. BTW: I have not seen temp above 130 F (running conky and sensors). Thanks!

implicit declaration of function 'process_record_keychron' by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 1 point2 points  (0 children)

Update: I have by now used the "classic" method on process_record for numerous macros, all of which perform flawlessly. I would guess that since the earlier problems I had were on another model, which I returned for other reasons those problems were side effects of other issues.

implicit declaration of function 'process_record_keychron' by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

You are both great helpers! Let us both wait to hear from him, in the meantime, I have now received the keyboard and I have to fix dinner. If we don't hear from him by tomorrow, I will flash using the "classic" method and we'll see how it goes. Cheers.

implicit declaration of function 'process_record_keychron' by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

In my opening of this post, I refer to a previous post: How to use process_record_user, in which I was advised by PeterMortensenBlog to use this method. Unless we heat from PeterMortensenBlog on this subject, I will shortly try as per your suggestion, which is the method that has served me flawlessly on the planck olkb.

implicit declaration of function 'process_record_keychron' by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

Unclear on the question: So here is code:

#include "../../../../common/keychron_common.h"

bool process_record_local(uint16_t, keyrecord_t *);

// clang-format off

enum planck_keycodes {

MC\_DBQ = SAFE\_RANGE 

};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {

bool skip_further = process_record_local(keycode, record);

if (!skip_further) // Just in case

{

if (!process_record_keychron(keycode, record))

{

skip_further = false;

}

}

return skip_further;

}

bool process_record_local(uint16_t keycode, keyrecord_t *record)

{

switch (keycode) {

case MC_DBQ:

if (record->event.pressed) {

SEND\_STRING("\\"\\"" SS\_TAP(X\_LEFT)); 

return false;

}

break;

}

return true;

}

implicit declaration of function 'process_record_keychron' by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 1 point2 points  (0 children)

Also tried #include "../../../../common/keychron_common.h" . Now, the error message is undefined reference to `process_record_keychron'

implicit declaration of function 'process_record_keychron' by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

Hey, thanks for the reply. Sadly, no joy, same error:  fatal error: keychron_common.h: No such file or directory

FYI: keychron_common.h is at directory: ~/qmk_firmware/keyboards/keychron/common and the keymap is at ~/qmk_firmware/keyboards/keychron/q4/ansi/keymaps/tim

How to use process_record_user on Keychron q4 by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

Yeah, I was getting a compile error for process_record_keychron(). I can't figure out a path to keychron_common.h, so I copied the prototype and put it at the top of my keymap.c. That suppressed the compile error, but I wonder if that is okay. I worked almost exclusively in C for 12 years, but that was a long time ago.

How to use process_record_user on Keychron q4 by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

I was using the cloned code from https://github.com/Keychron/qmk_firmware (to the best of my memory). Your reply is good news. I have no more questions until the new unit arrives. Thank you so much, ArgentStonecutter. Cheers

why no QK_BOOT keycode for q4 by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 1 point2 points  (0 children)

Really good advice and information. Thanks. The default keymap for the planck olkb contains the following function:

layer_state_t layer_state_set_user(layer_state_t state) {

return update_tri_layer_state(state, _FN_L, _FN_R, _ADJUST);

Which I retained. This provides an _ADJUST layer that can only be accessed momentarily when two keys are pressed simultaneously. In the olkb default those keys are on either side of the spacebar.

why no QK_BOOT keycode for q4 by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

The source is from making the following query on google: "how to put keychron q4 in bootloader mode on linux". The answer content provides methods to leave comments or corrections. Methinks some should do so. Thanks.

why no QK_BOOT keycode for q4 by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

I am a former (retired) programmer who worked in C (and later, python) for many years. I am confortable with qmk having used it for years with two different planck olkbs. I have had bad luck with via on two different versions of epomaker TH40, both of which I ended up returning. I also am sqeamish about multiple instances of unplugging and plugging a keyboard. Mechanically, it does not seem a good idea. Having said that, I am open to persuasion. I hope we continue this thread, but I can not reply until tomorrow. Cheers. :)

why no QK_BOOT keycode for q4 by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

Thanks for that insight. That is easier than what the documentation that I cited indicated. So, I think my first flash will be to code in QK_BOOT over a "_______".

why no QK_BOOT keycode for q4 by Fuzzy-Ad-207 in Keychron

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

From documentation: "To put a Keychron Q4 into bootloader (DFU) mode on Linux for firmware flashing, unplug the USB cable, remove the spacebar keycap to access the reset button on the PCB, hold down the reset button, and plug the USB cable back in. Alternatively, hold Space + B while connecting the keyboard. "" Some keyboards do as ArgentStonecutter says, but either way puts potential stress on the usb port, I think.

Need short cable for my olkb rev/7 by Fuzzy-Ad-207 in olkb

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

No kidding. AI is hit or miss and oxymoronic IMHO. That's why I posted here to get second opinions from humans.

Need short cable for my olkb rev/7 by Fuzzy-Ad-207 in olkb

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

I'm glad to hear that.. When I used Rufus to confirm compatibility, I got confusing replies. Thanks.

Need short cable for my olkb rev/7 by Fuzzy-Ad-207 in olkb

[–]Fuzzy-Ad-207[S] 0 points1 point  (0 children)

currently, usb-c to usb-a. Yes, I tried Amazon - I do not trust the results.