Best way to set up an Infrared Remote Control?

Nice! Do long presses work?

Not on my particular remote.

I think that sort of thing is usually a feature of the remote hardware itself (where the remote firmware sends a different IR code for a long-press) I recall years ago having a remote which had a JP1 extender available for it which could do it (would show up in remote master as the X-Shift pseudo buttons), but my remote does not have that (mine has only regular, and “shift” available)
If your remote hardware can handle long press, then it should just be a matter or programming the IR functions to those pseudo button in RemoteMaster.

If this is some kodi side thing (where it detects, and treats “repeats” as a “long-press”, then you’d just need to experiment.)

come to think of it, I scanned in a new lirc.conf on one of my veros , which has some slightly different timing settings.

# Please take the time to finish this file as described in
# https://sourceforge.net/p/lirc-remotes/wiki/Checklist/
# and make it available to others by sending it to
# <lirc@bartelmus.de>
#
# This config file was automatically generated
# using lirc-0.9.4c(default) on Mon Sep 21 16:56:40 2020
# Command line used: -H default -d /dev/lirc0
# Kernel version (uname -r): 4.9.113-22-osmc
#
# Remote name (as of config file): int2
# Brand of remote device, the thing you hold in your hand:
# Remote device model nr:
# Remote device info url:
# Does remote device has a bundled capture device e. g., a
#	 usb dongle? :
# For bundled USB devices: usb vendor id, product id
#	 and device string (use dmesg or lsusb):
# Type of device controlled
#	 (TV, VCR, Audio, DVD, Satellite, Cable, HTPC, ...) :
# Device(s) controlled by this remote:

begin remote

	name		int2
	bits		13
	flags		RC5|CONST_LENGTH
	eps		30
	aeps		100
	one		930 824
	zero		930 824
	plead		982
	gap		112888
	toggle_bit_mask	0x800
	frequency	38000

	begin codes

		KEY_0		0x1780
		KEY_1		0x1781
		KEY_2		0x1782
		KEY_3		0x1783
		KEY_4		0x1784
		KEY_5		0x1785
		KEY_6		0x1786
		KEY_7		0x1787
		KEY_8		0x1788
		KEY_9		0x1789

		KEY_HOME	0x178D
		KEY_INFO	0x17BA
		KEY_MENU	0x179B
		KEY_BACK	0x179F

		KEY_UP		0x1794
		KEY_DOWN	0x1795
		KEY_LEFT	0x1796
		KEY_RIGHT	0x1797
		KEY_OK		0x17A5

#		## Want to use amplifier for volume control instead of Vero
#		#KEY_VOLUMEUP	0x1790
#		#KEY_VOLUMEDOWN	0x1791
#		#KEY_MUTE	0x178F

		KEY_ZOOM	0x178C #display button on remote
		KEY_SUBTITLE	0x1799
		KEY_LANGUAGE	0x179A
		KEY_TEXT	0x1798	#TTX/Mix
		KEY_TITLE	0x179C

		KEY_STOP	0x17B6
		KEY_PLAY	0x17B5
		KEY_PAUSE	0x17B0
		KEY_RECORD	0x17B7
		KEY_REWIND	0x17B2
		KEY_FASTFORWARD	0x17B4
		KEY_PREVIOUS	0x179E
		KEY_NEXT	0x17A4

		KEY_RED		0x178B
		KEY_GREEN	0x17AE
		KEY_YELLOW	0x17B8
		KEY_BLUE	0x17A9



		KEY_CHANNELUP	0x17A0
		KEY_CHANNELDOWN	0x17A1
	 end codes
end remote

Also note, I’m running on the the 4.9 kernel branch, and this capture was when running the 4.9 kernel. (that may-or-may-not make a difference)

One a slightly different JP1 related note:
If you find a different protocol working better (which is entirely possible, I originally programmed using the Samsung TV device protocol, which was great until I bought a Samsung TV which then was in conflict).

The method is simple, start with the protocol of your choice (where you have a matching lirc.conf already that seems to work, even if it is missing most of the buttons you want to use), and then for each additional button you want to add, just add a new function and hex code in remote master (and assign it to a button), and add a matching lirc.conf code (using the toggle-bit-mask to covert from the JP1 hex code to the lirc one)

Or, you can start with any-old JP1 device file in Remote master, (and add whatever addtional functions you think you need with new hex codes) and then run irrecord to capture everything to a new lirc.conf