MCPcopy Create free account
hub / github.com/cogentcore/core / SetActiveMapName

Function SetActiveMapName

keymap/keymap.go:130–151  ·  view source on GitHub ↗

SetActiveMapName sets the current ActiveKeyMap by name from those defined in AvailKeyMaps, calling Update on the map prior to setting it to ensure that it is a valid, complete map

(mapnm MapName)

Source from the content-addressed store, hash-verified

128// defined in AvailKeyMaps, calling Update on the map prior to setting it to
129// ensure that it is a valid, complete map
130func SetActiveMapName(mapnm MapName) {
131 km, _, ok := AvailableMaps.MapByName(mapnm)
132 if ok {
133 SetActiveMap(km, mapnm)
134 } else {
135 slog.Error("keymap.SetActiveKeyMapName: key map named not found, using default", "requested", mapnm, "default", DefaultMap)
136 km, _, ok = AvailableMaps.MapByName(DefaultMap)
137 if ok {
138 SetActiveMap(km, DefaultMap)
139 } else {
140 avail := make([]string, len(AvailableMaps))
141 for i, km := range AvailableMaps {
142 avail[i] = km.Name
143 }
144 slog.Error("keymap.SetActiveKeyMapName: DefaultKeyMap not found either; trying first one", "default", DefaultMap, "available", avail)
145 if len(AvailableMaps) > 0 {
146 nkm := AvailableMaps[0]
147 SetActiveMap(&nkm.Map, MapName(nkm.Name))
148 }
149 }
150 }
151}
152
153// Of converts the given [key.Chord] into a keyboard function.
154func Of(chord key.Chord) Functions {

Callers 2

ApplyMethod · 0.92
initFunction · 0.85

Calls 4

SetActiveMapFunction · 0.85
MapNameTypeAlias · 0.85
MapByNameMethod · 0.80
ErrorMethod · 0.65

Tested by

no test coverage detected