no, 2 forms is ok (unless we use the Settings configure activity), but the first form should be generic.

I mean, the same form could be reused later if we introduce new roles that needs configuration.

However the second form is really specific to the 'keyboard' role, but you could put the function in an object, so that the generic first form could find it using the role.

For example, using something like:
```javascript
configurations[role].func();
```

where configurations could be:
```javascript
configurations = {
  'keyboard': {
    func: function configureLayout() { ... }
  }
}
```

If we use the 'configure' activity, then `configureLayout ` would trigger that activity. Otherwise it would show the second form.

is it clearer ?