以下の設定をしてもタイトルの通り、ファンクションキーが標準のファンクションキーとして動作しません。
最初に試した設定
- Keychron K2 ProのハードウェアスイッチをmacOSにセット
- Mac OSのKeyboardの設定でFunctionキーを標準のファンクションキーとして使う、に設定

どうやら、Keychron K2 Proでは、Mac OSのファンクションキーを標準設定として利用する、という設定は無視しているようです。Keychron K2 ProではVIAを使うことでキーリマップを変更することが可能です。そしてVIAを使用することで、ファンクションキーを標準のファンクションキーとして使うための設定が出来ます。
VIAのインストールと初期設定ファイルの読み込み
VIAのインストールはMacならHomebrewでインストールできます。
brew install --cask via
VIAを開くと、Searching for devicesと表示されますが、これは無視して問題ありません。

ConfigでShow Design Tabを有効にします。

Designタブで Load V2 definitions (deprecated) を有効にします。

VIAとKeychronキーボードの接続及びご使用方法 | kopek|から自分にあったJSONファイルをダウンロードしてください。ここではKeychron K2 Pro用設定ファイルをダウンロードします。

k2_pro_ansi_white_v1.1.json.zip
のファイル名で保存されますので解凍します。
DesignタブのファイルドロップエリアにJSONファイルをドラッグアンドドロップします。すると以下のように初期設定がロードされます。

ハードウェアスイッチのOS設定、fnキー、レイヤーの関係性の理解
VIAでConfigureページを開くと、LAYERボタンが0-3まで存在します。レイヤー0,1はMacに。レイヤー2,3はWindowsに割り当てられています。ここは正しく理解しておかないと何を設定していいか分からないため、きちんと整理しておきます。
まず、マニュアルには以下のようにレイヤーについての説明があります。Macでは0と1のレイヤーのみが使えます。
マニュアルに記載のあるレイヤーとfnキーの関係

以下がマニュアルからの抜粋ですが、レイヤー4は存在しません。レイヤー2はシステムトグルがWindowsに設定されていると自動的に選択されるので、MO(3)
キーを押すという状況は想像がつきません。もしかしたら、Macを使っている状態で、ある瞬間だけWindowsのキー配置を選択したい時に、動的にスイッチしたい場合に使うのかもしれません。ただ、MacとWindowsを切り替えるのであれば、ファンクションキーを押しっぱなしで操作するというのは現実的にはあり得なさそうです。
マニュアルに記載のキー名

そこで、以下のように整理して理解するのが現実的だと思います。
fnキーありなしとハードウェアスイッチのOSの組み合わせによって決まるレイヤーの関係
ハードウェアスイッチ | fnキーのキーコード | fnキーなし | fnキーあり |
---|---|---|---|
Mac | MO(1) | 0 | 1 |
Windows | MO(3) | 2 | 3 |
したがって、macOSで、fnキーを標準のファンクションキーにするためには、レイヤー0とレイヤー1の設定を入れ替えればよいということが分かります。Windows OSであればレイヤー1と2だけを設定することになります。
キーリマップの変更
実際にキーを設定していきます。
Cionfigureタブでキーリマップを行います。

レイヤー0の設定

レイヤー1の設定

レイヤー1はとりあえず必要そうなものだけ設定しました。なお、変更は自動的にキーボードに反映されます。
レイアウトをファイルとしてエクスポート
以下のSaveボタンからjson形式でエクスポート出来ます。注意が必要な点として、SAVEという名前は設定を反映させるような印象を与えますが、実際には設定は自動的に反映されます。ここでのSAVEは、設定内容をJSONとしてエクスポートするという意味です。

キーボードを買い替えた。あるいはちょっと大胆に設定を変更したい、などという場合に現在の設定をエクスポートしたり、インポートするという使い方を想定しているようです。
まとめ
VIAをインストールしてキーマップを変更するという手間はありますが、一旦理解すれば分かりやすくほとんど全てのキーを変更出来ます。そのため、キーマップ変更の柔軟性が高く、機能的にもKeychron K2 Proは優れた製品であると感じました。