Get Updated and Latest Information About This Product Click The BUY NOW Button Above
About This Article: LOFREE Flow84 Low Profile Mechanical Keyboard, 75 Percent Rechargeable Wireless Keyboards with Bluetooth and Wired Connection for Windows, Mac OS/Black Phantom Tactile Switches
Price: $169.99 as of Sep 24, 2024 00:41:21 UTC –
Disclaimer: Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [relevant Amazon Site(s), as applicable] at the time of purchase will apply to the purchase of this product.
Get Updated and Latest Information About This Product Click The BUY NOW Button Above
Product Dimensions | 12.44 x 4.96 x 0.96 inches |
---|---|
Item Weight | 1.25 pounds |
Manufacturer | LOFREE |
ASIN | B0CJTTX3JH |
Country of Origin | China |
Item model number | OE915 |
Batteries | 1 Lithium Polymer batteries required. (included) |
Customer Reviews |
/* .cm-cr-review-stars-spacing-big { 4.1 142 ratings
var dpAcrHasRegisteredArcLinkClickAction; P.when(‘A’, ‘cf’).execute(function(A) { 4.1 out of 5 stars |
Best Sellers Rank | #10,251 in Video Games (See Top 100 in Video Games) #874 in PC Gaming Keyboards |
Date First Available | October 9, 2023 |
Warranty & Support
Feedback
.grid-container {
display: block;
flex-direction: column;
}
.grid-row {
align-items: center;
margin-bottom: 10px;
margin-left: 20px;
}
.grid-label {
min-width: 50px;
padding-right: 10px;
}
.widgetAlerts {
display: none;
}
.grid-input {
flex: 1;
width: 100%
}
.asterisk {
color: #EB0000;
}
.visually-hidden {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.priceavailability{
padding: 0 28px;
}
@media (min-width: 420px) and (max-width: 550px){
.container{
display: block;
}
.grid-input{
font-size: 85%;
}
.priceavailability{
padding: 0 28px;
}
.a-dropdown-container .a-button-dropdown .a-button-text{
font-size: 79%;
}
}
@media (min-width: 320px) and (max-width: 419px) {
.priceavailability{
padding: 0 0px;
}
.container{
display: block;
}
.grid-input{
font-size: 80%;
}
input#offlineCity.grid-input{
font-size: 62%;
}
span#stateValue{
.grid-input
{
font-size: 77%;
}
}
.a-dropdown-container .a-button-dropdown .a-button-text{
font-size: 65%;
}
}
LOFREE Flow84 Low Profile Mechanical Keyboard, 75 Percent Rechargeable Wireless Keyboards with Bluetooth and Wired Connection for Windows, Mac OS/Black Phantom Tactile Switches
Share:
Found a lower price? Let us know. Although we can’t match every price reported, we’ll use your feedback to ensure that our prices remain competitive.
Where did you see a lower price?
Fields with an asterisk
are required
P.when(“A”, “a-modal”, “ready”).execute(function (A, modal) {
var $ = A.$;
var instance;
var title = $(“#modalHeader”).val();
function getModalWidth() {
if (window.matchMedia(“(max-width: 420px)”).matches) {
return “320px”; // Width for very small screens
} else if (window.matchMedia(“(max-width: 550px)”).matches) {
return “420px”; // Width for small screens
} else {
return “550px”; // Default width
}
}
A.declarative(“pricingFeedback-modal-button”, “click”, function (event) {
if (!instance) {
var options = {
name: “pricingFeedback-modal-content”,
dataStrategy: “preload”,
};
instance = modal.create(event.$target, options);
}
instance.update({
header: title,
width: getModalWidth()
}).lock().show();
});
$(window).resize(function() {
if (instance) {
instance.update({
width: getModalWidth()
});
}
});
});
P.when(‘A’, ‘ready’).execute(function (A) {
var $ = A.$;
var csrf = $(“#aapiCsrfToken”).val();
var productPrice = $(“#priceValue”).val();
var hostname = $(“#absoluteUrlPrefix”).val();
var customerId = $(“#customerId”).val();
var isCustomerRecognized = ($(“#isCustomerLoggedIn”).val() === ‘true’);
var isCurrentGlOnlineOnly = ($(“#isCurrentGlOnlineOnly”).val() === ‘true’);
var asin = $(“#asin”).val();
var marketplaceId = $(“#marketplaceId”).val();
var country = $(“#countryCode”).val();
var offlineStoresList = $(“#offlineStoresList”).val();
var statesList = $(“#statesList”).val();
var errorMessages = {
errorNoRetailerType: $(“#errorNoType”).val(),
errorBadPrice: $(“#errorBadPrice”).val(),
errorBadPriceShipping: $(“#errorBadPriceShipping”).val(),
errorInvalidUrl: $(“#errorInvalidUrl”).val(),
errorSubmission: $(“#errorSubmission”).val(),
errorEmptyFields: $(“#errorEmptyFields”).val(),
errorMissingCity: $(“#errorMissingCity”).val(),
errorEmptyUrl:$(“#errorEmptyUrl”).val(),
thankFeedback: $(“#thankFeedback”).val()
};
var feedbackFormContent = document.querySelector(‘#feedbackForm’);
var signUpContainer = document.querySelector(‘#signUpForm’);
var feedbackFormFinalStateContainer = document.querySelector(‘#feedbackFormFinalState’);
var states = JSON.parse(statesList);
var offlineStores = JSON.parse(offlineStoresList);
var offlineStoresEnabled = !isCurrentGlOnlineOnly;
var currentDate = getCurrentDay();
var currentMonth = getCurrentMonth();
var currentYear = getCurrentYear();
if (isCustomerRecognized) {
feedbackFormContent.style[‘display’] = ‘block’;
signUpContainer.style[‘display’] = ‘none’;
var enableOnlineStoreRadio = document.querySelector(‘#pricingFeedback_onlineRadio’);
var enableOfflineStoreRadio = document.querySelector(‘#pricingFeedback_offlineRadio’);
var onlineStoreInputForm = document.querySelector(‘#pricingFeedback_onlineInput’);
var offlineStoreInputForm = document.querySelector(‘#pricingFeedback_offlineInput’);
var offlineStateSelect = document.querySelector(‘#offlineState’);
var offlineStoreSelect = document.querySelector(‘#offlineStoreName’);
var submitButton = document.querySelector(‘#pricingFeedback_submit’);
var onlineUrl = document.querySelector(‘#onlineUrl’);
var onlinePriceRaw = document.querySelector(‘#onlinePriceRaw’);
var onlineShippingRaw = document.querySelector(‘#onlineShippingRaw’);
var onlineDay = document.querySelector(‘#onlineDay’);
var onlineMonth = document.querySelector(‘#onlineMonth’);
var onlineYear = document.querySelector(‘#onlineYear’);
var onlineCalendar = document.querySelector(‘#onlineCalendar’);
var note1 = document.querySelector(‘#note1’);
var offlineRadioContainer = document.querySelector(‘#offlineRadioContainer’);
var offlineStoreName = document.querySelector(‘#offlineStoreName’);
var offlineCity = document.querySelector(‘#offlineCity’);
var offlineState = document.querySelector(‘#offlineState’);
var offlinePriceRaw = document.querySelector(‘#offlinePriceRaw’);
var offlineDay = document.querySelector(‘#offlineDay’);
var offlineMonth = document.querySelector(‘#offlineMonth’);
var offlineYear = document.querySelector(‘#offlineYear’);
var offlineCalendar = document.querySelector(‘#offlineCalendar’);
var thankYouDiv = document.querySelector(‘#pricingFeedback_thank’);
var errorDiv = document.querySelector(‘#pricingFeedback_error’);
var loadingGifDiv = document.querySelector(‘#loading’);
var offlineStateMain = document.querySelector(‘#offlineStateMain’);
note1 = document.querySelector(‘#note1’);
setCalenderOrderBasedOnCountry(country);
setInitialStates(
onlineMonth,
currentMonth,
offlineMonth,
onlineDay,
currentDate,
offlineDay,
onlineYear,
currentYear,
offlineYear,
onlineStoreInputForm,
offlineStoreInputForm,
enableOfflineStoreRadio,
enableOnlineStoreRadio,
onlineCalendar,
offlineCalendar,
offlineStateMain,
offlineState,
note1
);
createPermalinkContainer(asin, hostname);
for (let state of states) {
var option = document.createElement(‘option’);
option.setAttribute(‘value’, state[‘value’]);
option.innerText = state[‘name’];
offlineStateSelect.appendChild(option);
}
offlineStores.forEach(function(store) {
var option = document.createElement(‘option’);
option.value = store;
option.textContent = store;
offlineStoreSelect.appendChild(option);
});
function setCSSForFeedbackForm() {
const labels = document.querySelectorAll(‘.grid-label’);
let maxWidth = 0;
labels.forEach(label => {
maxWidth = Math.max(maxWidth, label.clientWidth);
});
labels.forEach(label => {
label.style.minWidth = maxWidth + ‘px’;
});
}
$(“#pricingFeedback_onlineRadio”).click(function () {
onlineStoreInputForm.style[‘display’] = ‘block’;
offlineStoreInputForm.style[‘display’] = ‘none’;
note1.style[‘display’] = ‘block’;
setCSSForFeedbackForm();
});
function handleInput(element, alert) {
if (element.hasClass(‘a-form-error’)) {
alert.style[‘display’] = ‘none’;
element.removeClass(‘a-form-error’).addClass(‘a-form-normal’);
element.removeAttr(“aria-invalid”);
element.removeAttr(“aria-describedby”);
}
}
$(‘#onlineUrl’).change(function () {
var urlAlert = document.querySelector(‘#onlineUrl-missing-alert’);
handleInput($(this), urlAlert);
});
$(‘#onlinePriceRaw’).change(function () {
var priceAlertOnline = document.querySelector(‘#onlinePrice-missing-alert’);
handleInput($(this), priceAlertOnline);
});
$(‘#onlineShippingRaw’).change(function () {
var priceShippingAlertOnline = document.querySelector(‘#onlineShippingPrice-missing-alert’);
handleInput($(this), priceShippingAlertOnline);
});
$(‘#offlineCity’).change(function () {
var cityAlert = document.querySelector(‘#offlineCity-missing-alert’);
handleInput($(this), cityAlert);
});
$(‘#offlineStoreName’).change(function () {
var storeAlert = document.querySelector(‘#offlineStoreName-missing-alert’);
handleInput($(this), storeAlert);
});
$(‘#offlinePriceRaw’).change(function () {
var priceAlertOffline = document.querySelector(‘#offlinePriceRaw-missing-alert’);
handleInput($(this), priceAlertOffline);
});
$(“#pricingFeedback_offlineRadio”).click(function () {
onlineStoreInputForm.style[‘display’] = ‘none’;
offlineStoreInputForm.style[‘display’] = ‘block’;
note1.style[‘display’] = ‘block’;
setCSSForFeedbackForm();
});
if (!offlineStoresEnabled) {
offlineRadioContainer.style[‘display’] = ‘none’;
offlineStoreInputForm.style[‘display’] = ‘none’;
}
$(“#pfw_submit”).click(function () {
var feedbackSubmitted = submitFeedback(
customerId,
marketplaceId,
asin,
productPrice,
onlineStoreInputForm,
offlineStoreInputForm,
onlineUrl.value,
onlinePriceRaw.value,
onlineShippingRaw.value,
onlineDay.value,
onlineMonth.value,
offlineStoreName.value,
offlineCity.value,
offlineState.value,
offlinePriceRaw.value,
offlineDay.value,
offlineMonth.value,
thankYouDiv,
errorDiv,
submitButton,
loadingGifDiv,
errorMessages
);
if (feedbackSubmitted !== null && !feedbackSubmitted) {
errorDiv.innerHTML = getErrorDiv(errorMessages.errorSubmission);
}
});
A.on(“a:popover:beforeHide:pricingFeedback-modal-content”, function (data) {
resetModalToInitialState(currentMonth, currentDate, currentYear);
});
} else {
feedbackFormContent.style[‘display’] = ‘none’;
signUpContainer.style[‘display’] = ‘block’;
var authPortalLink = getAuthenticationPageURL(asin, hostname);
$(“#signUpForm”).one(“click”, function () {
window.location = encodeURI(authPortalLink);
});
}
function setCalenderOrderBasedOnCountry(country) {
var monthSections = document.getElementsByClassName(‘monthSection’);
var daySections = document.getElementsByClassName(‘daySection’);
var yearSections = document.getElementsByClassName(‘yearSection’);
var firstDelimiters = document.getElementsByClassName(‘firstDelimiter’);
var secondDelimiters = document.getElementsByClassName(‘secondDelimiter’);
if (country === ‘US’) {
for (let i = 0; i < 2; i++) {
(monthSections[i]).style['order'] = '0';
(firstDelimiters[i]).style['order'] = '1';
(daySections[i]).style['order'] = '2';
(secondDelimiters[i]).style['order'] = '3';
(yearSections[i]).style['order'] = '4';
}
} else if (country === 'JP') {
for (let i = 0; i < 2; i++) {
(yearSections[i]).style['order'] = '-1';
(secondDelimiters[i]).style['order'] = '0';
(monthSections[i]).style['order'] = '1';
(firstDelimiters[i]).style['order'] = '2';
(daySections[i]).style['order'] = '3';
}
} else {
for (let i = 0; i {
A.$.ajax($(“#aapiEndpoint”).val() + “/api/marketplaces/” + marketplaceId + “/products/” + asin + “/feedback/pricing”,
{
type: ‘POST’,
headers: {
‘Accept-Language’: ‘en-US’,
‘Accept’: ‘application/vnd.com.amazon.api+json; type=”product.feedback.pricing/v1″‘,
‘x-amzn-encrypted-slate-token’: document.querySelector(‘meta[name=”encrypted-slate-token”]’)?.content,
‘Content-Type’: ‘application/vnd.com.amazon.api+json; type=”product.feedback.pricing.request/v1″‘,
‘x-api-csrf-token’: csrf
},
data: JSON.stringify(dataCart),
xhrFields: {
withCredentials: true
},
success: function (responseContent) {
$(“#pricingFeedback_thankcontent”).innerText = “Success! ” + responseContent.toString();
resolve();
},
error: function (err) {
$(“#pricingFeedback_thankcontent”).innerText = “Error! ” + err.toString();
reject();
}
})
})
}
function getAuthenticationPageURL(asin, hostname) {
return hostname + ‘/ap/signin?_encoding=UTF8&openid.assoc_handle=usflex&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select&openid.identity=http://specs.openid.net/auth/2.0/identifier_select&openid.mode=checkid_setup&openid.ns=http://specs.openid.net/auth/2.0&openid.ns.pape=http://specs.openid.net/extensions/pape/1.0&openid.pape.max_auth_age=0&openid.return_to=https://www.amazon.com/dp//’;
}
function getCurrentDay() {
var date = new Date();
return date.getDate().toString();
}
function getCurrentMonth() {
var date = new Date();
return (date.getMonth() + 1).toString();
}
function getCurrentYear() {
var date = new Date();
return date.getFullYear().toString();
}
function resetAlerts() {
const elements = [
{ id: “#onlineUrl”, alertId: “#onlineUrl-missing-alert” },
{ id: “#onlinePriceRaw”, alertId: “#onlinePrice-missing-alert” },
{ id: “#onlineShippingRaw”, alertId: “#onlineShippingPrice-missing-alert” },
{ id: “#offlineStoreName”, alertId: “#offlineStoreName-missing-alert” },
{ id: “#offlineCity”, alertId: “#offlineCity-missing-alert” },
{ id: “#offlinePriceRaw”, alertId: “#offlinePriceRaw-missing-alert” }
];
for (const { id, alertId } of elements) {
const element = document.querySelector(id);
const alertElement = document.querySelector(alertId);
if (element && alertElement) {
element.classList.remove(‘a-form-error’, ‘a-form-normal’);
alertElement.style.display = ‘none’;
}
}
}
function setInitialStates(onlineMonth, currentMonth, offlineMonth, onlineDay, currentDate, offlineDay,
onlineYear, currentYear, offlineYear, onlineStoreInputForm, offlineStoreInputForm, enableOfflineStoreRadio,
enableOnlineStoreRadio, onlineCalendar, offlineCalendar, offlineStateMain, offlineState, note1) {
onlineMonth.defaultValue = currentMonth;
offlineMonth.defaultValue = currentMonth;
onlineDay.defaultValue = currentDate;
offlineDay.defaultValue = currentDate;
onlineYear.defaultValue = currentYear;
offlineYear.defaultValue = currentYear;
var isStateRequired = document.querySelector(‘#isStateRequired’);
var stateLabel = document.querySelector(‘#stateLabel’)
var stateValue = document.querySelector(‘#stateValue’)
var isStoreRequired = document.querySelector(‘#isStoreRequired’);
var storeLabel = document.querySelector(‘#storeLabel’)
var storeValue = document.querySelector(‘#storeValue’)
if (isStateRequired.value === ‘false’) {
stateLabel.style[‘display’] = ‘none’;
stateValue.style[‘display’] = ‘none’;
}
if (isStoreRequired.value === ‘false’) {
storeLabel.style[‘display’] = ‘none’;
storeValue.style[‘display’] = ‘none’;
}
note1.style[‘display’] = ‘none’;
resetAlerts();
var onlineMonthOption = document.querySelector(‘#onlineMonthOptionDefault’);
onlineMonthOption.innerText = currentMonth;
var onlineMonthPrompt = document.querySelector(‘#onlineMonthPrompt’);
onlineMonthPrompt.innerText = currentMonth;
var offlineMonthOption = document.querySelector(‘#offlineMonthOptionDefault’);
offlineMonthOption.innerText = currentMonth;
var offlineMonthPrompt = document.querySelector(‘#offlineMonthPrompt’);
offlineMonthPrompt.innerText = currentMonth;
var onlineDateOption = document.querySelector(‘#onlineDateOptionDefault’);
onlineDateOption.innerText = currentDate;
var onlineDayPrompt = document.querySelector(‘#onlineDatePrompt’);
onlineDayPrompt.innerText = currentDate;
var offlineDateOption = document.querySelector(‘#offlineDateOptionDefault’);
offlineDateOption.innerText = currentDate;
var offlineDayPrompt = document.querySelector(‘#offlineDatePrompt’);
offlineDayPrompt.innerText = currentDate;
var onlineYearOption = document.querySelector(‘#onlineYearOptionDefault’);
onlineYearOption.setAttribute(‘href’, currentYear);
onlineYearOption.innerText = currentYear;
var onlineYearPrompt = document.querySelector(‘#onlineYearPrompt’);
onlineYearPrompt.innerText = currentYear;
var offlineYearOption = document.querySelector(‘#offlineYearOptionDefault’);
offlineYearOption.setAttribute(‘href’, currentYear);
offlineYearOption.innerText = currentYear;
var offlineYearPrompt = document.querySelector(‘#offlineYearPrompt’);
offlineYearPrompt.innerText = currentYear;
if (onlineMonth.children && offlineMonth.children && onlineDay.children && offlineDay.children) {
onlineMonth.children[currentMonth].setAttribute(‘selected’, currentMonth);
offlineMonth.children[currentMonth].setAttribute(‘selected’, currentMonth);
onlineDay.children[currentDate].setAttribute(‘selected’, currentDate);
offlineDay.children[currentDate].setAttribute(‘selected’, currentDate);
}
onlineStoreInputForm.style[‘display’] = ‘none’;
offlineStoreInputForm.style[‘display’] = ‘none’;
enableOfflineStoreRadio.checked = false;
enableOnlineStoreRadio.checked = false;
if (onlineCalendar.style && offlineCalendar.style) {
onlineCalendar.style[‘display’] = ‘block’;
offlineCalendar.style[‘display’] = ‘block’;
}
}
function submitFeedback(
customerId,
marketplaceId,
asin,
price,
onlineStoreInputForm,
offlineStoreInputForm,
onlineUrl,
onlinePriceRaw,
onlineShippingRaw,
onlineDay,
onlineMonth,
offlineStoreName,
offlineCity,
offlineState,
offlinePriceRaw,
offlineDay,
offlineMonth,
thankYouDiv,
errorDiv,
submitButton,
loadingGifDiv,
errorMessages
) {
errorDiv.innerHTML = ”;
let cleanRetailerType,
cleanRetailerUrl,
cleanRetailerName,
cleanRetailerCity,
cleanRetailerState,
cleanRetailerPrice,
cleanRetailerShipping,
cleanSampleDate;
var currentYear = getCurrentYear();
if (onlineStoreInputForm.style[‘display’] === ‘block’) {
var onlineValidity = validateOnlineInputs(onlineUrl, onlinePriceRaw, onlineShippingRaw, errorMessages);
if (onlineValidity.valid) {
cleanRetailerType=”ONLINE”;
cleanRetailerUrl = truncate(trim(onlineUrl), 300);
cleanRetailerPrice = trim(onlinePriceRaw);
cleanRetailerShipping = trim(onlineShippingRaw);
if (!cleanRetailerShipping) {
cleanRetailerShipping = ‘0’;
}
cleanSampleDate = formatDate(
currentYear,
onlineDay ? onlineDay : getCurrentDay(),
onlineMonth ? onlineMonth : getCurrentMonth()
);
} else {
if (onlineValidity.error) {
errorDiv.innerHTML = getErrorDiv(onlineValidity.error);
}
return null;
}
} else if (offlineStoreInputForm.style[‘display’] === ‘block’) {
var offlineValidity = validateOfflineInputs(
offlineStoreName,
offlineCity,
offlineState,
offlinePriceRaw,
errorMessages,
marketplaceId
);
if (offlineValidity.valid) {
cleanRetailerType=”OFFLINE”;
cleanRetailerName = truncate(trim(offlineStoreName), 100);
cleanRetailerCity = truncate(trim(offlineCity), 100);
cleanRetailerState = truncate(trim(offlineState), 100);
cleanRetailerPrice = trim(offlinePriceRaw);
cleanRetailerShipping = ‘0’;
cleanSampleDate = formatDate(
currentYear,
offlineDay ? offlineDay : getCurrentDay(),
offlineMonth ? offlineMonth : getCurrentMonth()
);
} else {
if (offlineValidity.error) {
errorDiv.innerHTML = getErrorDiv(offlineValidity.error);
}
return null;
}
} else {
errorDiv.innerHTML = getErrorDiv(errorMessages.errorNoRetailerType);
return null;
}
loadingGifDiv.innerHTML = getLoadingGifDiv();
if (price) price = parseFloat(price);
return triggerPricingFeedback(
customerId,
marketplaceId,
asin,
price,
cleanRetailerType,
cleanRetailerUrl,
cleanRetailerName,
cleanRetailerCity,
cleanRetailerState,
parseFloat(cleanRetailerPrice),
parseFloat(cleanRetailerShipping),
cleanSampleDate
)
.then(response => {
errorDiv.innerHTML = ”;
thankYouDiv.innerHTML = getThankYouDiv(errorMessages.thankFeedback);
submitButton.style.display = ‘none’;
return response;
})
.catch(err => {
errorDiv.innerHTML = getErrorDiv(errorMessages.errorSubmission);
return null;
});
}
function showError(element, elementAlert) {
elementAlert.style[‘display’] = ‘block’;
element.classList.add(‘a-form-error’);
}
function isUrlPresentAndValid(url) {
const onlineUrlElement = document.querySelector(‘#onlineUrl’);
const onlineUrlAlertDiv = document.querySelector(‘#onlineUrl-missing-alert’);
const urlAlert = document.querySelector(‘#urlAlert’);
if (isEmptyValue(url)) {
showError(onlineUrlElement, onlineUrlAlertDiv);
$(‘#onlineUrl’).attr(“aria-invalid”, “true”);
$(‘#onlineUrl’).attr(“aria-describedby”, “onlineUrl-missing-alert”);
urlAlert.innerHTML = “Enter url”;$(‘#onlineUrl’).attr(“aria-invalid”, “true”);
return false;
}
if (!isValidUrl(url)) {
showError(onlineUrlElement, onlineUrlAlertDiv);
$(‘#onlineUrl’).attr(“aria-invalid”, “true”);
$(‘#onlineUrl’).attr(“aria-describedby”, “onlineUrl-missing-alert”);
urlAlert.innerHTML = “Please enter a valid URL.”;
return false;
}
return true;
}
function isOnlinePriceThere(price) {
const onlinePriceElement = document.querySelector(‘#onlinePriceRaw’);
const onlinePriceElementAlert = document.querySelector(‘#onlinePrice-missing-alert’);
const priceAlertOnline = document.querySelector(‘#priceAlertOnline’);
if (isEmptyValue(price) || !isNumericPrice(price)) {
$(‘#onlinePriceRaw’).attr(“aria-invalid”, “true”);
showError(onlinePriceElement, onlinePriceElementAlert);
$(‘#onlinePriceRaw’).attr(“aria-describedby”, “onlinePrice-missing-alert”);
priceAlertOnline.innerHTML=”Please only use numbers in the Price field.”;
return false;
}
return true;
}
function isOnlineShippingPriceValid(shippingPrice) {
const onlineShippingPriceElement = document.querySelector(‘#onlineShippingRaw’);
const onlineShippingPriceElementAlert = document.querySelector(‘#onlineShippingPrice-missing-alert’);
const priceShippingAlertOnline=document.querySelector(‘#priceShippingAlertOnline’);
if (!isEmptyValue(shippingPrice) && !isNumericPrice(shippingPrice)) {
$(‘#onlineShippingRaw’).attr(“aria-invalid”, “true”);
showError(onlineShippingPriceElement, onlineShippingPriceElementAlert);
$(‘#onlineShippingRaw’).attr(“aria-describedby”, “onlineShippingPrice-missing-alert”);
priceShippingAlertOnline.innerHTML = “Please only use numbers in the Price and Shipping fields.”;
return false;
}
return true;
}
function validateOnlineInputs(url, onlinePrice, onlineShipping, errorMessages) {
const isValidUrl = isUrlPresentAndValid(url);
const isPriceValid = isOnlinePriceThere(onlinePrice);
const isShippingValid = isOnlineShippingPriceValid(onlineShipping);
if (!isValidUrl || !isPriceValid || !isShippingValid) {
return { valid: false };
}
return { valid: true };
}
function isOfflineStoreNameValid(offlineStoreName) {
const offlineStoreElement = document.querySelector(‘#offlineStoreName’);
const offlineStoreElementAlert = document.querySelector(‘#offlineStoreName-missing-alert’);
const storeAlert=document.querySelector(‘#storeAlert’);
if (isEmptyValue(offlineStoreName)) {
$(‘#offlineStoreName’).attr(“aria-invalid”, “true”);
$(‘#offlineStoreName’).attr(“aria-describedby”, “offlineStoreName-missing-alert”);
showError(offlineStoreElement, offlineStoreElementAlert);
storeAlert.innerHTML=”Please select where the product was sold.”;
return false;
}
return true;
}
function isOfflineCityNameValid(offlineCity) {
const offlineCityElement = document.querySelector(‘#offlineCity’);
const offlineCityElementAlert = document.querySelector(‘#offlineCity-missing-alert’);
const cityAlert=document.querySelector(‘#cityAlert’);
if (isEmptyValue(offlineCity)) {
$(‘#offlineCity’).attr(“aria-invalid”, “true”);
$(‘#offlineCity’).attr(“aria-describedby”, “offlineCity-missing-alert”);
showError(offlineCityElement, offlineCityElementAlert);
cityAlert.innerHTML=”Please specify the city”
return false;
}
return true;
}
function isOfflinePriceValid(offlinePrice) {
const offlinePriceElement = document.querySelector(‘#offlinePriceRaw’);
const offlinePriceElementAlert = document.querySelector(‘#offlinePriceRaw-missing-alert’);
const priceAlertOffline = document.querySelector(‘#priceAlertOffline’);
if (isEmptyValue(offlinePrice) || !isNumericPrice(offlinePrice)) {
$(‘#offlinePriceRaw’).attr(“aria-invalid”, “true”);
$(‘#offlinePriceRaw’).attr(“aria-describedby”, “offlinePriceRaw-missing-alert”);
showError(offlinePriceElement, offlinePriceElementAlert);
priceAlertOffline.innerHTML=”Please only use numbers in the Price field.”;
return false;
}
return true;
}
function validateOfflineInputs(offlineStoreName, offlineCity, offlineState, offlinePrice, errorMessages, marketPlaceId) {
const isStoreNameValid = isOfflineStoreNameValid(offlineStoreName);
const isOfflineCityValid = isOfflineCityNameValid(offlineCity);
const isPriceValid = isOfflinePriceValid(offlinePrice);
if (!isStoreNameValid || !isOfflineCityValid || !isPriceValid) {
return { valid: false };
}
return { valid: true };
}
function getErrorDiv(errorMsg) {
return (
‘
‘
errorMsg +
‘
\n’ +
‘
‘
);
}
function getThankYouDiv(thankMsg) {
return (
‘
‘
thankMsg +
‘
\n’ +
‘
‘
);
}
function getLoadingGifDiv() {
return ‘‘;
}
function isValidUrl(url) {
if (!url) {
return false;
}
var encodedUrl = encodeURI(url);
return encodedUrl.match(
/^(https?:\/\/)?(([a-z0-9-]|%[A-F0-9]{2})+\.)+(([a-z]|%[A-F0-9]{2})([a-z0-9]|%[A-F0-9]{2})*)(:[0-9]+)?(\/[a-z0-9;:,~!+#@&=%\/$\.?_-]+)?$/
);
}
function isNumericPrice(price) {
if (!price) {
return false;
}
return price.match(/^([0-9]+\.?[0-9]*)$|^([0-9]*\.[0-9]+)$/);
}
function isEmptyValue(input) {
return !input || input.length === 0 || input.match(/^\s*$/);
}
function truncate(input, length) {
if (!input) {
return ”;
} else {
return input.substr(0, length);
}
}
function formatDate(year, date, month) {
return year + ‘-‘ + month + ‘-‘ + date;
}
function trim(input) {
if (!input) {
return ”;
} else {
return input.trim();
}
}
function resetModalToInitialState(currentMonth, currentDate, currentYear) {
var enableOnlineStoreRadio = document.querySelector(‘#pricingFeedback_onlineRadio’);
var enableOfflineStoreRadio = document.querySelector(‘#pricingFeedback_offlineRadio’);
var onlineStoreInputForm = document.querySelector(‘#pricingFeedback_onlineInput’);
var offlineStoreInputForm = document.querySelector(‘#pricingFeedback_offlineInput’);
var onlineUrl = document.querySelector(‘#onlineUrl’);
var onlinePriceRaw = document.querySelector(‘#onlinePriceRaw’);
var onlineShippingRaw = document.querySelector(‘#onlineShippingRaw’);
var onlineDay = document.querySelector(‘#onlineDay’);
var onlineMonth = document.querySelector(‘#onlineMonth’);
var onlineYear = document.querySelector(‘#onlineYear’);
var onlineCalendar = document.querySelector(‘#onlineCalendar’);
var note1 = document.querySelector(‘#note1’);
var offlineStoreName = document.querySelector(‘#offlineStoreName’);
var offlineCity = document.querySelector(‘#offlineCity’);
var offlineState = document.querySelector(‘#offlineState’);
var offlinePriceRaw = document.querySelector(‘#offlinePriceRaw’);
var offlineDay = document.querySelector(‘#offlineDay’);
var offlineMonth = document.querySelector(‘#offlineMonth’);
var offlineYear = document.querySelector(‘#offlineYear’);
var offlineCalendar = document.querySelector(‘#offlineCalendar’);
var thankYouDiv = document.querySelector(‘#pricingFeedback_thank’);
var errorDiv = document.querySelector(‘#pricingFeedback_error’);
var submitButton = document.querySelector(‘#pricingFeedback_submit’);
var loadingGifDiv = document.querySelector(‘#loading’);
var stateDefaultOption = document.querySelector(‘#stateDefaultOption’);
var stateDefaultPrompt = document.querySelector(‘#stateDefaultPrompt’);
var offlineStateMain = document.querySelector(‘#offlineStateMain’);
var storeDefaultOption = document.querySelector(‘#storeDefaultOption’);
var storeDefaultPrompt = document.querySelector(‘#storeDefaultPrompt’);
if (thankYouDiv) {
thankYouDiv.innerHTML = ”;
}
if (errorDiv) {
errorDiv.innerHTML = ”;
}
if (loadingGifDiv) {
loadingGifDiv.innerHTML = ”;
}
if (submitButton) {
submitButton.style.display = ‘block’;
}
onlineUrl.value = ”;
onlinePriceRaw.value = ”;
onlineShippingRaw.value = ”;
offlineStoreName.value = ”;
offlineCity.value = ”;
offlineState.value = ”;
offlinePriceRaw.value = ”;
stateDefaultOption.innerHTML = $(“#selectProvince”).val();
stateDefaultPrompt.innerHTML = $(“#selectProvince”).val();
storeDefaultOption.innerHTML = “Enter the store name where you found this product”;
storeDefaultPrompt.innerHTML = “Enter the store name where you found this product”;
setInitialStates(
onlineMonth,
currentMonth,
offlineMonth,
onlineDay,
currentDate,
offlineDay,
onlineYear,
currentYear,
offlineYear,
onlineStoreInputForm,
offlineStoreInputForm,
enableOfflineStoreRadio,
enableOnlineStoreRadio,
onlineCalendar,
offlineCalendar,
offlineStateMain,
offlineState,
note1
);
}
});
Product Description
What Brings FLOW Alive?
Lofree understands the importance of enhancing the typing sensation of low-profile keyboards. Through extensive research, we have discovered that achieving an exceptional typing experience involves the seamless integration of key components like switches, gaskets, and more.
The New-level of Typing
Lofree has revolutionized switches by optimizing fundamental materials and overall structure, setting development standards, establishing parameter guidelines, and implementing a modulation scheme to deliver an unmatched switch feel.
First & Only Kailh Full Pom Switch
The world’s first low-profile switch made entirely of POM material for self-lubrication& smooth feel
Say goodbye to limitations and embrace a keyboard that adapts to your every preference
1 Full Pom Switch 2 Ghost Linear Switch 3 Phantom Tactile Switch 4 Hot Swappable 5 RGB Sidelit & Bcaklit
To Bring Soft & Cushioned
It features smooth switches combined with gasket dampening, providing exceptional typing experience
The Percentage of PBT Content Is More than 85%
It deliver a seamless and enjoyable typing journey. Let your ideas flow freely with every keystroke.
Premium Durability and Sturdiness
The all-aluminum body from top to bottom enjoys the sleek and premium look
Type-C Port Design
Enjoy up to 40 hours of battery life on a single charge for less than 3 hours
With its slim 10mm thickness and 3.9-degree tilt
it reduces wrist pressure and provides a more comfortable typing position for body’s natural posture
1 Gasket Design 2 PBT Low-profile Keycaps 3 All Aluminum Design 4 Fast Charging 5 Ultra Slim for On-the-Go
1 Forbes 2 KnowTechie 3 GBATEMP 4 mmrpg 5 PHANDROID
Specification
Number of Keys
84 (Hot-swappable supported)
Number of Multifunction Keys
16
Materials
Aluminum Alloy Unibody and PBT Keycaps
Dual Mode
Wired and Bluetooth
Battery Life
2000mAh
Working Time
Up to 40 Hours
Compatible System
Windows, MacOS, iOS, Android
Weight
1.25lbs
Sidelit Types
RGB
Backlit Types
White
Charging Port
Type-C
Charging Time
3 Hours
Bluetooth Name
Flow84@Lofree
Bluetooth Operating Distance
15 Meters
Dimensions
12.44*4.96*0.96 inches
Low Profile and Full POM Switch: Indulge in an unparalleled typing experience with Kailh Full POM Switches, the world’s first low-profile switch made entirely of POM material for self-lubrication and an ever-smoother feel over time. Get ready to effortlessly glide through your workday with ease
Gasket Design to Bring Soft & Cushioned: Revolutionize your typing experience with the world’s first gasket-mount low-profile keyboard. Enhanced cushioning and even pressure distribution that the gasket mount brings, help you enjoy a truly sleek, precise, and incredibly comfortable typing experience
All Aluminum Design with Premium Durability: The all-aluminum body from top to bottom enjoys the sleek and premium look that adds a touch of elegance to your desk while benefiting from its unparalleled durability and sturdiness
Hot Swappable Design: Whether you crave satisfying tactile feedback or the smooth, seamless strokes of a linear switch, Lofree Flow allows you to curate your ideal typing sensation. Say goodbye to limitations and embrace a keyboard that adapts to your every preference
RGB Sidelit and Backlit: Whether you’re working late into the night or simply want to create a vibrant ambiance, the RGB sidelit and backlit effects will transform your typing experience into an immersive visual journey
PBT Low-profile Keycaps: These keycaps utilize an advanced dye sublimation process, known as “five-sided dyb-sublimation,” which surpasses ordinary double-shot techniques. This process allows for vibrant and highly detailed patterns to be printed on the keycaps, ensuring a visually appealing and durable keyboard
LOFREE
Author:
Get Updated and Latest Information About This Product Click The BUY NOW Button Below
Customers say
Customers like the keyboard design, feel, and typing experience of the product. They mention it’s lovely, has a slick design, and feels like butter. Some say the typing experience is great and fast. However, some customers are disappointed with the brightness, bluetooth connectivity, and keyboard functionality. Opinions are mixed on the build quality.
AI-generated from the text of customer reviews
The post LOFREE Flow84 Low Profile Mechanical Keyboard, 75 Percent Rechargeable Wireless Keyboards with Bluetooth and Wired Connection for Windows, Mac OS/Black Phantom Tactile Switches appeared first on Brushes Pack.
Get Updated and Latest Information About This Product Click The BUY NOW Button Below
Source link