How to send button states to child actor?

So i am working on a vr project with the oculus where the character can go and pickup something and the item determines what the controls do what based on the item. for example, if the character goes and picks up a sword and presses the “a” button on the right touch controller it could activate some ability or if they are holding a map and press “a” it could open into and expanded view. So what im thinking is that when the vr pawn, that the user controls, picks something up it will send the states of all the buttons of the controllers to the blueprint that is being held. So how can i send the button states to the item blueprint that the pawn is currently holding?
Also, is this a good way to do this?

Your character bp should know the item, or items, it is holding.

When you pick up an item, you can call specific functions within your held item.

e.g. Interact event (in character) → Call custom event (in held item) → Perform held item specific action.

You should also have a blueprint class, called something like “HeldItem” or something, which your specific items such as sword, or map, inherit from. That way your “held item reference” in the character can simply be a “HeldItem” type, and you don’t need to worry about casting to every possible class you have.

the character can go and pickup
something and the item determines what
the controls do what based on the
item.

You’re looking for blueprint interfaces. Any class can implement an interface with one or more functions. Those functions can then be called freely providing the class has the interface. Objects implementing the interface override the functions on an individual basis. So you can call the same Use function on 5 different classes and all five will act differently.

Alternatively you can use Inheritance and override the function that handles the input A button pressed for example.