diff --git a/src/syncterm/menu.c b/src/syncterm/menu.c
index c619856e60d77ad2d80251a755214ceff0332900..d688f909918bf0dec2e0d256bd43455f253a71e9 100644
--- a/src/syncterm/menu.c
+++ b/src/syncterm/menu.c
@@ -134,22 +134,22 @@ void viewscroll(void)
 int syncmenu(struct bbslist *bbs, int *speed)
 {
 	char	*opts[]={
-						 "Scrollback (Alt-B)"
+						 "Scrollback ("ALT_KEY_NAMEP"-B)"
 						,"Disconnect (Ctrl-Q)"
-						,"Send Login (Alt-L)"
-						,"Upload (Alt-U)"
-						,"Download (Alt-D)"
-						,"Change Output Rate (Alt-Up/Alt-Down)"
+						,"Send Login ("ALT_KEY_NAMEP"-L)"
+						,"Upload ("ALT_KEY_NAMEP"-U)"
+						,"Download ("ALT_KEY_NAMEP"-D)"
+						,"Change Output Rate ("ALT_KEY_NAMEP"-Up/"ALT_KEY_NAMEP"-Down)"
 						,"Change Log Level"
-						,"Capture Control (Alt-C)"
-						,"ANSI Music Control (Alt-M)"
-						,"Font Control (Alt-F)"
+						,"Capture Control ("ALT_KEY_NAMEP"-C)"
+						,"ANSI Music Control ("ALT_KEY_NAMEP"-M)"
+						,"Font Control ("ALT_KEY_NAMEP"-F)"
 						,"Toggle Doorway Mode"
 #ifndef WITHOUT_OOII
 						,"Toggle Operation Overkill ][ Mode"
 #endif
-						,"Exit (Alt-X)"
-						,"Edit Dialing Directory (ALT-E)"
+						,"Exit ("ALT_KEY_NAMEP"-X)"
+						,"Edit Dialing Directory ("ALT_KEY_NAMEP"-E)"
 						,""};
 	int		opt=0;
 	int		i,j;
@@ -164,7 +164,7 @@ int syncmenu(struct bbslist *bbs, int *speed)
 	if(cio_api.mode!=CIOLIB_MODE_CURSES
 			&& cio_api.mode!=CIOLIB_MODE_CURSES_IBM
 			&& cio_api.mode!=CIOLIB_MODE_ANSI) {
-		opts[1]="Disconnect (Alt-H)";
+		opts[1]="Disconnect ("ALT_KEY_NAMEP"-H)";
 	}
 
 	for(ret=0;!ret;) {
diff --git a/src/syncterm/syncterm.h b/src/syncterm/syncterm.h
index 72ee217c0b450012014510de8e41999aba5be65c..919339fd6e13a53dfa6ecba885325a638c944f7b 100644
--- a/src/syncterm/syncterm.h
+++ b/src/syncterm/syncterm.h
@@ -27,6 +27,17 @@ enum {
 #define DEFAULT_MODEM_DEV	"/dev/ttyd0"
 #endif
 
+/* "ALT/META" key name string */
+#if defined(__APPLE__) && defined(__MACH__)
+#define ALT_KEY_NAME	"COMMAND"
+#define ALT_KEY_NAMEP	"Command"
+#define ALT_KEY_NAME3CH	"CMD"
+#else
+#define ALT_KEY_NAME	"ALT"
+#define ALT_KEY_NAMEP	"Alt"
+#define ALT_KEY_NAME3CH	"ALT"
+#endif
+
 struct modem_settings {
 	char	init_string[INI_MAX_VALUE_LEN];
 	char	dial_string[INI_MAX_VALUE_LEN];
diff --git a/src/syncterm/term.c b/src/syncterm/term.c
index a3086490ccc9b006c9c884cad42bdf9760e9d910..f37f10970ad83df82b94d466b25e36f1854333f0 100644
--- a/src/syncterm/term.c
+++ b/src/syncterm/term.c
@@ -201,9 +201,9 @@ void update_status(struct bbslist *bbs, int speed, int ooii_mode)
 			break;
 		default:
 			if(timeon>359999)
-				cprintf(" %-30.30s \263 %-6.6s \263 Connected: Too Long \263 ALT-Z for menu ",nbuf,conn_types[bbs->conn_type]);
+				cprintf(" %-30.30s \263 %-6.6s \263 Connected: Too Long \263 "ALT_KEY_NAME3CH"-Z for menu ",nbuf,conn_types[bbs->conn_type]);
 			else
-				cprintf(" %-30.30s \263 %-6.6s \263 Connected: %02d:%02d:%02d \263 ALT-Z for menu ",nbuf,conn_types[bbs->conn_type],timeon/3600,(timeon/60)%60,timeon%60);
+				cprintf(" %-30.30s \263 %-6.6s \263 Connected: %02d:%02d:%02d \263 "ALT_KEY_NAME3CH"-Z for menu ",nbuf,conn_types[bbs->conn_type],timeon/3600,(timeon/60)%60,timeon%60);
 			break; /*    1+29     +3    +6    +3    +11        +3+3+2        +3    +6    +4  +5 */
 	}
 	if(wherex()>=80)