# Picade Hat Utility button reassignment

**URL:** <https://forums.pimoroni.com/t/picade-hat-utility-button-reassignment/7898>\
**Category:** Picade\
**Created:** [June 8, 2018, 10:55pm UTC](https://forums.pimoroni.com/t/picade-hat-utility-button-reassignment/7898 "2018-06-08T22:55:17Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Marlowe](https://avatars.discourse-cdn.com/v4/letter/m/bcef8e/32.png) [@Marlowe](https://forums.pimoroni.com/u/Marlowe)\
**Post date:** [June 8, 2018, 10:55pm UTC](https://forums.pimoroni.com/t/picade-hat-utility-button-reassignment/7898/1 "2018-06-08T22:55:17Z")

</div>

Ive been at it for a week now, but I just dont have enough experience with this stuff. My goal is a handheld Retropie with same buttons as playstation controller minus L3 and R3 and analogs. Utility buttons I need ENT as Start, ESC as Select/Coin, 1/4 as L2, and 1UP as R2. Id keep 26 and 13 as volume which I like.  
Is this possible? Emulationstation lets me config this way, but Mame, the Coin (ive been using ESC) just freezes the game and I have to selectstart to exit game. When I try to config in Retroarch, it wont allow the ESC to be reconfigured. Is there a simple way around this? Im definitely missin something haha!

---

<div class="post-metadata">

**Author:** ![gadgetoid](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/gadgetoid/32/13_2.png) [@gadgetoid](https://forums.pimoroni.com/u/gadgetoid)\
**Post date:** [June 9, 2018, 9:38am UTC](https://forums.pimoroni.com/t/picade-hat-utility-button-reassignment/7898/2 "2018-06-09T09:38:50Z")

</div>

You could try rebinding all the keycodes in the input driver `/usr/bin/picadehatd`, or just swapping out ESC for something you can reconfigure:

> <https://github.com/pimoroni/picade-hat/blob/8d5ca3d7ba37301ce227f8a58eaa185d883286da/daemon/usr/bin/picadehatd#L63-L78>

---

<div class="post-metadata">

**Author:** ![Marlowe](https://avatars.discourse-cdn.com/v4/letter/m/bcef8e/32.png) [@Marlowe](https://forums.pimoroni.com/u/Marlowe)\
**Post date:** [June 9, 2018, 7:33pm UTC](https://forums.pimoroni.com/t/picade-hat-utility-button-reassignment/7898/3 "2018-06-09T19:33:58Z")

</div>

Is that in a file on the sd card? I dont know how to get to that. Could you please walk me through it?

---

<div class="post-metadata">

**Author:** ![gadgetoid](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/gadgetoid/32/13_2.png) [@gadgetoid](https://forums.pimoroni.com/u/gadgetoid)\
**Post date:** [June 12, 2018, 9:55am UTC](https://forums.pimoroni.com/t/picade-hat-utility-button-reassignment/7898/4 "2018-06-12T09:55:55Z")

</div>

Might be worth taking a copy first, to be on the safe side:

in Terminal;

```auto
cp /usr/bin/picadehathd ~/picadehatd-backup

```

Then

```auto
sudo nano /usr/bin/picadehatd

```

Tweak as necessary - the available `KEY_SOMETHING` are listed here: [https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h](https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h)

Then Ctrl+X, Y and Enter to save.

---

<div class="post-metadata">

**Author:** ![Marlowe](https://avatars.discourse-cdn.com/v4/letter/m/bcef8e/32.png) [@Marlowe](https://forums.pimoroni.com/u/Marlowe)\
**Post date:** [June 15, 2018, 1:21am UTC](https://forums.pimoroni.com/t/picade-hat-utility-button-reassignment/7898/5 "2018-06-15T01:21:42Z")

</div>

Thanks a bunch! Very helpful!
