Unicode has several hyphen/dash/minus characters.
Here is their current availability under X with the Finnish keyboard layout:

Unicode Name xkeysymdef name/alias Compose/en_US.UTF-8 xkb/symbols/fi *** U+002D HYPHEN-MINUS XK_minus used yes U+00AD SOFT HYPHEN XK_hyphen - yes U+2010 HYPHEN - - - U+2011 NON-BREAKING HYPHEN - - - U+2012 FIGURE DASH - (* XK_figdash, 0x0ABB) - - U+2013 EN DASH - (* XK_endash, 0x0AAA) ** yes U+2014 EM DASH - (* XK_emdash, 0x0AA9) ** yes U+2015 HORIZONTAL BAR - - - U+2212 MINUS SIGN - used -
* if XK_PUBLISHING is defined, the alias points to this value. ** Produced by multikey combination. *** Finnish is the only language where anything other than minus and hyphen are found. In other words, we can produce the HYPHEN-MINUS, SOFT HYPHEN, EN DASH and EM DASH characters. In other languages, only HYPHEN-MINUS and SOFT HYPHEN can be produced. We can add these other characters to the available repertoire, as long as no confusion is created by doing so. This page is maintained by Troy Korjuslommi.