DefaultCommand controls which command to initiate form submit with when enter key is pressed. Multiple defaultCommand in same form is supported with scope option. Within a Textarea the defaultCommand is not active.
<div class="card">
<h:form id="form">
<p:growl>
<p:autoUpdate/>
</p:growl>
<p:panel header="Panel 1" id="panel1" styleClass="mb-5">
<div class="formgrid grid p-fluid">
<div class="field col-12 md:col-6">
<h:outputLabel for="name" value="Name"/>
<p:inputText id="name" value="#{defaultCommandView.text}"/>
</div>
<div class="field col-12 md:col-6">
<h:outputLabel for="textarea" value="Textarea"/>
<p:inputTextarea id="textarea" value="#{defaultCommandView.text2}"/>
</div>
</div>
</p:panel>
<p:panel header="Panel 2" id="panel2" styleClass="mb-5">
<div class="formgrid grid p-fluid">
<div class="field col-12 md:col-6">
<h:outputLabel for="otherInput" value="Other input"/>
<p:inputText id="otherInput"/>
</div>
</div>
</p:panel>
<p:commandButton value="Button1" id="btn1" action="#{defaultCommandView.btn1Submit}" styleClass="mr-2" />
<p:commandButton value="Button2" id="btn2" action="#{defaultCommandView.btn2Submit}"/>
<p:defaultCommand target="btn1" scope="panel1"/>
<p:defaultCommand target="btn2" scope="panel2"/>
</h:form>
</div>