# Altmill pendant under Linux

**URL:** <https://forum.sienci.com/t/altmill-pendant-under-linux/14407>\
**Category:** 📄 General\
**Created:** [November 5, 2024, 8:15pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407 "2024-11-05T20:15:22Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jens](https://forum.sienci.com/letter_avatar_proxy/v4/letter/j/d2c977/32.png) [@Jens](https://forum.sienci.com/u/Jens)\
**Post date:** [November 5, 2024, 8:15pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/1 "2024-11-05T20:15:22Z")

</div>

How does a pendant generally link to the gSender computer? Is it a question of sending key codes which are then interpreted by gSender?  
I have seen people using a game controller but I think this is strictly a Windows thing?  
Is there any kind of pendant available that could be connected to gSender which in turn is running on a Linux box?

I have an old HB04 wireless controller that was purchased for a Mach setup. It has drivers for Mach but of course Mach is a Windows program. Is there any hope of using this pendant for gSender?

---

<div class="post-metadata">

**Author:** ![whitewolf](https://forum.sienci.com/user_avatar/forum.sienci.com/whitewolf/32/7626_2.png) [@whitewolf](https://forum.sienci.com/u/whitewolf)\
**Post date:** [November 5, 2024, 8:24pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/2 "2024-11-05T20:24:37Z")

</div>

I was wondering about this as well - just have no desire to use a game pad at all.  
I was considering using a 10-key and trying to map the buttons but wasn’t sure if it would work.

---

<div class="post-metadata">

**Author:** ![fowler](https://forum.sienci.com/letter_avatar_proxy/v4/letter/f/848f3c/32.png) [@fowler](https://forum.sienci.com/u/fowler)\
**Post date:** [March 14, 2025, 4:50pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/3 "2025-03-14T16:50:37Z")

</div>

I know this is an older topic, but I just posted about my custom pendant keyboard that basically does what you’ve discussed here - custom key mappings to gSender’s built-in jog key combinations to control the machine:

> [@gSender/AltMill 9-Key Pendant Keyboard](https://forum.sienci.com/t/gsender-altmill-9-key-pendant-keyboard/16497):
>
> Hey all, I had some mechanical keyboard parts laying around from an older project and found that I was able to make a custom 9 key pendant for gSender, controlling my Altmill on Linux. [pendant] Basically this is an Arduino pro micro clone that is attached to 9 CherryMX Blue switches - the Arduino firmware just pretends to be a USB keyboard (using keyboard.h) and when the various buttons are pressed, they just output the defaultgSender keyboard commands for XYZ jogs and speed selectors . All o…

---

<div class="post-metadata">

**Author:** ![whitewolf](https://forum.sienci.com/user_avatar/forum.sienci.com/whitewolf/32/7626_2.png) [@whitewolf](https://forum.sienci.com/u/whitewolf)\
**Post date:** [March 14, 2025, 9:54pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/4 "2025-03-14T21:54:26Z")

</div>

This is great! Think you would have time to do a write-up for it?

---

<div class="post-metadata">

**Author:** ![fowler](https://forum.sienci.com/letter_avatar_proxy/v4/letter/f/848f3c/32.png) [@fowler](https://forum.sienci.com/u/fowler)\
**Post date:** [March 15, 2025, 4:56pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/5 "2025-03-15T16:56:31Z")

</div>

I have put my arduino code, CAD files and some other references for documentation into a github repo here:

> **[GitHub - wordupyo/3x3keyboard](https://github.com/wordupyo/3x3keyboard)**
>
> Contribute to wordupyo/3x3keyboard development by creating an account on GitHub.

Feel free to ask any questions if you have them! While it’s not a complete set of instructions, it’s more or less all there.

---

<div class="post-metadata">

**Author:** ![whitewolf](https://forum.sienci.com/user_avatar/forum.sienci.com/whitewolf/32/7626_2.png) [@whitewolf](https://forum.sienci.com/u/whitewolf)\
**Post date:** [March 15, 2025, 6:24pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/6 "2025-03-15T18:24:48Z")

</div>

Thanks! I’m familiar with Arduino and ESP projects but nothing that I’ve ever connected to a computer to use afterwards…

Ordering parts now 🙂  
Will it work the same with a windows pc? I have both but curious.

---

<div class="post-metadata">

**Author:** ![fowler](https://forum.sienci.com/letter_avatar_proxy/v4/letter/f/848f3c/32.png) [@fowler](https://forum.sienci.com/u/fowler)\
**Post date:** [March 15, 2025, 6:44pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/7 "2025-03-15T18:44:18Z")

</div>

Yes, definitely works with Windows; the Arduino should show up on any system as a generic USB keyboard (as I recall). I programmed/flashed it on a Windows machine first and was able to test/confirm they key combinations from there though.

---

<div class="post-metadata">

**Author:** ![Jens](https://forum.sienci.com/letter_avatar_proxy/v4/letter/j/d2c977/32.png) [@Jens](https://forum.sienci.com/u/Jens)\
**Post date:** [March 15, 2025, 7:57pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/8 "2025-03-15T19:57:52Z")

</div>

Odd question … currently, when I click on the movement arrow for x/y/z, it takes an annoying amount of time before the key press auto-repeats (let’s say I want to move the gantry back by 20 inches). With this keypad device, would I still have the delay?  
Approaching this from the other end, would I be able to tweak something under Windows to reduce that delay? Is there any way to reduce the delay only for travel moves?

---

<div class="post-metadata">

**Author:** ![Jens](https://forum.sienci.com/letter_avatar_proxy/v4/letter/j/d2c977/32.png) [@Jens](https://forum.sienci.com/u/Jens)\
**Post date:** [March 15, 2025, 11:51pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/9 "2025-03-15T23:51:26Z")

</div>

I figured out how to change the repeat delay (‘control keyboard’ in command line entry mode) but unfortunately this applies to all keys and not just the jog buttons. I will test it out in the next little while.  
Apparently it can also be changed via the windows registry so if the delay is still too long, I should be able to shorten it even more than what is available via the GUI method above.

---

<div class="post-metadata">

**Author:** ![fowler](https://forum.sienci.com/letter_avatar_proxy/v4/letter/f/848f3c/32.png) [@fowler](https://forum.sienci.com/u/fowler)\
**Post date:** [March 18, 2025, 1:02am UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/10 "2025-03-18T01:02:06Z")

</div>

Hard to say for sure - as you noted, this may be operating system specific so I have only tested on debian linux: there is no stutter or delay when pressing and holding the keys down for me to cause the machine to continuously jog. That is, once it starts jogging, it doesn’t stop until the keys are released.

As I said in my other post, I do see a slight delay between tapping (or press/holding) the keys and when the machine starts to move, though I suspect this is either just gSender behavior or because I have a very slow machine running it - I say this because the same delay occurs when I click the jog buttons inside the gSender interface with mouse as well.

---

<div class="post-metadata">

**Author:** ![whitewolf](https://forum.sienci.com/user_avatar/forum.sienci.com/whitewolf/32/7626_2.png) [@whitewolf](https://forum.sienci.com/u/whitewolf)\
**Post date:** [March 22, 2025, 11:18pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/11 "2025-03-22T23:18:25Z")

</div>

I ended up using the code from here as well as making it a 3x4 (12-key) but either way, it’s done and you are to thank.

I’ve only played with it on my Linux box and not on gSender at all yet though.

Might drop some paint or resin in the arrows as well to create a contrast.

 ![20250322_171039](https://forum.sienci.com/uploads/default/original/2X/7/7108c912ff342a40620a37cebe1e7e7aa9af50db.jpeg)

---

<div class="post-metadata">

**Author:** ![fowler](https://forum.sienci.com/letter_avatar_proxy/v4/letter/f/848f3c/32.png) [@fowler](https://forum.sienci.com/u/fowler)\
**Post date:** [March 22, 2025, 11:31pm UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/12 "2025-03-22T23:31:03Z")

</div>

very cool, looks great! Glad I was able to help out 😃

---

<div class="post-metadata">

**Author:** ![Chucky\_ott](https://forum.sienci.com/user_avatar/forum.sienci.com/chucky_ott/32/8692_2.png) [@Chucky\_ott](https://forum.sienci.com/u/Chucky_ott)\
**Post date:** [March 23, 2025, 12:14am UTC](https://forum.sienci.com/t/altmill-pendant-under-linux/14407/13 "2025-03-23T00:14:47Z")

</div>

Nice. I had considered doing this, using the information on this post, but since I don’t have a 3D printer, I figured it would end up costing more than buying off-the- shelf. You probably had more fun though.
